View Full Version : Relay Outputs on Digital Side Car Not Working
Chris_Elston
18-01-2014, 21:19
Today, I was trying to help my electrical and software sub teams troubleshoot a simple problem...We aren't seeing any Relay Output LEDs turn on or off on the digital side car.
It started with the compressor not working. Or turning on the Relay Output. Then we just moved to simple logic.
A Button mapped to Relay 2, and a Spike Relay to turn on and off. Software kids downloaded the code, and we don't see the LEDs for the Relay 2 to light up. Which kinda leads like it's a software problem. I looked over the very simple code we have done many many times before Open a Relay Reference to Digital 1, Relay 2, in Open. Then mapped Relay 2 to a button True False to a Spike Relay On or Forward, and we don't even see the LED light up next to Relay 2.
We change EVERYTHING.
CRIO Card
Digital Side Car
Ribbon Cable
Spike Relay (even though we didn't need to because the LED is not coming on)
It seems it's a software problem in the Labview. Anyone else having this problem or tried to get your Relay Outputs to work in 2014 Labview yet?
Are we over looking something simple?
Normally Labview, the Crio, have been pretty rock solid for us and nothing flakey like this.
Mark McLeod
18-01-2014, 21:32
I'd suggest running the Relay Example project under Support -> Find FRC Examples->Actuators->Relay.lvprog (change the target to your team number)
That eliminates the possibility of any simple coding errors on your part.
Run in Debug to be sure that the code is actually executing on the cRIO.
Verify the cRIO is running image v52.
Verify the Digital Sidecar power (I'm sure you have).
Possibly, add in a solenoid set in order to blink the solenoid module lights as a signal that the code is being downloaded properly and is working.
Alan Anderson
18-01-2014, 23:18
You didn't mention making sure you were using a fully-charged battery.
We had a similar problem Monday, code could not turn enable the Spike from the relay output. We are using C++, not LabView.
Problem turned out to be the programmers had upgraded to the new 2014 C++ libraries but did not upgrade the cRIO image to 2014 (it was still at 2013). We were getting very strange NetConsole errors when trying to run the code. After swapping hardware, etc, we begin to focus on the code and then realized the version mismatch.
Good luck pin pointing the problem.
The ribbon cables aren't the ones that were made backwards in the last couple of years are they? Do other things work on the sidecar like digital in/outs and pwm's? Are all the green power supply lights on?
Chris_Elston
19-01-2014, 10:16
The ribbon cables aren't the ones that were made backwards in the last couple of years are they? Do other things work on the sidecar like digital in/outs and pwm's? Are all the green power supply lights on?
The ribbon cable that we swapped out was the 2014 KOP ribbon cable this year.
We have all green LED lights on three different DSC that we tried. The PWM signals work because we can drive around and control the robot. the Pneumatic Bumper works, we can see the relay lights come on and off from the software on the front of it.
I have not confirmed if the software team has the latest firmware. I will double check that on Monday with them. Will try the other suggestions noted above.
1. Make sure firmware is update.
2. Try sample Relay Code in Examples to make sure not a software bug somewhere.
It's an odd problem for sure...
Mark McLeod
19-01-2014, 21:10
If the Relay LEDs are still not lighting up, then the code & firmware need to be checked.
This is more for others you may read this later...
If the Relay status LEDs were lighting up (and the Spike still wasn't responding), then I wouldn't suspect code or firmware any longer. Just make sure only the Relay green or only the red come on at a time (assuming that you are using the Spike to control a motor).
I'd next test the Relay output pins with a multi-meter to see if you see power to match the LEDs. 0v on a pin if the corresponding LED is out, 5v if the corresponding LED (red or green) is lit.
If that passes, then work your way towards the Spike.
Plug a PWM cable into the appropriate Relay, then use the multi-meter to test the far end of the PWM cable.
If you get a signal all the way out there, then the Spike is the remaining issue.
Connect it and the Spike LED should show orange when it has 12v power, otherwise the color should match the DSC's Relay LED.
Greg McKaskle
19-01-2014, 22:28
Another way to double check things is to set the DS to test mode. In your dashboard, click on the test tab, and scroll to verify the relay is listed. You can select the relay and press the momentary button to turn on the relay.
Greg McKaskle
Chris_Elston
19-01-2014, 22:48
Another way to double check things is to set the DS to test mode. In your dashboard, click on the test tab, and scroll to verify the relay is listed. You can select the relay and press the momentary button to turn on the relay.
Greg McKaskle
No kidding? Nice tip...We will try that.
2B || !2B
23-01-2014, 19:02
We're having the same issue, but we've found a temporary solution! The "Long" cRIO (8 slots) test board we have was having the issues with not running the relays. Our "Short" cRIO (4 slots) test board uses the relays without issues running the same code. (We're using java)
I don't have any clue why this happens, but my best guess at the moment is that the long cRIO is anti-relay...
Chris_Elston
23-01-2014, 21:21
Oh I forgot to follow up.
First of all, the "TEST" mode in the new driver station, is AWESOME! Kudos to the NI team for making that. I was pressuring our software team to make a custom dash board that has a maintenance screen that we can view and "force" I/O points, but the TEST mode does all this for the teams. Thank you for this.
Using test mode, we was able to "force" the relay output points on and off. This proved that everything work electrical. So it was a software problem.
After the software team reviews future, I was told the problem was the START VI was moved out of order. I believe it was before or after the references or something like that. Once they corrected that problem in the software, the compressor and all relays started working again.
They did confirm they had version 52.
The biggest take away was using the new TEST mode in the driver screen. That was a nice tool.
Thanks everyone for your input. Problem solved with us.
Alan Anderson
24-01-2014, 00:13
First of all, the "TEST" mode in the new driver station, is AWESOME! Kudos to the NI team for making that. I was pressuring our software team to make a custom dash board that has a maintenance screen that we can view and "force" I/O points, but the TEST mode does all this for the teams. Thank you for this.
It was there last year too.
We were going to store our device references in global variables instead of the Refnum Registry, but since Test uses the registry we decided we had to use it too.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.