NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

RunState.Sequence.Main vs RunState.SequenceFile??? When using Deployed Software??

Solved!
Go to solution

RunState.Sequence.Main vs RunState.SequenceFile???  When using Deployed Software??


Can someone explain to me why when I use something like->

RunState.SequenceFile.Data.Seq["Test Seq"].Main["Test Step"].Result.Status

the status will never be updated if I am configured for LabVIEW Run-Time Engine (but will work for Development System).

 

Also why does->

RunState.Sequence.Main["Test Step"].Result.Status

update for both LabVIEW Run-Time Engine and Development?

 

I fixed my problem by using RunState.Sequence.Main["Test Step"].Result.Status but I still am curious why the other way doesn't work???  Can someone please give me a sanity check?

 

Thank you very much!

 

 

0 Kudos
Message 1 of 8
(4,218 Views)

Is that just for steps using the LV adapter?  Or is it true for all steps?

 

This seems like an issue with the adapter.

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 2 of 8
(4,211 Views)

I am not 100% sure.  I agree with you but I have not tried any other adapter since I mainly use LV run-time.  It could very well be the adapter and not TestStand but again, I don't have enough knowledge about the adapter vs runstate parameters being set.  I don't know the inter-workings of TS and the adapters very well.  If you would like to clarify of point to a location I can read about it, that would be great 🙂

0 Kudos
Message 3 of 8
(4,207 Views)

or point to a location*

0 Kudos
Message 4 of 8
(4,206 Views)
Solution
Accepted by topic author queenlooners

RunState.SequenceFile.Data.Seq contains the edit time copy of the sequences. These copies are not used at all at runtime. At runtime a separate copy is made (and is accessible from RunState.Sequence) and only that runtime copy is updated. These runtime copies are made for several reasons such as the following:

 

1) To make it so that modifications made to the sequence at runtime, do not affect the original edit time version of the file (you don't want modifying the status to be an edit to the sequence file right?).

2) To support recursion, recursive calls into the same sequence each have their own copy of the sequence so that the state for a call isn't overwritten by a recursively made call to the same sequence.

 

There are probably other reasons as well, but these are probably the biggest ones.

 

-Doug

Message 5 of 8
(4,188 Views)

Thank you!

0 Kudos
Message 6 of 8
(4,182 Views)

Can you tell me where you learned this?

 

"RunState.SequenceFile.Data.Seq contains the edit time copy of the sequences. These copies are not used at all at runtime..."

 

I really would like to do some further investigating.  I don't have officail training in TS and have been learning as I go.  Even if you read it in the TS overall manual, I would still like to know.

 

Thank you very much!

0 Kudos
Message 7 of 8
(4,179 Views)

It perhaps doesn't contain as much information as I've given you, but you can find some details if you launch the help from the help menu of the sequence editor and go to Fundamentals->Executions->SequenceContext.

 

-Doug

0 Kudos
Message 8 of 8
(4,161 Views)