ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to Find Calling Sequence File

Solved!
Go to solution

Sequence File B can be called by Sequence File A, or run by itself. 

How do I find out, in sequence file B, that it's called by A, or run by itself at runtime?

 

In A, the Sequence Call "Execution Options" is "Use New Execution". 

B is called multiple times in A and both in Single Pass and Test UUTs.

 

 

George Zou
0 Kudos
Message 1 of 9
(2,187 Views)

If you want to find out during runtime from where a module is called, use a breakpoint and investigate the Call Stack

 

I highly reccomend %TestStandpublic%\Examples\Fundamentals\Structure of TestStand Executions to learn about it.

 

 

Message 2 of 9
(2,156 Views)

Thanks for reply.  This is a very good example.

But my case is a little different from the example: I have to deal with multiple sequence files.

 

At runtime, the call stack only show 2 items:

the model seq., and seq. B. 

The caller, Seq. A, doesn't show up.

 

George Zou
0 Kudos
Message 3 of 9
(2,137 Views)

Sorry, I don't undestand your description ... could you please proved further information  or a screenshoot please?

0 Kudos
Message 4 of 9
(2,102 Views)

When sequence file B is called by sequence file A, on the call stack, only 2 items:

the SequentialModal.seq, and sequence file B.

 

 

George Zou
0 Kudos
Message 5 of 9
(2,093 Views)

Ok, now I get it 

 

If A.seq calls B.seq with an "ordinary" sequence call, you will see a call stack like this

 

Oli_Wachno_0-1690869005382.png

 

If A.seq calls B.seq starting B.seq using a process model, you will see something like this (I guess that's what you are referring to)

Oli_Wachno_1-1690869105295.png

 

 

For the records: If A.seq calls B.seq starting B.seq without a process model, you will see something like this 

 

Oli_Wachno_2-1690869357048.png

 

So why is this:

An new execution is an independent entity, which does not know about its' caller.

 

 

 

Message 6 of 9
(2,074 Views)

An new execution is an independent entity, which does not know about its' caller.

That's what I thought.

 

Alternatively, is there a way to find out if A.seq is running?

 

 

George Zou
0 Kudos
Message 7 of 9
(2,046 Views)
Solution
Accepted by topic author zou

@zou wrote:

An new execution is an independent entity, which does not know about its' caller.

That's what I thought.

 

Alternatively, is there a way to find out if A.seq is running?

 

 


Well you can tell if the execution reference is still active, this yould be an inidcator.

 

Guess you could also set up a communication queue for both executions to send heartbeat messages or sth alike

Message 8 of 9
(2,044 Views)

Not sure how to get execution reference of A.seq in B.seq.

But queue works.

George Zou
Message 9 of 9
(2,036 Views)