NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

reportgen_txt.seq

Hi,

Can you post your process model sequencefile that you are running with.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 11 of 24
(2,193 Views)
I feel like I'm starting back at ground zero.

The Report functionality returned to what it was before (I don’t think there’s any more/less functionality). I ended up selecting (from Edit::Sequence File Callbacks) ReportOptions and Add. This created a new view in the Sequence Editor entitled ReportOptions. From the Main tab, I had to remove ReportOptions. If I left it there, the reporting didn't work (at all). Now that I'm back to printing out default print information, I need to figure out how to customize the report. A few things I'd like to do is default to a landscape format, and add information from the actual test, such as actual values read. How can I do this?
0 Kudos
Message 12 of 24
(2,114 Views)
Ray,

I found this in the TestStand Help. Could you help me interpret what I should do? For the Configure :: Report Options,

If you select the Sequence option to generate your report, the TestReport Callback calls the AddReportBody sequence in either ReportGen_txt.seq or ReportGen_html.seq to build the report body. The sequence report generator uses a series of sequences with steps that recursively process the result list for the execution.

If you select the DLL option to generate your report, the TestReport Callback calls a function in a DLL to build the report body. The DLL report generator is a single call into a C-language DLL that processes the entire result list for the execution before returning. You can access the project and source code for the LabWindows/CVI-built DLL. If you select DLL, TestStand generates reports faster but does not call ModifyReportEntry callbacks.

I need to modify the TestReport body, but I'm not sure how. I selected the Edit::Sequence File Callbacks and said yes to TestReport.The Help says "The following restrictions apply to the SequenceFileLoad and SequenceFileUnload callbacks".

TestStand can hang when it executes a SequenceFileLoad callback that calls into another sequence file which contains a SequenceFileLoad callback that calls back into the original sequence file. This can occur with any number of levels of sequence files as long as the dependencies among the SequenceFileLoad callbacks exist between sequence files.
TestStand can enter an infinite loop when it executes a SequenceFileUnload callback that calls into another sequence file which contains a SequenceFileUnload callback that calls back into the original sequence file. To break the infinite loop, select Debug»Terminate All Executions.
Do not define a SequenceFileLoad or SequenceFileUnload callback in the StationCallbacks.seq sequence file. TestStand does not call these callbacks.

I'm seeing a lockup right now and I have the sequence option (vs the DLL) option selected to generate the report.

Should I have the DLL option selected. Then, how do I modify my report body
0 Kudos
Message 13 of 24
(2,075 Views)
hi mrbean,

[From the Main tab, I had to remove ReportOptions. ]

Not sure what you mean by this!? Which Main tab? In which SequenceFile did you insert the sequence ReportOptions?



Most of the work of putting the results into the report is done in the sequence called PutOneResultInReport and thats found in the sequencefile reportgen_txt.seq but just to complicate thing the actual measurement, limits etc is done in one step 'Add Flagged Values' which is a call to the function GetFlaggedValuesReport_Txt() found in modelsupport2.dll.
So to change this you have three options, 1) modify the this function, 2) create a new function or 3) modify the returned string found in Step.Result.ReportText.

Also, there are various string variables that are used to provide the indentation and gaps between text that you see in the default report.

An Ideal starting point would be to take a simple sequencefile. Generate the default report file. Then with a hard copy to hard of your result. Run your sequencefile again only puts some breakpoints so that you can step through the sequences of the reportgen_txt.seq and identify where each of the lines in the report are generated.

The other thing you we have to bare in mind, unlike the default report, length of strings is not a problem, but when you start laying out your results so that everything is on one line, the length of each item needs to be taken care.


I might still have a version of the reportgen_txt.seq I modified so that each result was one line.


Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 14 of 24
(2,107 Views)
Your question [Not sure what you mean by this!? Which Main tab? In which SequenceFile did you insert the sequence ReportOptions?]

Within my application's sequence file I added the ReportOptions by overriding ReportOptions in the Edit::Sequence File Callbacks. Then on whatever View I select (MainSequence, ReportOptions) there are five tabs shown - Main, Setup, Cleanup, Parameters, Locals. It's in this Main tab that a ReportOptions function appears when I select yes to override ReportOptions in the Edit::Sequence File Callbacks. That's the function I select and delete. I'm obviously going about this the wrong way.

Is this not where I should be adding the ReportOptions. Should I have a different Sequence File open when I override ReportOptions in the Edit::Sequence File Callbacks. Would I then make all necessary mods to the files in the User directory (...\National Instruments\TestStand 3.1\Components\User\Models\TestStandModels)
0 Kudos
Message 15 of 24
(2,065 Views)
Ah! I see what's happening.

You were fine upto 'added the ReportOptions by overriding ReportOptions in the Edit::Sequence File Callbacks'.

You dont actually have to add it as a sequence call any where in your MainSequence or any subsequences.

Your ReportOptions sequence callback will get called from a step in your process model sequence, 'Single Pass' or 'TestUUTs' called "Get Report Options". In this sequence is a step which makes a dll function call to get the Configuration Report Options. The next step calls the ReportOptions sequence, passing as a parameter the ReportOptions container whose values it had just obtained from the previous step.

I hope this clears up the mis-understanding. I should have made it clearer that didn't have to do anything but add it to you sequence file and insert your code into this version of the ReportOptions sequence.

Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 16 of 24
(2,064 Views)
I'm still a bit confused ...

I understand about the entrypoint (SinglePass, TestUUT). However,

1) Should I select 'Yes' to the ReportOptions in the Edit::Sequence File Callbacks. Is this what tells TS that I don't plan to use the defaults.

2) As I stated before, if I select 'yes' (in #1), ReportOptions appears in the View drop down list and a function appears in the Main tab. Should I then delete that function?

3) The Models code I copied to the Users directory is where I'll make any mods to the report code
0 Kudos
Message 17 of 24
(2,061 Views)
Ray,

I still need answers to the previous questions, but in my experimentation, I discovered that 2) was not quite correct. I said "if I select 'yes' (in #1), ReportOptions appears in the View drop down list and a function appears in the Main tab". It doesn't. I must have somehow added it before.

The Help says "Add—Overrides the selected callback by inserting a sequence with the same name into the sequence file. "

If it's "inserting a sequence with the same name into the sequence " (my sequence), does it then ignore the report sequence in the User directory.
0 Kudos
Message 18 of 24
(2,055 Views)
Just for a moment then I thought we were both on the same wave length.

I have a attached a word document which I hope will help.

Also have you seen teststand process model pdf which is part of the TestStand supplied documents.


regards
Ray

Message Edited by Ray Farmer on 05-12-2005 02:23 PM

Regards
Ray Farmer
Download All
0 Kudos
Message 19 of 24
(2,056 Views)
Ray,

Although it's becoming a bit more clear, I have a few questions. My View Ring Control looks like you've indicated, as does my Sequence File Callbacks. If I select ReportOptions from the ViewRingControl, the only tab (in the sequence file window) with any contents is the Parameters tab. I selected 'txt'for the format, and adjusted a couple of other parameters. However, at the target, the report format isn't txt, it's html or xml. Can I not use the parameters field in this fashion. Do I have to add a function to the main tab and add an expression (i.e. Parameters.ReportOptions.Format='txt'.
0 Kudos
Message 20 of 24
(2,052 Views)