7 Commits
0.1.0 ... 1.0.0

Author SHA1 Message Date
a462e343e7 Use ecmc 9.4.0 2024-03-20 10:18:07 +01:00
6bff05682f Update test script 2024-03-20 10:17:29 +01:00
51a9651e9f skip cleanup at exit 2024-03-14 09:10:50 +01:00
4cdee34ceb Add channel and modify types 2024-03-13 16:53:45 +01:00
84b7e52409 Add data to readme 2024-03-08 17:08:18 +01:00
2f7d80f680 Add comment to test script 2024-03-08 16:56:11 +01:00
85e55105f7 Add testscript to edwin 2024-03-08 16:53:42 +01:00
4 changed files with 115 additions and 2 deletions

View File

@@ -16,7 +16,7 @@ OPT_CXXFLAGS_YES = -O3
# dependencies
ECmasterECMC_VERSION = v1.1.0
ecmc_VERSION = 9.1.0
ecmc_VERSION = 9.4.0
BASE_DIR = .
SRC_DIR = $(BASE_DIR)/src

View File

@@ -168,4 +168,15 @@ Array data "Testing2":
```
caget -t c6025a:DAQ-Testing2-DataAct
14:21:22.652988 c6025a:DAQ-Testing2-Data-Act 2 2092191543 1234 10 6 -1 4321 16 5 -1 4293967 0 0 0 0 0 4293967 0 0 0 0
```
```
# Some data
```
camon -t c6025a:DAQ-ToEdwin-DataAct
16:54:32.812939 c6025a:DAQ-ToEdwin-DataAct 6 4194379137 1 26 1 -1 2 27 1 -1 3 28 1 -1 1100 29 102 -1 4 131 2 -1 1050 133 52 -1 0 0 0 4194377117 4194378117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4194376067 4194377067 -316 -285 -499 -578 -400 -414 -313 -390 -365 -408 -545 -448 -188 -482 -445 -364 -398 -261 -310 -450 -229 -227 -563 -319 -335 -326 -490 -240 -307 -513 -448 -435 -582 -394 -298 -242 -539 -449 -492 -443 -377 -143 -299 -484 -515 -370 -422 -636 -547 -288
16:54:32.813945 c6025a:DAQ-ToEdwin-DataAct 6 4194380144 1 26 1 -1 2 27 1 -1 3 28 1 -1 1100 29 102 -1 4 131 2 -1 1050 133 52 -1 0 0 0 4194378117 4194379117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4194377067 4194378067 -344 -364 -685 -532 -328 -527 -483 -386 -346 -528 -340 -437 -323 -453 -382 -525 -629 -475 -466 -577 -516 -550 -451 -326 -273 -308 -535 -269 -413 -465 -297 -340 -480 -443 -280 -469 -523 -555 -630 -412 -350 -411 -591 -548 -580 -466 -238 -265 -321 -394
16:54:32.814938 c6025a:DAQ-ToEdwin-DataAct 6 4194381137 1 26 1 -1 2 27 1 -1 3 28 1 -1 1100 29 102 -1 4 131 2 -1 1050 133 52 -1 0 0 0 4194379117 4194380117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4194378067 4194379067 -417 -219 -286 -338 -338 -270 -214 -409 -481 -423 -488 -565 -359 -544 -423 -190 -236 -487 -633 -488 -468 -336 -556 -505 -232 -257 -463 -464 -382 -480 -215 -420 -548 -467 -335 -330 -406 -337 -278 -361 -511 -509 -588 -376 -315 -399 -448 -512 -602 -778
16:54:32.815937 c6025a:DAQ-ToEdwin-DataAct 6 4194382136 1 26 1 -1 2 27 1 -1 3 28 1 -1 1100 29 102 -1 4 131 2 -1 1050 133 52 -1 0 0 0 4194380117 4194381117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4194379067 4194380067 -586 -383 -404 -641 -533 -296 -208 -416 -525 -314 -379 -362 -468 -491 -483 -503 -471 -513 -462 -482 -690 -483 -368 -294 -400 -452 -452 -456 -246 -371 -353 -395 -330 -554 -317 -204 -375 -361 -545 -580 -396 -493 -415 -349 -484 -252 -311 -573 -432 -289
16:54:32.816939 c6025a:DAQ-ToEdwin-DataAct 6 4194383137 1 26 1 -1 2 27 1 -1 3 28 1 -1 1100 29 102 -1 4 131 2 -1 1050 133 52 -1 0 0 0 4194381117 4194382117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4194380067 4194381067 -358 -237 -197 -450 -430 -279 -448 -518 -490 -213 -202 -248 -300 -418 -344 -595 -658 -525 -302 -262 -353 -328 -401 -360 -478 -460 -364 -549 -522 -342 -410 -472 -444 -459 -338 -321 -344 -313 -423 -445 -427 -560 -470 -298 -341 -190 -339 -374 -536 -494
```

99
iocsh/edwin_test.script Normal file
View File

@@ -0,0 +1,99 @@
##############################################################################
## test config for ecmc_plugin_daq
##
epicsEnvSet(IOC,c6025a)
require ecmccfg "ENG_MODE=1"
##############################################################################
## Configure hardware
#- 0 0:0 PREOP + EK1100 EtherCAT-Koppler (2A E-Bus)
#- 1 0:1 PREOP + EL5021 1Ch. Sin/Cos Encoder
#- 2 0:2 PREOP + EL5112 2Ch. Inc. Encoder 5V (2xAB or 1xABC RS422,TTL)
#- 3 0:3 PREOP + EL5042 2Ch. BiSS-C Encoder
#- 4 0:4 PREOP + EL5101-0011 1K. Inc. Encoder 5V (20 Mio. Inkremente/s, oversamp
#- 5 0:5 PREOP + EL9505 Netzteilklemme 5V
#- 6 0:6 PREOP + EL1252-0050 2K. Fast Dig. Eingang 5V, 1<>s, DC Latch
#- 7 0:7 PREOP + ELM3602-0002 2Ch. IEPE Sensor, 24 bit, high precision
require ecmccomp
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EK1100"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5021"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5112_ABC_DC64"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5042"
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-BISS-C,CH_ID=1"
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Encoder-RLS-LA11-26bit-SSI,CH_ID=2"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL5101-0011,NELM=100"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL9505"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=EL1252"
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "HW_DESC=ELM3602-0002,NELM=50"
#- Ch1 +-10v
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8000,0x1,97,2)"
#- Ch2 +-10v
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x1,97,2)"
#Apply hardware configuration
ecmcConfigOrDie "Cfg.EcApplyConfig(1)"
##############################################################################
## Load and configure daq plugin
require ecmc_plugin_daq "PLUGIN_ID=0"
epicsEnvSet(NAME,ToEdwin) # PREFIX:DAQ-ToEdwin-DataAct
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddArray.cmd, "NAME=${NAME}"
#- EL5021: Incremental sin/cos 1vpp
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=10"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s1.positionActual01"
#- EL5112: Incremental (treat as array, but same timestamp twice, the second actualy not used)
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=1001"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s2.timestamp01, FORMAT=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s2.timestamp01, FORMAT=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s2.positionActual01"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=11"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s2.positionActual01"
#- EL5042: BISS-C ch 01
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=12"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s3.positionActual01"
#- EL5101-0011: Incremental oversampling
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=1000"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s4.nextSyncTime, FORMAT=2"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s4.nextSyncTime, FORMAT=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s4.mm.positionActualArray01"
#- EL1252-0050: timestamped input ch 01
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s6.timestampLatchPositive01 ,FORMAT=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s6.timestampLatchNegative01 ,FORMAT=1"
#- ELM3602-0002: Analog input ch 01
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd, "TYPE=1000"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s7.timestamp01, FORMAT=2"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s7.timestamp01, FORMAT=1"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd, "PARAM=ec0.s7.mm.analogInputArray01"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQFinalizeArray.cmd "NAME=${NAME}"
#- To check result use camon -t c6025a:DAQ-ToEdwin-DataAct
##############################################################################
## Configure diagnostics:
#
ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)"
ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)"
ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)"
##############################################################################
## go active
#
$(SCRIPTEXEC) ($(ecmccfg_DIR)setAppMode.cmd)

View File

@@ -104,6 +104,9 @@ int createDAQItem(const char* name, int type) {
}
void deleteAllDAQs() {
return; // The delete process results in seg fault.. need to investigate..
for(std::vector<ecmcDAQDataArray*>::iterator pDAQArray = arrays.begin(); pDAQArray != arrays.end(); ++pDAQArray) {
if(*pDAQArray) {
delete (*pDAQArray);