Data Acquisition (DAQ) and Control from Microstar Laboratories

Optimizing DAP Performance

data acquisition filtering data acquisition software channel architecture enclosures services

The following simple tips can improve your DAPL code to make your programs run faster and increase throughput.

Use binary pipes rather than text pipes.
Send data between the DAP to the host PC via the binary pipe $BinOut rather than via the text pipe $SysOut. Sending a sample to the host PC via the binary pipe requires fewer bytes, thus you increase your transfer rates by switching from $SysOut to $BinOut. If you use the Format command, consider using Bprint instead.
Avoid unnecessary computations.
If you reduce data with the Skip command or an Average, perform the reduction before other computations, rather than afterwards. Performing the reduction early means you do not waste computation time on data to be decimated.
Avoid using Flags unless absolutely necessary.
If you use MergeF to send data to the host PC you double the number of bytes sent per sample. Use MergeF only when you do not know the data rate of the different tasks. If you have multiple tasks with different, but known, data rates, send the data back to the host PC with Nmerge.
Use blocks whenever possible.
If you send data back to the host PC, Bmerge provides an efficient way to multiplex the data. By allowing the DAP processor to transfer blocks, you reduce system overhead and increase throughput.
Use channel lists to reduce the number of tasks.
If you perform the same operation on multiple input channels, consider using channel lists. The task reading the channel list treats the channel list as one pipe. The data then leaves the task in a multiplexed format, perfect for sending to the host PC. Note: only DAPL 2000 supports channel lists.


Go back to the Technical Support Center.