Timing of the Action Modules
DASYLab Full and Pro
The Action module is block based. Only one Action will be released per block, unlike the Trigger module which may release several triggers in a block. When the action is asynchronous, there will be a time delay between the recognition of the event (in one block) and the release of the action (in the next block). This is the most common use of the Action module.
Synchronous actions resolve this time delay, because the action will be released in the same block as the event is recognized. The number of synchronous actions is limited to 16 per worksheet, because they consume a lot of calculation time. Not all actions can be synchronized, either by their nature, or because the event data stream and the action receiver data stream are not synchronous. Only one synchronized action will be processed per block, even if there are multiple events in the block.
For example, use synchronous actions to print visualized data in real-time. The synchronization is like an additional invisible data channel which uses computing time even when DASYLab is not executing an action. If the position within the data block is crucial for a synchronous event, such as resetting, the action always refers to the beginning of the datablock.
The Action module is event driven which means that the order of the channels is not necessarily the order in which the actions are released. If you try to release two actions on the same event, it could be possible that the order is not the order you want. You either need to define two distinct events in your application or you have to use the 'notify' or 'message' option. Configure the Action module to increment a global variable after an action was performed. You can use the change of this variable as the event for the next action.