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.
08-14-2015 06:22 PM
To start off, this is what I would consider to be a "high level" question. I'm not looking for specifics but rather generalities.
I am mainly a LabVIEW developer. I'm working on an application that is going to need to allow the user to set up multiple different dynamic sequences... almost to the level of a scripting language. I looked in to several methods to code this myself, but it isn't trivial. Then, I started researching TestStand....
The way I imagine this working is that I will primarily control the hardware I/O, the graphical interface, etc with LabVIEW. I will write a simple API (in VI form) for some of the complex functions that the user will need to implement and they can set up their sequences in TestStand. Within my LabVIEW application they can select the sequence(s) to run, and in what order and then TestStand takes over and executes the sequence.
Which leads me to my questions: Is TestStand the way to go? Is this the right solution? Will it be simple enough, and can I learn the integration in the time allocated?
08-15-2015 10:33 PM
Is TestStand the way to go? YES Is this the right solution? Sort Of Will it be simple enough, and can I learn the integration in the time allocated? Not sure what your time line is
TestStand is a test executive as well as a scripting language. There are so many components that make up TestStand, all of which are customizable to meet your needs.
If your goal is to make it simple for someone to throw together scripts then Custom Steps might be the right solution.
TestStand ships with a User Interface. There are 2 different ones written in LabVIEW. You will have the source code for both. The way the UI works is that it calls into the TestStand engine using ActiveX to execute the sequence files and to display information about the test to the user.
If you look at the layers of an execution in TestStand it would look like this:
User Interface (written in LabVIEW, Talks to TS Engine through ActiveX API)
Process Model (sequence file)
Sequence File (sequence file)
Code Module (written in LabVIEW, talks to instrument and DUT)
The sequence file is basically the "script" which is developed in the sequence editor (a different component of TestStand). The Sequence File contains Sequences, which contain Steps. Steps are what calls your LabVIEW modules through their APIs. You can create custom steps that the developers can just slap down to create scripts quickly and tweak a coupe things. It all depends on your requirements though. There are other ways of doing this as well. TestStand is super flexible, but that can be bad if you don't know what you are doing. If you are proficient with LabVIEW you can pick TestStand up pretty quickly.
If you have specific questions feel free to post on the forums. It is fairly responsive.
08-17-2015 03:17 AM
Try this :
Good luck.
David Koch
08-17-2015 10:26 AM
Thanks for your response. It looks like TestStand is something that I'll at least want to spend a couple of days looking in to. Timeline is... short, unfortunately. I'm expected to have this delivered in mid October, but in all reality it will likely end up November.
08-17-2015 10:59 AM
Teststand works but is rather complex, with a load
of parameters scattered everywhere. You better
have to know each of them before hand in order
to understand what TS is capable of.
I think the most difficult thing is the models and
how it affects the running of sequences, including
the whole system of callbacks with parameters
and variables that exists only under certain
state (like while running).
The VI I provided just runs a SEQ file as a
SinglePass and provides you with simple
return values. It's a matter of taste...
David Koch