1. Industrial Communications Platforms
This table shows the complete spread of NI industrial communications products and their platforms:
|Protocol||PXI and PXIe Platforms||PCs||CompactRIO Platform||Other|
|FOUNDATION Fieldbus||√||Includes PCMCIA and USB|
|Modbus Serial and TCP||√||√||√|
Below is a brief summary of each protocol and the related NI software and hardware product offerings.
2. Modbus TCP and Modbus Serial
Modbus TCP and Modbus Serial are two of the most commonly used industrial protocols on the market. The LabVIEW Real-Time and LabVIEW Datalogging and Supervisory Control (DSC) Modules allow you to create a Modbus TCP or Modbus Serial I/O server through a graphical configuration assistant. With just a few clicks of the mouse, you can create a Modbus master or slave and specify the different registers to read and write.
Figure 1. Create a Modbus I/O server using the LabVIEW Real-Time or LabVIEW DSC Modules.
In LabVIEW 2014 and later, this functionality is extended with the inclusion of Modbus VIs for you to establish Modbus communication in LabVIEW. The new Modbus palette, available on the Data Communication palette, provides VIs to control the requests that Modbus masters generate, determine when to send these requests, and operate on the responses that Modbus slaves send.
Figure 2. The LabVIEW Modbus Library provides low-level functions for greater flexibility and performance.
For more information on differences between Modbus I/O servers and Modbus VIs, review the LabVIEW help topic on Choosing Between Modbus I/O Servers and Modbus VIs.
Modbus Serial and TCP based communications are also available as a Third-Party Add-On on the LabVIEW Tools Network, titled ModBusVIEW over TCP.
3. OPC Data Access (DA)
OPC DA is a standard interface defined by the OPC Foundation that allows communication between numerous data sources, including devices on a factory floor, laboratory equipment, test system fixtures, and databases. Most suppliers of industrial data acquisition and control devices, such as Programmable Logic Controllers (PLCs) and Programmable Automation Controllers (PACs), work with the OPC Foundation standard. LabVIEW allows developers to integrate with OPC systems as well. You can connect both OPC clients and servers to LabVIEW applications to share data.
The Datalogging and Supervisory Control (DSC) Module provides OPC Client I/O servers that can communicate with any server implementing the OPC Foundation OPC server interface through the OPC DA standard. When LabVIEW acts as an OPC server it uses the Shared Variable Engine (SVE) to create OPC tags out of networks-published shared variables that an OPC DA client can connect to. This allows LabVIEW VIs to easily communicate with other OPC client software.
Figure 3. LabVIEW can connect to both OPC clients and servers to share data.
Additionally, National Instruments provides an OPC Server solution with NI OPC Servers that contains a list of drivers for many of the industry’s PLCs. For a list of supported PLCs, refer to the NI Developer Zone article Supported Device & Driver Plug-in List for NI-OPC Server.
Figure 4. OPC servers allow connectivity to hundreds of third-party PLCs.
To know more about OPC connectivity, please visit ni.com/opc.
4. OPC Unified Architecture (UA)
OPC UA is a new communication technology standard which was first released by the OPC Foundation in 2006 as an improvement upon its predecessor, Classic OPC. OPC UA includes all of the functionality found in Classic OPC. This is done by bringing together the different specifications of Classic OPC into a single entry point to a system offering current data access, alarms and events, combined with the history of both. Furthermore, OPC UA is based on a cross-platform, business-optimized Service-Oriented Architecture (SOA), which expands on the security and functionality found in Classic OPC, instead of the Microsoft-based COM/DCOM technology.
The LabVIEW Datalogging and Supervisory Control (DSC) Module and the LabVIEW Real-Time (Real-Time) Module include the OPC UA VIs for exchanging data between OPC UA servers and clients and for creating certificates that protect data. You need the DSC Module to use the OPC UA VIs on Windows targets, and you need the Real-Time Module to use the OPC UA VIs on LabVIEW Real-Time targets.
Figure 5. The OPC UA VIs support both non-secure connections and secure connections between an OPC UA server and an OPC UA client.
To know more about the OPC UA standard, please read the white-paper Why OPC UA Matters.
PROFIBUS is an industrial RS485 serial protocol that was originally developed in Europe and has now become one of the world’s most popular types of fieldbus. With more than 20,000,000 installed nodes, PROFIBUS is the communication standard for Siemens Automation PLCs, smart sensors, actuators, and I/O. There are two variations of PROFIBUS: the more commonly used DP (Distributed Peripherals), which NI supports, and the lesser used PA (Process Automation).
Figure 6. NI offers PCI, PXI and CompactRIO PROFIBUS DP interfaces for master and slave support.
NI PROFIBUS PCI, PXI, and CompactRIO one-port interfaces connect PC-based controllers to PROFIBUS industrial networks as powerful masters or slaves. NI PROFIBUS interfaces include a stand-alone configurator and an NI LabVIEW driver for human machine interface (HMI) and SCADA applications. You can perform PROFIBUS device automated test using these interfaces. The programming API works with LabVIEW and LabVIEW Real-Time Module, and includes pre-made examples.
EtherCAT (Ethernet for Control Automation Technology) is a high-performance, industrial communication protocol for deterministic Ethernet, popularly known in Europe. Published as part of the IEC 61158, this open standard implements a master and slave architecture daisy chained over standard Ethernet cabling, typically in a line topology. As a control bus, it focuses on deterministic, high-speed I/O for single-point applications, such as machine control and motion.
National Instruments offers both master and slave devices that are compatible with the EtherCAT standard. For the master controller, you can use NI real-time PACs with dual Ethernet ports on the NI CompactRIO, PXI, and industrial controller platforms. NI also provides the world’s first EtherCAT slave with field-programmable gate array (FPGA) intelligence, the 8-slot NI 9144 chassis for C Series I/O modules. These slaves can be integrated with both National Instruments' real-time controllers, as well as third party EtherCAT masters.
Figure 7. The CompactRIO controller connects with the NI 9144 modular EtherCAT slave chassis.
To program the NI master controller, LabVIEW Real-Time accesses the slaves’ physical channels with the simple click-and-drag I/O variable. You can also use the LabVIEW FPGA Module to program logic on the FPGA of the NI 9144 chassis, allowing you to reduce response time by making decisions at the node. Plus, these intelligent distributed devices can offload processing from the controller with onboard analysis, custom timing, and signal manipulation before sending the results back to the master. One of the advantages that LabVIEW provides is the ability to programmatically discover and access both slave devices and their attached modules through the use of the programmatic shared variable API. This ability was added in LabVIEW 2010, and is discussed in the help documentation for IO and PSP Variables. A full tutorial on programmatic EtherCAT discovery is covered by KnowledgeBase 5P1FIB7F: How Can I Programmatically Discover and Access EtherCAT I/O Items?
Figure 8. LabVIEW provides easy graphical programming tools for the NI EtherCAT master controller and the NI 9144 FPGA chip.
EtherNet/IP is also a real-time Ethernet protocol, managed by the Open DeviceNet Vendors Association (ODVA) and commonly found in Rockwell Automation (Allen-Bradley) PLCs. It communicates over standard Ethernet using TCP/IP and UDP/IP using a master (scanner) and slave (adapter) network architecture.
For connectivity with LabVIEW, NI offers the NI-Industrial Communications for EtherNet/IP driver. The driver is supported in LabVIEW running on Windows (such as desktop PCs), as well as all NI LabVIEW Real-Time systems (such as PXI, CompactRIO, and vision controllers). Installing the software onto your controller of choice provides you with LabVIEW functions for both explicit messaging and adapter communication. LabVIEW can use explicit messaging to read from and write to tags on a PLC supported by RSLogix 5000 and RSLogix 500. The adapter communication allows LabVIEW to function as a slave (adapter), providing implicit I/O data to a remote PLC.
Figure 9. The EtherNet/IP Driver for Industrial Communication provides explicit messaging and adapter communication from LabVIEW.
DeviceNet is another, more mature industrial protocol that ODVA manages, and is commonly found in Rockwell Automation (Allen-Bradley) PLCs. Unlike Ethernet/IP, which is based on the Ethernet physical layer, DeviceNet is based on the CAN physical layer and increases strength and interconnectivity by specifying various parameters, such as the required cable length, connectors, and baud rates.
NI offers two interface platforms, DeviceNet for Control and DeviceNet for Test. DeviceNet for Control provides PCI and PXI master (scanner) interfaces designed to easily manage and control a network full of DeviceNet slaves. Included with these interfaces is the NI-Industrial Communications for DeviceNet software, which offers a high-level API that supports drag-and-drop I/O variables and explicit messaging function blocks. DeviceNet for Test interfaces for PCI, PXI, and PCMCIA have master (scanner) and slave (adapter) support, best used for testing DeviceNet products. The included software consists of a configurator, analyzer, and the NI-DNET driver, which provides low-level functions for creating custom DeviceNet applications.
Figure 10. The NI plug-in DeviceNet interfaces are designed for both control and test applications.
CANopen is a higher-level protocol also based on the CAN physical layer and was developed as a standardized embedded network with highly flexible configuration capabilities. Originally designed for motion control applications, the CANopen protocol is common in many industry segments including medical equipment, off-road vehicles, public transportation, and building automation.
For CANopen master functionality, National Instruments provides a few products. First, the NI-Industrial Communications for CANopen driver for Windows and LabVIEW Real-Time provides users the ability to interact with NI CANopen interface offerings, starting with the PCI-8531, PXI-8531, and NI 9881 for the CompactRIO. Each module includes a 1-port CANopen interface (up to 1Mbit/s) and can transmit and receive process data objects (PDO) and service data objects (SDO) according to CiA-DS 301. The driver software includes a batch SDO editor and LSS services support for slave node configuration, as well as network management, heartbeat and node guarding, emergencies, and synchronization objects. The driver also supports importing electronic data sheet (EDS) files, so you can access the device object dictionaries easily.
Figure 11. The NI-Industrial Communications for CANopen LabVIEW Driver consists of a wide variety of functions for master applications, and is recommended for new development.
While the NI-Industrial Communications for CANopen Driver is recommended for all new development, NI also offers the CANopen LabVIEW Library, which provides some of the same functionality for use with legacy NI-CAN hardware. As of XNET 1.3, the NI-CAN Compatibility layer for NI-XNET allows for the use of this library with NI-XNET devices.
DNP3 (Distributed Network Protocol) was developed by GE Harris to create a protocol specification for vendors of power grid SCADA (Supervisory Control and Data Acquisition) components to standardize on. Since 1993, this open and public protocol has been managed by the DNP3 Users Group. DNP3 is commonly used in North American electric and water utilities for communication between SCADA masters and outstations like Remote Terminal Units (RTUs).
NI offers the NI-Industrial Communications for DNP3 software driver to program NI LabVIEW targets as DNP3 outstation devices with advanced functionality, such as power quality monitoring, phasor measurements, and other smart grid-related analysis. These functions can be programmed on Windows computers for development and then deployed on NI real-time controllers such as CompactRIO, Single-board RIO, PXI, and PXIe for field applications. The DNP3 software driver supports Ethernet communication, file transfer, and time synchronization between master and outstation. Also, multiple communication channels per outstation and multiple sessions (logical devices) per channel may be used.
Figure 12. The NI-IndCom for DNP3 driver consists of a wide variety of functions for outstation applications.
11. FOUNDATION Fieldbus
FOUNDATION Fieldbus is an all-digital, serial, two-way communication protocol commonly used in process automation. It uses a system of distributed control with intelligent devices, where the control schedule can be downloaded onto the devices instead of a central control system. FOUNDATION Fieldbus has two versions, H1 and HSE (High Speed Ethernet), and NI interfaces support the most popular version, H1.
The NI USB-8486, PCI-FBUS, and PCMCIA-FBUS series are FOUNDATION Fieldbus interfaces that connect Foundation Fieldbus devices to standard desktop, industrial, and notebook PCs. With the PCI-FBUS, a desktop industrial computer can act as the host in a FOUNDATION Fieldbus system. Applications for the USB-8486 and PCMCIA-FBUS include portable data logging and in-the-field configuration and maintenance of devices and networks.
Figure 13. NI offers USB, PCI, and PCMCIA Fieldbus interfaces with a wide variety of programming options.
The NI-FBUS Communications Manager (CM) is included with the Fieldbus interfaces and includes Fieldbus functions that can be programmed in LabVIEW, NI Lookout, Microsoft Visual C/C++, and Visual Basic. NI also offers the NI-FBUS Configurator for Fieldbus configuration and function block programming, as well as the NI-FBUS Monitor for analyzing and debugging Fieldbus data packets.