The DAQ plugin is used for deterministic, synchronized acquisition of runtime values into array buffers.
Use it when:
The DAQ plugin follows the normal plugin load model described in Plugin Interface.
In practice, DAQ setups usually have two layers:
Typical helper entry points are:
ecmcDAQAddArray.cmdecmcDAQAddChannel.cmdecmcDAQAddDataItem.cmdecmcDAQFinalizeArray.cmdThese helpers belong to the DAQ plugin package rather than to core ecmccfg.
The plugin README and helper scripts verify the following object model:
Array: top-level acquisition objectChannel: logical sub-block inside one arrayDataItem: one runtime source inside one channelThe first elements of the final waveform contain a header describing channel count, EtherCAT time, and per-channel metadata.
The plugin README uses this load style:
require ecmc_plugin_daq sandst_a "PLUGIN_ID=0"
Then the helper scripts build the DAQ object tree:
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddArray.cmd "NAME=TestArray01"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddChannel.cmd "TYPE=1234,NAME=TestArray01"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQAddDataItem.cmd "PARAM=ax1.setpos,NAME=TestArray01"
${SCRIPTEXEC} ${ecmc_plugin_daq_DIR}ecmcDAQFinalizeArray.cmd "NAME=TestArray01"
Verified helper-script parameters:
ecmcDAQAddArray.cmdNAMEecmcDAQAddChannel.cmdTYPENAMEDESCecmcDAQAddDataItem.cmdPARAMFORMATSEND_OLDNAMEecmcDAQFinalizeArray.cmdNAMEDATA_FLNKVerified FORMAT values:
0: raw1: time in microseconds2: time in microseconds minus one period3: time in nanoseconds minus one periodThe helper scripts also verify the asyn naming model:
ECMC.PLUGIN.DAQ.<NAME>And the finalizer loads:
ecmcPluginDAQ.templateecmcPluginDAQ_chX.templateecmcPluginDAQ_chX-itmX.templatePrefer the DAQ plugin when:
Prefer core data storage when:
The normal setup flow is:
The normal waveform record loaded by the finalizer is:
$(IOC):DAQ-<NAME>-DataActUse the DAQ plugin for acquisition structure and synchronization, not as a replacement for:
For those simpler cases, normal EPICS records or data storage are usually easier.