Diego Reyes Posted July 24, 2009 Report Share Posted July 24, 2009 Hi everyone, I have an issue that I have not been able to resolve. The attached screen shoot is taken from my VIT that simulates an AI operation. This VIT is used to create separate executions of the VI depending of the number of DAQ boards in the system. The simulation works well but the problem arises when the loop end execution and the program moves on. The Release Queue VI executes correctly for the first VI that reaches this point. However, the other VIs reach this point throw an Error 1 when they try to release the queue. Each VI has its own obtain queue at the beginning of the execution. The program is behaving as if the Force Destroy input in the Release Queue VI was set to TRUE. Do you have any idea or suggestions to continue my troubleshooting? Thank you. Regards, Diego F. Reyes Quote Link to comment
John Lokanis Posted July 24, 2009 Report Share Posted July 24, 2009 Not sure what is causing this but here are a few things to try: 1. what is in your Error case? Do you pass the queue ref through? 2. Try using a shift register for passing your ref through the loop. This is just good practice and is very important in FOR loops because if the loop does not execute and you don't use a shift register then the output tunnel will be NULL. Not sure if timed loops can also do this. Normal While loops cannot since they always execute once. 3. Are you sure you are not stepping on the queue somewhere else with a force destroy set to true? 4. Can you post more of the code for us to look at? 1 Quote Link to comment
Diego Reyes Posted July 24, 2009 Author Report Share Posted July 24, 2009 Not sure what is causing this but here are a few things to try: 1. what is in your Error case? Do you pass the queue ref through? 2. Try using a shift register for passing your ref through the loop. This is just good practice and is very important in FOR loops because if the loop does not execute and you don't use a shift register then the output tunnel will be NULL. Not sure if timed loops can also do this. Normal While loops cannot since they always execute once. 3. Are you sure you are not stepping on the queue somewhere else with a force destroy set to true? 4. Can you post more of the code for us to look at? John, The Error case just passes the ref through. I just tired the code using a shift register. It seems to be working properly. I am going to set up my regression testing to run it over the weekend. Thanks for the suggestions. I am not going to have to stay late today trying to figuring this one out Regards, Diego F. Reyes Quote Link to comment
Aristos Queue Posted July 24, 2009 Report Share Posted July 24, 2009 Thanks for the suggestions. I am not going to have to stay late today trying to figuring this one out If that worked, it means that sometimes your For Loop is executing zero times... you might want to check your other tunnel outputs to make sure you're ok with the values that they return if the loop executes zero times. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.