How to Identify if My cRIO/sbRIO is Running?

Updated Feb 8, 2018

Reported In

Software

  • LabVIEW Real-Time Module

Programming Language

  • LabVIEW G

Other

Hardware : cRIO, sbRIO

Issue Details

I have executed a VI or start-up executable in my cRIO, how do I check if the program is executing or not? 

Solution

There are various LED indicators available in a cRIO to display the internal state of the hardware. The colour and blinking pattern of these LED are used to communicate these states. Refer to the user manual of your cRIO to understand these patters. For instance the different patterns and meaning of LED indicators of cRIO 9068 is provided here.
 

Using the User1 LED

The User1 LED present on the cRIO controller can be controlled from your RT VI which indicates if the VI running on the cRIO controller is executing or not. Implement a toggle logic inside your RT code which would make the User1 LED blink. This blinking indicates that your RT VI is running.



Incase the User1 LED is not blinking, either the RT VI is not running or the blinking code is starved(because RT CPU utilisation 100%). To troubleshoot further on why your RT start-up VI is not running refer to this link.


Using the Host Application

You would also have a loop inside your RT code which increments its iteration terminal in each execution. Read the iteration terminal of the while/for loop present in your RT VI from a Host program to check if your RT code is executing or not. Transfer the data you read from the RT VI to the host VI using Network Buffered Shared Variable.



Following this, read the iteration count in your Host VI to understand the execution state of your RT code.



Similarly different data types like boolean, numeric and string can be transferred to probe the different values and validate the functionality of the RT code at different points in time from the Host VI.

Additional Information

Based on the nature and rate of data transfers different protocols like Network Streams, UDP and TCP/IP can also be used. In case of transfering large number of tag values, use the CVT Client Communication (CCC) Reference Library

WAS THIS ARTICLE HELPFUL?

Not Helpful