08-18-2010 10:39 AM
I would like to generate different pathnames for multiple sequences, which are each run under their own execution. The following displays the desired heirarchy:
YYYY.MM.DD.HH.mm.ss_MainSequenceFileName\Test Summary.html
YYYY.MM.DD.HH.mm.ss_MainSequenceFileName\YYYY.MM.DD.HHmm.ss_SequenceGroup1\Sequence Group Summary.html
YYYY.MM.DD.HH.mm.ss_MainSequenceFileName\YYYY.MM.DD.HHmm.ss_SequenceGroup1\Test n.html
YYYY.MM.DD.HH.mm.ss_MainSequenceFileName\YYYY.MM.DD.HHmm.ss_SequenceGroup2\Test n.html
where:
Test Summary only contains the steps of the MainSequence from the MainSequenceFile
SequenceGroup1 is a sequence call step in MainSequence with a new execution (to generate a separate report).
Note: The SubSequences of the SequenceGroup are stored in a different sequence file.
Example Hierarchy:
MainSequence -> SequenceGroup1 -> SubSequence1, SubSequence2, SubSequence5
MainSequence -> SequenceGroup2 -> SubSequence2, SubSequence3, SubSequence4
Would result in the following files:
2010.08.18.10.00.00_MainSequenceFile\Test Summary.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.05.00_SequenceGroup1\SequenceGroup1 Summary.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.05.00_SequenceGroup1\Test1.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.05.00_SequenceGroup1\Test2.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.05.00_SequenceGroup1\Test5.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.40.00_SequenceGroup1\SequenceGroup2 Summary.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.40.00_SequenceGroup1\Test2.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.45.00_SequenceGroup1\Test3.html
2010.08.18.10.00.00_MainSequenceFile\2010.08.18.10.45.00_SequenceGroup1\Test4.html
My plan was to specify the base path using the StationGlobals (for support across multiple files) and then utilize the ReportOptions callback in the Main Sequence File and the Group Sequence File. However, the ReportOptions Callback only occurs in the Main Sequence file. If I create a ReportOptions callback in the SubSequence File, it is never called. The ReportOptions callback from the MainSequenceFile is only called (since that is where the new execution is launched I assume).
I believe this hierarchy could be created using the following:
In the ReportOptions callback, obtain a reference to the calling sequence step and determine if it is a SequenceGroup_SequenceCall (a special step type I created), if so then use a different expression to generate the subdirectory and report name. If not, then use the main sequence expression.
This would require the following from the ReportOptions Callback in MainSequence:
1. Obtain reference to MainSequence Report Path generated from the Process Model. This could be done by storing the RunState.Root.Locals.ReportPath in a StationGlobals variable before the new sequence call.
2. Obtain reference to calling sequence step
3. Date Format
The Get Start Time statement of the SequentialModel is not called until after the ReportOptions Callback and the Determine Report File Path Expression. Therefore the timestamp of the report filename may be different than the report header.
My questions are indicated by bullets above. Any help would be greatly appreciated!
Solved! Go to Solution.
08-19-2010 04:10 AM
08-19-2010 08:02 AM
I try to keep it short.
What about the serialnumber ?
What about it? I don't mention a serial number anywhere in the original post.
08-19-2010 02:50 PM
Hi,
well, if no serial number is requiered, i would do your task in this way:
Everytime when a new report file is requiered, i would call the corresponding subsequence in the main as a new execution with "Single Pass" as entry point.
Now all the report stuff is automatically done by the model.
Maybe this thread is also interesting for you :
http://forums.ni.com/t5/NI-TestStand/rename-report-file/m-p/821696#M22384
Hope this will help,
unless this is an other kind of solution you are asking for
Juergen
08-19-2010 03:12 PM
@j_dodek wrote:
Hi,
well, if no serial number is requiered, i would do your task in this way:
Everytime when a new report file is requiered, i would call the corresponding subsequence in the main as a new execution with "Single Pass" as entry point.
Now all the report stuff is automatically done by the model.
Maybe this thread is also interesting for you :
http://forums.ni.com/t5/NI-TestStand/rename-report-file/m-p/821696#M22384
Hope this will help,
unless this is an other kind of solution you are asking for
Juergen
Juergen, thanks for the reply but your response does not address my questions. I am already calling the sequences in a new execution, but had questions in regards to the Sequential Model and passing references between Executions without StationGlobals. My questions are indicated by bullets in the original post:
1. Obtain reference to MainSequence Report Path generated from the Process Model. This could be done by storing the RunState.Root.Locals.ReportPath in a StationGlobals variable before the new sequence call.
2. Obtain reference to calling sequence step from a new execution
3. Date Format
The Get Start Time statement of the SequentialModel is not called until after the ReportOptions Callback and the Determine Report File Path Expression. Therefore the timestamp of the report filename may be different than the report header.
08-19-2010 03:36 PM
08-19-2010 03:39 PM
08-19-2010 05:42 PM
Hi
I have created a small example which should full-fill your demands.
Note: I have only tested it in Single Pass Mode (No Serialnumber demand!!)
No StationGlobals where used. To get parent folder data two queues where used in ReportOption Callback
Hope this helps
Juergen
08-20-2010 08:22 AM
Juergen,
Thank you for the response. Your example is very helpful and Queues will work very well for this application
.
I will do some reading on "Appendix B, Synchronization Step Types" of the NI TestStand Reference Manual.
Regards
08-20-2010 08:25 AM
Also an FYI, I had to rename the attachment from Multi.rar.zip to Multi.rar (it is actually a .rar).