UI Interest Group Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand User Interface Help (development in LabVIEW)

Hi all...

I'm trying to create a User (Operator) Interface for LabVIEW to call a TestStand sequence (I'll call this "Test.seq" from now on).  The main highlights:

  1. I want this to be as simple as possible to the user.  Ideally, the user would run the User Interface executable, and hit "Start" button to execute Test.seq.  While Test.seq is executing, a sequence view window should display (to show Test.seq is actually executing) and once Test.seq is finished executing, I'd like to display a report.
  2. I want Test.seq to be loaded automatically (I will probably use a control that only admins can modify) and specified by the administrator (no option for the user to run a different sequence). 
  3. I'd like to disable the Login request.
  4. I'd like to give the operator the ability to break or terminate Test.seq.
  5. I want to include a button to exit the User Interface.
  6. Once the initial execution of Test.seq is finished and the report is viewed, I'd like to allow the operator to hit "Start" again to run the test again.

I have been fooling around with the Simple UI that comes with TestStand and definitely have a little sense of how things work within that.  However, I am not an extremely experienced developer, so I'm running into issues when I try to modify that UI to fit the needs that I outlined above.

A few problems that I'm encountering:

  1. In the Simple UI, three buttons get linked to the front panel, "ENTRYPOINT1", "ENTRYPOINT2", and "RUN_SEQUENCE".  As I stated above, I'd like to have Test.seq run once the user opens the executable user interface and presses the "Start" button.  So I'm not convinced I need any of these three buttons.  However, as I've seen so far, I am unable to duplicate the action of the "TestUUTs" button (ENTRYPOINT1) or "Single Pass" (ENTRYPOINT2).  I tried using an invoke node on the SequenceFileViewMgr control, and chose the Run method (placed this after starting the TestStand Engine by using an invoke node Start on the Application Manager reference) .  However, this does not bring up the Serial Number dialog box nor does it produce a report. 
  2. I am never able to stop the execution of Test.seq, nor am I ever able to exit the User Interface.  Once the User Interface is executing, after it invokes TestStand, even after Test.seq completes, I am not able to exit.  The only way I can stop the execution is to hit the LabView "Abort execution" button.
  3. I'm currently trying to use the tabs function in LabView to display the Sequence Execution window and the Report window.  It seems as though this does not work as I exect, so any suggestions with this that I might be missing would be helpful.
  4. A less significant issue: I'd like to gray the "Start" button and change the label to "Test Running" while Test.seq is executing and then once finished, I'd like to allow the user to see that button again as it was initially, with "Start" as the display.

I did figure out how to disable the Login request by using a property node on the Application Manager reference to disable "LoginOnStart" and this seemed to have worked as I expected.

I appreciate any feedback I can get on this, as I'm struggling after a few days of digging into this myself.

Thank you in advance,

Seth

0 Kudos
Message 1 of 5
(5,351 Views)

What you’re asking to do isn’t trivial, and requires a decent level of both LabVIEW and TestStand’s API. We have both an OI and a TestStand API reuse module that we use internally that does what you’re after, and I’d be happy to discuss those offline if you’re interested.





Copyright © 2004-2023 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
0 Kudos
Message 2 of 5
(2,946 Views)

Seth,

I wrote a small teststand UI a few years back that does almost exactly what

you want. Its not really possible to rename the buttons in labview because

they are references to teststand objects and not labview controls. You

would have to rename the objects in teststand and I don't know enough about

it to help you there. Once the sequence starts running the button will

re-name itself to whatever testand says.

The rest of the coding is not that easy, especially for a new developer, but

if you dig into the sample OIs provided with teststand it is possible. Most

of this code is copy/paste right from the samples. You should be able to

figure out whats going on, and you can terminate a sequence by using the

exit button. Not sure how you would add a separate terminate button as its

been quite some time since I wrote this.

I provided a sample sequence that you can test the code with. Put it in

either the project root or the application root if you build.

Mike K

0 Kudos
Message 3 of 5
(2,946 Views)

Hi Mike,

Thank you for the insight.  You say you wrote a UI that does almost exactly what I want... Was that written in LabView?

Also, would you be able to send me your sample code in a different format besides zipx?  I am unable to unpack that compressed file...

Even though I'm a new developer, I think I have done enough coding in both LabView and TestStand that I should be able to figure this out.

Seth

0 Kudos
Message 4 of 5
(2,946 Views)

Here's a little more info on what we have: http://lavag.org/topic/10778-teststand-and-userinterface/page__p__70845#entry70845 - there's a small screenshot of onw of the OIs, as well as (a couple of posts later) a info sheet on the ATES platform.





Copyright © 2004-2023 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
0 Kudos
Message 5 of 5
(2,946 Views)