Can I Guarantee a Certain Output from my cDAQ if Connection is lost?

Updated Oct 6, 2019

Reported In

Hardware

  • cDAQ-9188
  • cDAQ-9178
  • Ethernet Cable

Software

  • LabVIEW

Driver

  • NI-DAQmx

Issue Details

I have an ethernet cDAQ which I am using to control some critical equipment by outputting a voltage level from a digital output module. What would happen if the ethernet connection (or USB connection if it is a USB cDAQ) is lost? Would I be able to guarantee a certain output after the connection is lost using a hardware buffered output with a last sample value of 0V for example? (to safely shut down the critical system in case of connection loss)

Solution

The general answer to this is: using this specific hardware, no, because ethernet cDAQs or USB cDAQs typically can not have a deterministic or reliable behavior upon situations like connection loss. You cannot program such kinds of cDAQs to behave in a specific way or output a specific value in case such a problem occurs, as they are not programmable standalone devices, and they rely on commands from a PC to generate certain outputs. Hence, a connection to the host PC is required. Also, the way ethernet or USB sends the buffered data in packets is somewhat random and not always going to be deterministic. This is why, a specific output can not always be guaranteed.

Please refer to the "Additional Information" section below, for information on some exceptions for certain cDAQ devices, as well as suggestions for alternative devices to use.

Additional Information

Unlike most typical cDAQ devices, there are some cDAQ devices which are capable of outputting a default value in case the connection to the cDAQ is lost. This is done using a watchdog in DAQmx which continuously monitors if the connection is lost or not, and in case the connection is lost, a predefined default value will be outputted from the device or module.
An example of a cDAQ which supports this feature is the cDAQ 9188XT, and this is also shown in the cDAQ 9188XT User Manual . The cDAQ 9188, however, does not have this functionality. The Watchdog timer is included in the NI-DAQmx API for the cDAQ-9185, cDAQ-9189, NI X Series DAQ boards, and several industrial digital I/O (DIO) boards.

Other device options to use for such scenarios are RTOS standalone devices, such as some cDAQ controllers, or cRIO, which are meant for applications where reliability and determinism are a concern and can guarantee certain outputs and behaviors in such circumstances. This is because they can be programmed to behave in a certain way, and without having to be connected to a PC. Hence, connection loss would not be a concern in that case.