From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Direct communication between cRIO controllers

Hello,

 

I am developing a system that will include two cRIO 9014 controllers, each in an 8 slot cRIO chassis with 3 million gates.  I need two 8 slot chassis' due to the amount of IO in the system.  Each controller IO needs to be accessible to the other.  I cannot use PXI due to large amounts of vibration in the system.  What are some robust methods for communicating data between two cRIO controllers?

 

 - Network published shared variables over an Ethernet connection?  I read that it is not recommended for the shared variable engine to run on a cRIO controller?  Is this true for the 9014?

 

 - TCP/IP over an Ethernet connection?

 

 - Serial communication over an RS-232 connection (the controllers will be next to each other)?  Recommended protocol?

 

 - Any others?
0 Kudos
Message 1 of 4
(4,337 Views)
Hello TLE,

You've actually hit on all of the means by which you would perform this communication. The method that you choose would depend on your application. By this I mean that if your Ethernet network is unreliable, you would want to stick to a hard-wired connection. However, it is perfectly acceptable to communicate over this medium if you have confidence in the network.

1) Network published shared variables: This would be a perfectly valid method that may be the easiest to implement. What is the justification that you have read for not hosting shared variables on the cRIO's controller? With confidence in Ethernet network, this is the way to go.

2) TCP / IP: This is also a perfectly acceptable solution, but one which will require additional programming than the use of shared variables.

3) Serial: This would be the desired method if you do not have confidence in the network. If you've got the LabVIEW DSC module, you can create a Modbus Server on one controller and a slave on the other controller to greatly simplify the required programming.

I hope this information is useful for you. Please post back if we can offer any additional advice. Thanks!

Mike D.
National Instruments
Applications Engineer
0 Kudos
Message 2 of 4
(4,322 Views)

Hey TLE,

 

Depending on the rates at which you need to share data, the new scan engine for cRIO, introduced with LabVIEW Real-Time 8.6, may be very helpful. It automatically publishes I/O values to the network for I/O modules using the new scan mode.

 

You can check it out here:

http://zone.ni.com/devzone/cda/tut/p/id/7338

 

Kurt

0 Kudos
Message 3 of 4
(3,317 Views)
Thanks for the link, I will spend some time testing the scan engine after I upgrade to 8.6.  This looks like a step in the right direction.
0 Kudos
Message 4 of 4
(3,312 Views)