From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
05-03-2017 09:30 AM
If multiple calls to a piece of test equipment need to be made in multiple TestStand steps, what is the best practice for passing them?
1. close the resource after each step and reopen with a new INIT VI each time in later steps?
2. Pass out the resource:
and save it in two TestStand variables for use in later steps?
3. Anything else?
Thanks.
Solved! Go to Solution.
05-03-2017 12:36 PM
Personally I like to initialize my instruments in the setup portion of the sequence and close the connection in cleanup section of the sequence. I keep my references in a variable as you have shown and use them throughout my sequence.
I had a common problem with my operators where they would forget to turn on a required power supply and I would capture the error code in a LabVIEW step which would fire off a user dialog asking them if they had turned it on. If they had I would tell them to contact a technician for help. If they had forgot I would display a image showing them how-to and rerun the initialization step for the power supply. This saved me a bunch of time running back and forth to the test stations and saved my operators the embarrassment.
05-11-2017 09:33 AM
Having 2 variables to enter (device name and session number) for the VISA resource as an input to every single TestStand step in which it is needed is a bit of a pain. Can't I just pass in the VISA string to the step instead? I'll get the coercion dot...
05-11-2017 11:44 AM
I am using "HAL in your (D)QMH" way. walkingthewires.com and delacor.com
It requires some time invest, but is worthy.
I control 3 PSs, 2 El Loads, 2 DAQs, 2 Telnet devices.
All modules started in Setup, and stopped in Cleanup, and hold their VISA resources by themselves.
You just send values and read values.
05-14-2017 11:43 AM - edited 05-14-2017 11:44 AM
You don't need to pass two variables (device name and session number) for your code modules. You can pass VISA reference via LabVIEWIOControl variable tyope, which is indeed container of device name and session number. To create it, right-click (let's say, in FileGlobals field), select Insert File Global -> Type -> LabVIEW -> LabVIEWIOControl.
There you can write VISA reference directly from code module, and then pass it in. Then, fields Device Name, Session Number will be populated automatically. Please, check the screenshot.
On your first screenshot, you've just removed value of the main field, and fields Device Name and Session Number became active.
Sincerely, kosist90
05-16-2017 03:39 PM
Thank you! That was exactly what I was looking for.