Theory of Operation–LabVIEW


Danlaw MxVDev integrates with LabVIEW utilizing the MxNet networking infrastructure, which consists of a high-speed data streaming and queuing mechanism. A set of custom LabVIEW VIs with an API implements the MxNet protocol over UDP/IP and provides I/O device and channel enumeration and data transition scheduling for LabVIEW.  A complementary signal transform (inserted into the MxTransIt transform graph) enumerates and  provides access to the LabVIEW I/O from MxVDev. Data transitions are then received by, queued, and executed on the LabVIEW system via the MxNet dispatcher (protocol machine).

MxNet employs a reliable positive-acknowledgment UDP-based protocol designed for use on a high-bandwidth LAN. For production use, it is recommended that a dedicated and isolated physical network connection be used to connect the system running MxVDev with the system running the LabVIEW VIs, because it is ideal to promoting real-time behavior and avoiding performance degradation from a corporate network.

The MxNet protocol works by time-shifting the time-stamps of data transitions into the future so that they are queued up for execution by the LabVIEW environment relative to the LabVIEW clock.  This transformation of time provides a real-time buffer between the PC clock and the LabVIEW system clock, and enacts “glitchless” execution of the test-case waveforms, thus overcoming the inherit lack of real-time capabilities of Windows.

The VIs are organized into two sets:

A set of low-level API calls that can be used to integrate with a highly customized LabVIEW testing solution.

A set of high-level, turn-key, example VIs that create a functional hardware-in-the-loop tester with minimal configuration and modifications. For example, if CAN hardware is present, the CAN configuration must be updated.

These sets of VIs implement back end HIL tester functionality that MxTransIt connector transforms for LabVIEW communicate with (via the MxNet protocol).  They expose the available hardware device and I/O channels to MxVDev.

LabVIEW on Windows

To achieve real-time performance, LabVIEW Real-Time is required, but LabVIEW on Windows is also supported. You can run both MxVDev and LabVIEW simultaneously on one computer, or share the load with MxVDev on one computer, and LabVIEW on another. You can use the same VIs as for the Real-Time system. When you connect to them, instead of a remote IP address, use the IP address of your local machine or 'localhost'. Some things could be removed, for example you might not need Tasks that Send or Receive CAN messages.

Troubleshooting LabVIEW

If you get this error: "Time structures aren’t allowed in time critical VIs" for a VI, go to ‘VI properties’ and change ‘Execution Properties’ priority to ‘normal priority’.

hmtoggle_plus1LabVIEW System (VIs)
hmtoggle_plus1MxNet Transforms
hmtoggle_plus1Achieving Real-Time Performance
hmtoggle_plus1MxNet Packets
hmtoggle_plus1Upgrading to a New Release of the MxSuite
hmtoggle_plus1Compatibility with NI-XNET


Related Topics:

Connecting a Sub-System

CCP Reference