diff --git a/Db/ecmcPluginDAQ_chX-itmX.template b/Db/ecmcPluginDAQ_chX-itmX.template new file mode 100644 index 0000000..b0ec488 --- /dev/null +++ b/Db/ecmcPluginDAQ_chX-itmX.template @@ -0,0 +1,4 @@ +record(stringin,"$(P)DAQ-${Name}-CH${CH}-${ITEM}-Info") { + field(DESC, "${DESC=empty}") + field(VAL, "${VAL=empty}") +} diff --git a/Db/ecmcPluginDAQ_chX.template b/Db/ecmcPluginDAQ_chX.template new file mode 100644 index 0000000..2d4d55f --- /dev/null +++ b/Db/ecmcPluginDAQ_chX.template @@ -0,0 +1,4 @@ +record(ai,"$(P)DAQ-${Name}-CH${CH}-Type") { + field(DESC, "Channel Type") + field(VAL, "${TYPE=0}") +} diff --git a/scripts/ecmcDAQAddArray.cmd b/scripts/ecmcDAQAddArray.cmd index 2f981b3..28ce8c3 100644 --- a/scripts/ecmcDAQAddArray.cmd +++ b/scripts/ecmcDAQAddArray.cmd @@ -17,3 +17,4 @@ #- Name , Asyn port name ecmcDAQAddArray(${NAME},ECMC.PLUGIN.DAQ.${NAME}) +epicsEnvSet(ECMC_DAQ_CURR_CH,-1) diff --git a/scripts/ecmcDAQAddChannel.cmd b/scripts/ecmcDAQAddChannel.cmd index 3ac0638..3f059e1 100644 --- a/scripts/ecmcDAQAddChannel.cmd +++ b/scripts/ecmcDAQAddChannel.cmd @@ -12,7 +12,11 @@ #- #- Arguments #- TYPE : Type (number of data type) +#- NAME : Name of DAQ array object #- #-################################################################################ ecmcDAQAddChannel(${TYPE}) +epicsEnvSet(ECMC_DAQ_CURR_ITM,-1) +ecmcEpicsEnvSetCalc("ECMC_DAQ_CURR_CH" ,${ECMC_DAQ_CURR_CH=-1}+1,"%02d") +dbLoadRecords(ecmcPluginDAQ_chX.template,"P=${ECMC_PREFIX},Name=${NAME},PORT=ECMC.PLUGIN.DAQ.${NAME},CH=${ECMC_DAQ_CURR_CH=00},TYPE=${TYPE=0}") diff --git a/scripts/ecmcDAQAddDataItem.cmd b/scripts/ecmcDAQAddDataItem.cmd index 50eef3a..105eda5 100644 --- a/scripts/ecmcDAQAddDataItem.cmd +++ b/scripts/ecmcDAQAddDataItem.cmd @@ -20,7 +20,10 @@ #- The calculated time then would correspond to the first data in the array recived.\n"); #- 3 = time_ns_minus_period : Time: Raw value minus one period.\n"); #- SEND_OLD : 1 = Send one element old data (for scalars from last cycle, for arrays shift one element), defaults to 0 (send fresh data) +#- NAME : Name of DAQ array object #- #-################################################################################ ecmcDAQAddItem(${PARAM},${FORMAT=0},${SEND_OLD=0}) +ecmcEpicsEnvSetCalc("ECMC_DAQ_CURR_ITM" ,${ECMC_DAQ_CURR_ITM=-1}+1,"%02d") +dbLoadRecords(ecmcPluginDAQ_chX-itmX.template,"P=${ECMC_PREFIX},Name=${NAME},PORT=ECMC.PLUGIN.DAQ.${NAME},CH=${ECMC_DAQ_CURR_CH=00},ITEM=${ECMC_DAQ_CURR_ITM=00},VAL=${PARAM=empty},DESC='FORMAT=${FORMAT=0},SEND_OLD=${SEND_OLD=0}'") diff --git a/scripts/ecmcDAQFinalizeArray.cmd b/scripts/ecmcDAQFinalizeArray.cmd index d6b04f1..7480e04 100644 --- a/scripts/ecmcDAQFinalizeArray.cmd +++ b/scripts/ecmcDAQFinalizeArray.cmd @@ -26,3 +26,5 @@ ecmcEndIf() dbLoadRecords(ecmcPluginDAQ.template,"P=${ECMC_PREFIX},Name=${NAME},NELM=${DAQ_NELM},PORT=ECMC.PLUGIN.DAQ.${NAME}") epicsEnvUnset(DAQ_NELM) +epicsEnvUnset(ECMC_DAQ_CURR_CH) +epicsEnvUnset(ECMC_DAQ_CURR_ITM)