Communication Between VIs or Executable from LabVIEW NXG and LabVIEW

Updated Feb 27, 2020

Reported In

Software

  • LabVIEW
  • LabVIEW NXG

Issue Details

I want to develop an application in LabVIEW NXG that involves features that are not yet implemented. I can run VIs or built executables from LabVIEW and LabVIEW NXG in parallel, but I don't know how to communicate between them so that I can transfer data from LabVIEW to LabVIEW NXG.

Solution

Working with VIs

You can use the VI Interop node. This node communicates with the LabVIEW VI using the Connector Pane inputs and outputs, just as if it was a sub VI. Refer to VI Interop in the LabVIEW NXG Manual for more information about how to use the node and what its limitations are.

Working with Executables

If you intend to work with executables instead of VIs, you can use Shared Variable, Network Streams, TCP or UDP communication to transfer data between them. Refer to the Related Links section or the LabVIEW NXG Manual for more information about how to use these communication methods.

Additional Information

You can use the System Exec node in LabVIEW NXG or the System Exec VI in LabVIEW to call external executables. If you are planning to work with executables and don't want to manually run both, you can define one as the caller and use the corresponding function to call the other executable.