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,188 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,157 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,138 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,103 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,094 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,075 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,047 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,045 Views)

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

But queue works.

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