02-14-2010 09:40 PM
In Relay Set, when the relay cache VI is called, the relay direction is not wired. The default in the relay cache is both directions. If a relay is opened in either forward or reverse mode, then only one direction is allocated, and the relay cache sets allocated false because it's checking that both directions are allocated. This then causes the relay set to fail.
02-15-2010 12:35 PM
Howdy! I just gave this a shot with the Relay Example.vi and a Spike. I agree that the Cache VI direction is not wired, but a Spike will still work. I then wired up the direction inside the Cache VI and Forward and Reserve Modes work too. Are you working with the Relay example and using a Spike?
Joshua B.
NI FIRST Support
02-15-2010 07:33 PM
I was working with another team who found this. I haven't tried it on our robot. However, it looks to me like the relay should work in both directions mode, but not in forward or reverse only mode (as set in the relay open, not the relay direction input to the set vi).
I think to see this in the relay example, you would set the RelayDirection value to "forward only" before you start the example. Once the example is running I don't think the relay will work based on my analysis of the code.
02-16-2010 04:09 PM
Hi sciencewhiz,
This is what I changed to get the example to work in all modes. I wired the Relay Direction into the Cache VI as shown below in the Relay Set.vi. Indeed, the Relay Open VI calls the Cache VI, but then so does the Relay Set VI.
Joshua B.
NI FIRST Support
02-16-2010 10:16 PM
Sorry, I misunderstood your first post. I think we're in agreement.
WIll the library be updated in the next release?
02-17-2010 02:13 AM
This will be corrected in the next update, however, unless something pretty terrible comes up, it is unlikely that there will be another LabVIEW update this year. The fix appears to be simple enough.
-Joe