I have just started to work with a cRIO-9064 using LabVIEW RT 2014. I always perform the basic LED blink test to make sure everything is configured properly. The RT LEDs.vi does not toggle the USER1 LED when using state 3 (toggle LED). LED always remains off.
This doesn't work:
However, the RT LEDs.vi turns on and off the LED when using state 1 (set LED to default color1) and state 0 (turn off LED).
Anyone having similar problems? I have used previous cRIO controllers (using LabVIEW 2012) and the toggle works fine.
Hello! I tried to replicate your issue using a cRIO 9074, it all works fine. Did you verify that the wait function is in msec?
Thank you for the reply!
I confirmed the wait function is set as msec.
I have used highlight execution to observer the Led State output of the RT LEDs.vi block. When trying to toggle the LED this output is always false, and the error out always is no error. Like I said, if I use the turn on (1) and turn off (0) state the LED works just fine, just not the toggle (3) state. This leads me to believe there is a bug somewhere in the newer cRIO-9064.
There is something that you could try just to troubleshoot, instead of using constants for the state selection and the LEDnum try using controls and try changing the numbers in the controls to see if you get it to work.
I've just run into this exact issue on a cRIO-9063, running LabVIEW 2014 SP1 and CompactRIO 14.5. I can confirm that setting the LED to either on or off works as expected, but the toggle state doesn't work. The output from the RT LED function shows the LED as off, and there is no error output. I've run the same code in the past using this exact software configuration on a cRIO-9067 and cRIO-9065 without issue.
I guess it's not a show stopper, but it'd be nice to know why it isn't working.
After digging a little bit deeper, it looks like the call to LedInput in RT board LEDs.vi always returns -1, and not the current state of the LED. This has the knock on effect of never writing 1 to LedOutput.
When you wrote "state 1 (set LED to default color1)", it made me suspicious. Does the 9064 have multiple colors for the USER1 LED? That would make 'toggle' harder. Still, since the 'LedInput' library call returns an I32, I would expect it to work (0->1(on); 1 or 2->0(off)).
Toggle will only toggle between off and color1 (see the RT LEDs VI help). Old school Compact FieldPoints had a dual colour user LED output, but I don't think any cRIO has a dual colour user LED (though I may be wrong).
Either way LedInput always returns -1 on a cRIO 9063, and presumably a cRIO 9064 also.
Can NI confirm this is an issue, and has a CAR been raised?
I just want to let you know that this issue is already reported and our R&D engineers are working on it. It seems that almost all Linux RT devices have the same behavior with the toggle option so it will be fixed in future LabVIEW version.