Considerations With NI-DAQmx Simulated Devices

Updated Aug 24, 2020

Environment

Software

  • LabVIEW
  • Measurement & Automation Explorer (MAX)

Driver

  • NI-DAQmx

Operating System

  • Windows

If you want to understand functionality and test hardware capabilities without the hardware being physically present, a simulated NI-DAQmx device can replicate similar properties of the device. The purpose of simulated devices is to offer the possibility to start programming without hardware, check the syntax of the program and verify that written data meets specifications of the board. 

However, there are some limitations on the usage of these simulated devices, in comparison to real physical devices. Below are a few captured:

Reading Data
  • All simulated devices return analog input data in the form of a full-scale sine wave with three percent of full-scale noise.
  • When multiple channels are in the task, the data for each channel is offset slightly in time.
  • Digital data is returned as if each 8-bit port were counting up.
  • Counter data is always returned as 0.
  • Simulated devices do not simulate timing, data is always immediately available for reading.
  • It is not possible to read back the data you write to the output lines, as that data is not kept anywhere in memory (data returned will be as described above). There is no way to get feedback about the signals you write to the output lines, besides an error if the value is not within limits.
  • NI-DAQmx simulated devices create a noisy sine wave for all analog input channels. Configuration of other simulated data is not available at this time.
  • Simulated devices will not detect Error -200078, which is caused by an analog input task attempting to use a counter at the beginning of its acquisition when the counter is already in use. This is due to the error being generated by hardware, not the DAQmx Task State Model.

Writing Data
  • Other than verifying the data is within limits, the data written to an NI-DAQmx simulated device has no restrictions.

Timing and Triggering
  • Simulated timing
    • Created in NI-DAQmx 7.4 - 8.1 do not simulate timing. Task reads and writes will be return immediately
    • Created in NI-DAQmx 8.3 and later do simulate timing.  Task read and write operations will simulate the actual time they would take to complete as if they were being run on a physical device. 
  • Do not simulate triggering.  Triggers will return immediately.
  • Watchdog timers never expire.
  • Do not support events that rely on the hardware, such as a sample clock event
  • Clocks cannot be used as external timing sources for other tasks
  • Timing is not simulated for counter tasks.

Other Operations
  • Operations such as self-test, calibration, and reset always succeed.
  • Data that is normally stored on the physical device, such as serial number, is always returned as 0.
  • Simulated devices cannot be included in the same task with physical devices.
 ​