NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

In Teststand calling LabView that Calls Teststand sub-sequences

How can I get Teststand to call a LabVIEW VI that can do multiple calls to a Teststand Sub-Sequence multiple times while passing different parameter data during each sub-sequence call from within LabVIEW?.  I've seen this done before, but not clear on how LabVIEW can get around calling external Teststand Sub-Sequences inside of the same Teststand.seq file, or external Teststand.seq file.

0 Kudos
Message 1 of 9
(3,466 Views)

Hi,

 

Could you explain what is the function of LabVIEW and the subsequences that are going to be called? Are you bulding an User Interface or something similar?

0 Kudos
Message 2 of 9
(3,427 Views)

@ChristopherBrenes wrote:

Hi,

 

Could you explain what is the function of LabVIEW and the subsequences that are going to be called? Are you bulding an User Interface or something similar?


Yes, all I want to do is be able to call up that VI during Edit time as a Configuration VI Front Panel interface (under normal run conditions there will be no panels poping up):

 

1) At Edit time Call "Configuration VI" front panel with a table tree containing different forcing conditions associated with sub-sequence parameter variables.

 

2) The Same "Configuration VI" should also be able to provide me a drop down list of sub-sequences that I can call from the same Teststand Sequence or external Teststand Sequence.  And permit me to select the sub-sequence that I want to call at run time.

 

3) At run time this LabVIEW VI calls the sub-sequence a fixed number of times as in a LabVIEW Loop (probably a for loop) while passing this table of forcing conditions into the sub-sequence parameter variables (I.E: Temperature, Supply_Level, MCLK_Freq, Load_Resistance, etc., ...)

 

If I could figure out 2 and 3, I can get # 1 to work.  I've seen this done before by others, but just haven't figured out which Teststand API's to call to do a Teststand Sub-Sequence call from within Teststand calling my LabVIEW VI.  What I'm really trying to do is make a LabVIEW VI Sub-sequence call from within Teststand.

0 Kudos
Message 3 of 9
(3,423 Views)

What is the correct procedure for calling a Teststand sub-sequence from within LabVIEW?  The internal Teststand VI tools aren't very clear about how to do that, and there are no LabVIEW examples either.  Matter of fact there seems to be Zero Teststand examples in LabVIEW Examples.

0 Kudos
Message 4 of 9
(3,403 Views)

@Edmund.M.Williams wrote:

What is the correct procedure for calling a Teststand sub-sequence from within LabVIEW?  The internal Teststand VI tools aren't very clear about how to do that, and there are no LabVIEW examples either.  Matter of fact there seems to be Zero Teststand examples in LabVIEW Examples.


I believe the correct procedure is that you don't call it directly from LabVIEW.

 

However, what I have done before is add a step in TestStand that's a Sequence Call, except you tick the box for "Specify By Expression".  Then you call a LabVIEW VI earlier that has its outputs directed towards some local variables which you can then use as arguments for the Sequence Call step.

 

As long as all of the sequence calls use either Station Globals or the exact same set of parameters you can pass the rest of your configuration options to the called sequences via TestStand as well, also having output them from your LabVIEW VI.

0 Kudos
Message 5 of 9
(3,399 Views)

@Kyle97330 wrote:

@Edmund.M.Williams wrote:

What is the correct procedure for calling a Teststand sub-sequence from within LabVIEW?  The internal Teststand VI tools aren't very clear about how to do that, and there are no LabVIEW examples either.  Matter of fact there seems to be Zero Teststand examples in LabVIEW Examples.


I believe the correct procedure is that you don't call it directly from LabVIEW.

 

However, what I have done before is add a step in TestStand that's a Sequence Call, except you tick the box for "Specify By Expression".  Then you call a LabVIEW VI earlier that has its outputs directed towards some local variables which you can then use as arguments for the Sequence Call step.

 

As long as all of the sequence calls use either Station Globals or the exact same set of parameters you can pass the rest of your configuration options to the called sequences via TestStand as well, also having output them from your LabVIEW VI.


Under the path:  C:\Program Files (x86)\National Instruments\TestStand 2017\UserInterfaces

 

Exist a full blown Teststand Development system and Teststand Test Executive written in LabVIEW, CVI, VB, C++, etc., ...  in those examples LabVIEW is directly calling Teststand Sequences using Teststand API calls.  So it must be possible to make a customized LabVIEW that can make a Teststand Sub-Sequence call directly, while surrounding it with LabVIEW processes to customize Parameter values and looping schemes.

0 Kudos
Message 6 of 9
(3,389 Views)

I didn't say that LabVIEW can't call TestStand sequences.  I offered what I believed to be the best method of doing close to what you want to do.

 

Using TestStand to call a LabVIEW VI that then calls another TestStand sequence inside of it is a bit of a weird execution flow to use.  Pick one as the "winner" and use it to control the other... don't start getting nested.

 

If you do want to try, though, the TestStand API is exposed through ActiveX/COM and you can start here as a reference.

 

What it sounds like to me is that you're more comfortable programming in LabVIEW but are being forced to use TestStand for some reason and you want to move to something you're comfortable with.  If that's the case, I believe it would be easier in the long run to just figure out how to do it in TestStand.

0 Kudos
Message 7 of 9
(3,383 Views)

@Kyle97330 wrote:

I didn't say that LabVIEW can't call TestStand sequences.  I offered what I believed to be the best method of doing close to what you want to do.

 

Using TestStand to call a LabVIEW VI that then calls another TestStand sequence inside of it is a bit of a weird execution flow to use.  Pick one as the "winner" and use it to control the other... don't start getting nested.

 

If you do want to try, though, the TestStand API is exposed through ActiveX/COM and you can start here as a reference.

 

What it sounds like to me is that you're more comfortable programming in LabVIEW but are being forced to use TestStand for some reason and you want to move to something you're comfortable with.  If that's the case, I believe it would be easier in the long run to just figure out how to do it in TestStand.


Yes, that is what I'm looking for, more documentation on Teststand API's.  For some strange reason LabVIEW doesn't even have one example of using Teststand VI usage or calls.  There is normally at least one example of every LabVIEW tool or LabVIEW provided VI's.

 

What I'm trying to do is create a user-friendly LabVIEW Front Panel popup interface, to call a Teststand Sub-Sequence while providing a wide variety of  Looping forcing condition configurations onto one specific Sub-Sequence call, and try to accomplish this in a single Teststand step.  Just like a single Teststand Sub-sequence call would do.  But with some smarts behind its looping on that one Sub-Sequence call.  And even perhaps have LabVIEW import a spreadsheet Matrix of forcing conditions as well, to import onto the one Sub-Sequence callings.

 

 

0 Kudos
Message 8 of 9
(3,378 Views)

I have yet to figure out how to get Teststand to pop up a customized interface panel without using LabVIEW or LabWindows CVI.  Which is why I need to use LabVIEW to create a means of control for the end user to create complex Teststand Sub-Sequence calling Loops..

0 Kudos
Message 9 of 9
(3,353 Views)