07-08-2009 12:22 PM
Dear friends, I'm working on an motor controller application that uses state machines to schedule the tasks to be done. I need to control 2 motors and each one is managed by one state machine. These state machines were transformed in a sub VI, once they have exactly the same functionality. Everything is running perfectly, except by the fact that, by a reason I can not understand, one estate machine behaviors differently from the other.
To let things clearer, let's name one motor as the X motor and the other as Y motor.
I used "Elapsed Time" VIs to build timeout structures into the state machine. Motor X's state machine acts as planned, but Y's one just ignores one of the timeouts implemented. As both of them are the same sub VI, I see no way they could present different results once they're submitted to the same conditions.
It is important to say that these state machine VIs share an RS232 VISA resource. In the sub VI I used an input and output connector so the VISA line can be connected to the first VI and it's output goes direct to the input of the second one.
I noticed that changing the order os the VIs changes witch VI ignores the timout. The second VI is always the problematic one. I could clearly understand if there was a time delay between the execution of the first state machine and the second one, once there's a shared resource. But it does not sounds normal to have one specific timeout ignored.
I hope someone could help me on this.
Thanks so much
Leonardo
Solved! Go to Solution.
07-08-2009 12:28 PM
07-08-2009 12:39 PM