07-21-2022 02:01 AM
Hello Everyone,
I m facing an issue when I m using PPL in my TestStand Custom Step Type.
The issue is , I have two vis (Server and Client) inside same ppl, I want pass a queue reference from Server.vi to Client.vi using global variable. But when I m executing , getting error 1 - which is invalid queue ref. Can anyone tell me what would the reason for this and how to solve this issue.
I sincerely appreciate your time.
-Vipinraj KK
Solved! Go to Solution.
07-21-2022 06:39 AM
This usually points to a race condition where the client reads the global before the server can set it.
07-21-2022 07:34 AM
Name the queue! Then delete the global. All better now.
07-21-2022 08:34 AM
If you're relying on a global to distribute your references, you have to set it explicitly first, or it will just have the reference number of whatever it was when the global was created, which is, in all likelihood, not the same.
07-21-2022 01:28 PM - edited 07-21-2022 01:28 PM
I m doing same thing,
I have 3 vis ,
1. Start Server.vi -- where I m creating and opening the queue ref
2. Write value.vi -- pass the value to the Tx queue
3. Read Value.vi -- get the value from Rx Queue
I m ensuring Start server.vi is executing first and also added a 2000ms delay.
Also I tried creating the queue with same name inside all three vis, but that also not working.
Note: These vis are inside same packed project library .its called inside TestStand custom step.
07-21-2022 03:51 PM
So..... What is keeping the vis that obtain a reference to the named queue from going idle? You just may need to post some code.
07-21-2022 05:24 PM
Does the library work outside of TestStand?
07-22-2022 02:11 AM
Its working now.
Please check the attached code and sequence.
07-22-2022 02:26 AM
It would be good to include a description of the fix. Since people come here for help, you could be helping someone fix their problem as well. 🙂
07-22-2022 07:08 PM
Reference issues between TestStand steps are usually one of 2 things in my experience - garbage collection or different application instances.
Future people stumbling here should try: