To download NI software, including the products shown below, visit ni.com/downloads.
This reference example includes a recommended architecture for performing low channel count multi-channel PID control on a Real-Time (RT) CompactRIO (cRIO) controller with a host user interface. Channel I/O is performed using the cRIO chassis configured for Scan Mode.
The LabVIEW Project consists of two major components. The RT application running on the cRIO controller (cRIO 9074 for this example) and the operater interface running on development environment on a host machine. The RT application is the PID Control (RT VI).vi and the operator interface is listed as HMI (Host VI).vi. The two running applications communicate using Network Published Shared variables. Here is a snapshot of the project layout:
The RT application PID Control (RT VI).vi is broken up into 3 sections; Initialize, Control, Shutdown.
The Host VI (HMI (Host VI).vi) is also broken up into 3 sections; Initialize, Main UI, Shutdown.
Steps to Implement or Execute Code
LabVIEW 8.6 or higher Development Environment
LabVIEW Real-Time 8.6 or higher
LabVIEW PID and Fuzzy Logic Toolkit
Computer with LabVIEW Development Environment
cRIO Controller (This example uses a cRIO-9074 integrated controller but other cRIO setups can be used)
cRIO Chassis that supports Scan Interface (http://zone.ni.com/reference/en-XX/help/372603F-01/riohelprt/supported_hardware_rt/)
cRIO I/O Modules (NI 9211 and NI 9474 are used in this example)
This example uses the ni.com style controls from the UI Interest Group
View the CompactRIO Developer's Guide for additional development guidlines and reference architectures.
**This document has been updated to meet the current required format for the NI Code Exchange. For more details visit this discussion thread**
Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.