Efficiently design your system in a collaborative environment with LabVIEW by embracing your team’s software language competencies to complete the task with the right tool. LabVIEW provides interfaces for different team members working in different environments to productively collaborate.
Communicate With External Systems Through Standard Industrial Protocols
LabVIEW has both general and industry-specific peripheral communications libraries for Ethernet and serial-based communications. With native support for common industrial protocols such as CAN, PROFINET, OPC UA, and EtherCAT, LabVIEW can connect to a variety of devices, equipment, and infrastructure. If you have a brownfield application that requires support for numerous protocols, LabVIEW can act as a gateway translating between any of the nearly 20 supported protocols, including industry-specific protocols such as DNP3 and FlexRay .
With access in LabVIEW to program an FPGA, you can even efficiently build custom communication protocols for legacy or proprietary communication needs. LabVIEW FPGA includes digital bus protocol code examples as starting points such as serial, I2C, and SPI to build on top of as well as FPGA IP core for high-speed serial protocols such as Xilinx Aurora, Serial RapidIO, JESD204B, and 10 Gigabit Ethernet. Learn more about industrial protocol hardware products that you can seamlessly connect to with LabVIEW.
Developing C/C++ Applications
Many teams have existing, familiar development environments and toolchains that can coexist and interoperate with LabVIEW-built systems. For example, for the NI Linux Real-Time targets, developers can develop, debug, and deploy applications to the embedded processor written entirely in C or C++ using Eclipse or another preferred integrated development environment (IDE) and interface with LabVIEW applications.
Learn more about C/C++ real-time application codevelopment options alongside LabVIEW
Figure 3: Program the embedded processor with LabVIEW or any Linux-compatible tools and use the NI reconfigurable I/O (RIO) driver to communicate with LabVIEW FPGA.
Interface With the IEC 61131-3 Industrial Automation Standard
IEC 61131-3 is an international standard that defines software architectures and programming languages for programmable logic controllers (PLCs) such as Ladder Logic and Structured Text. The LabVIEW 2017 FPGA IEC 61131-3 Interface Utility allows industrial automation code defined by this standard to interface with the FPGA fabric on NI Linux Real-Time devices through the 3S CODESYS IDE. This enables collaboration between design and maintenance teams through a standard, familiar interface that facilitates code reuse and debugging tasks.
Learn more about interfacing with the IEC 61131-3 industrial automation standard
Figure 4: The IEC 61131-3 Interface Utility allows interfacing NI FPGAs through the CODESYS IDE.
Interface FPGAs With Python
Python is a high-level, interpreted scripting language mainly used in scientific computing that provides a vast collection of libraries for text processing, web frameworks, network communications, and more. The FPGA Interface Python API allows you to use Python to interface with LabVIEW FPGA code on NI hardware targets. The FPGA Interface Python API is compatible with both Windows and Linux development systems as well as NI Linux Real-Time deployment targets.
Learn more about interfacing FPGAs with Python
Figure 5: The FPGA Interface Python API allows interfacing NI FPGAs through Python.