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
(1,416 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
(1,385 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
(1,366 Views)

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

0 Kudos
Message 4 of 9
(1,331 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
(1,322 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
(1,303 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
(1,275 Views)
Solution
Accepted by 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
(1,273 Views)

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

But queue works.

George Zou
Message 9 of 9
(1,265 Views)