Additional Results
I was following the following tutorial:
"Logging Additional Results tp TestStand Database"
http://www.ni.com/tutorial/14595/en/
When I got to Method 1, Step 3, I tried to enter a Custom Name for the data. The Name I enter always remains red. Even when I have a valid variable in the "Value to Log" Column. When I click on the validation I get an evaluation warning.
John O'C
Staff Test Systems Engineer
Woodward, Inc.
Skokie, Illinois, USA
"Life is not a journey to the grave with the intention of arriving safely
in a pretty and well preserved body, but rather to skid in broadside,
thoroughly used up, totally worn out, and loudly proclaiming...
Wow...What a Ride!"
Solved!
Go to Solution.
Hey John,
Try putting your name in quotes. This will cause TestStand to interpret it as a string rather than a variable name.
Daniel E.
TestStand Product Support Engineer
National Instruments
Similar Messages
-
Additional results doesn't work with multi-line string dat
I observed an erratic behavior with "Additional Results" in TestStand 2010. The problem statement is as follows:
1. I have a variable "Locals.FirstName"
2. I have another variable "Locals.LastName"
3. Concatenate these two strings with a line feed or a new line character (Locals.FirstName+"\n"+Locals.LastName) and display it in a XML report.
Approach:
1. Using "Statement Expression" I concatenate two strings and print the result using "Additional Results"
2. For verification I display it using "Message Popup" step type. The formatting is as desired in "Message Popup". However, the new line characters appear as "Spaces" in XML report.
Tracing Of this Erratic Behavior:
1. I passed the concatenated string to LabVIEW VI and passed it to "Step.Result.ReportText" variable to log it in XML report. The same string which didn't appeared properly using “Additional Results"of "Statement Expression” step now appears proper in XML report.
I have attached the sequence file for reference. Ensure that Report option is set to XML before executing this sequence.
Can anyone justify this behavior and suggest the correct approach??
Thanks !
Attachments:
Erratic Behavior Of Additional Results.seq 8 KB
Tracing Of Erratic Behavior.vi 9 KBAmit -
Here is a modified version of the TestStand 2010 Horizontal.xsl style sheet that corrects the issue you have mentioned. Note that leading and trailing "\n" characters will still be stripped out, and all "\r" characters will be stripped out.
Hope this helps.
Manooch H.
National Instruments
Attachments:
horizontal_modified.zip 22 KB -
Additional Results not present in Properties in TestStand 4.0
Hi,
I wish to use a multimeter to record current values in my TestStand 4.0
test sequence. I was using TestStand 4.1 and the results were recording
fine to my report. I had checked the Additional Results option, but this
option is not present in 4.0. Where can i find this option to record the
value into my report?
I had been using TestStand 4.1 but have had to go back to TestStand 4.0
because some modules i wish to use are not supported in TestStand 4.1 yet.
Thanks
Solved!
Go to Solution.If you use numeric limit steps to evaluate the measured value, the result will be part of the report except you deselected "include measurements" in the report options.
This is anyways the recommended way to include measurement values in your report.
You can add additional results by using the "ReportText" variable in the Step.Result-Container. Just use a postexpression to convert your measurement value to a string and set this to the ReportText (something like: "Result.ReportText = str(locals.mymeasurement)").
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
Additional Results Custom Step using Variables in Name and Value to Log expressions?
I am trying to create a Custom Step Type for logging additional results - requiring a single Name and Value data pair included in the step.
I want to pass the name and value data in using two specific variables.
This functionality can of course be explicitly coded on a test step without problem, but I can't find a way to create a custom test step which inserts such a step i.e. automatically inserting the correct variable names into Name and Value to Log fields.
Any ideas how to accomplish this? I don't want the custom step users to have to type in the variable names every time they use it.
I am using TestStand 4.1.1
Message Edited by CIM1 on 04-20-2009 07:26 AMHi CIM1,
There are a few ways of doing this.
The simplest one would be to configure the expression in the Pre-Expression or Post-Expression (depending on whether you would like the Step Type to use the value in the variables or write the value to the variables) and then from here you can lock away the expressions from being edited. The caveat with this method is that you are obviously restricing the Pre/Post-Expressions for the step type.
Another Method would be to code some code modules to Write to/Read from the Variables and then calling these in the Steps Pre-Step SubStep or Post-Step Substep. The advantages of this method would be that you can search for the Variable, and if the variable is not present, you could create it before writing to it.
Hope this Helps.
Best Regards,
Steve H -
Additional Results option ignores \n
When including Additional results in my test stand sequence file, i save the complete listing of a text file to this option.
Problem is, in the result file(html) it displayes it without any carriage returns and line feeds...resulting in a very messy display.
Can this be fixed in some way?
Goose
Solved!
Go to Solution.morngoose -
The issue is that the text is displayed as is in the HTML file, so since HTML files ignore \n characters and presume them to be just whitespace, the linefeeds do not appear in the display version of the report. We are aware of this side affect and have not yet decided how to address this within TestStand.
A workaround would be to replace all \n characters or \r\n characters with <br /> by using the SearchAndReplace expression function as shown below. The only issue is that if you wish to log to database or use other report formats (txt), the <br /> will be logged instead of the \n.
SearchAndReplace(Locals.VarWithText, "\n", "<br />", 0, True)
Hope this helps...
Message Edited by Scott Richardson on 06-18-2009 10:47 AM
Scott Richardson
National Instruments -
How insert additional results from "SequenceFilePostStep" callback on the report
I'm trying to insert a value processed on "SequenceFilePostStep" callback on the report. But every try I did, using additional results, didn't work well.
Anyone knows how to include the value processed after every step on the report?
ThanksPlease try the following :
In the "SequenceFilePostStep" copy the processed data to a stationglobal or fileglobal variable.
In the calling step properties add this variable in the additional result (properties-->additional results).
I checked with TS 13 it reports properly.
Since the "SequenceFilePostStep" is an engine callback probably it may not support updating the report .
Hope this helps.
Ravi -
Additional Results - ASCII Report Format
Hello All,
When using "Additional Results", and having an ASCII Report Format, how do you increase the "Name" beyond 26 characters?
Its like there are 2 invisible columns, to accomodate for "Name" and "Value to log", but you can only use a 26 character Name, before you enter the second column.
Any ideas?Hey kalachnik,
This can be done, but it might take a bit of modification.
The first thing I did was add the ReportOptions callback to my sequence file. In that callback, I added a Statement step with the following expression: Parameters.ReportOptions.LabelSize = 60 . This allows names up to 60 characters long in the results.
However, the downside to this is that the Value to Log of the additional results will no longer line up with the result of normal steps, such as an Action step. Since this makes the report difficult to understand, we should probably increase the space between the name and value columns for all report results. That will require modifying the report generation sequence.
1) Go to Configure > Result Processing, click the Options button for the report, and on the Contents tab, set the report generator to Sequence instead of DLL. This allows us to make changes in a TestStand sequence file to affect the report generation.
2) Navigate to <TestStand>\Components\Models\TestStand Models and open reportgen_txt.seq. This is the sequence file which controls ASCII report generation. Find the sequence called PutOneResultInReport_lmpl. This sequence puts a single result line into the report.
3) One of the steps is "Get Gap String", and it has a statement of the following form: Locals.GapBetweenNameAndResult = Locals.StepNameLength >= 30 ? " " : Left(" ", 30 - Locals.StepNameLength). This statement indents the result by 31 spaces if the step name is longer than 30 characters, or by 30-(length of step name) if the name is shorter than 30 characters. We need to change those thresholds.
4) Set the expression to the following: Locals.GapBetweenNameAndResult = Locals.StepNameLength >= 60 ? " " : Left(" ", 60 - Locals.StepNameLength). I changed both instances of "30" to "60", and changed the blank string from 31 spaces to 61. This will cause the results to be indented further, which makes the Name column wider on the report.
This should do it, and of course you can tweak the actual values for your specific needs. You might also consider using one of the other report formats, such as XML or ATML. These formats are a bit more dynamic and can more easily handle longer names. I hope it helps, and let us know if you have any more questions about it!
Daniel E.
TestStand Product Support Engineer
National Instruments -
Include array of data in additional results
It seems not to be possible to use array of data in additional results? Anyone who knows if this correct?
Regards
VagnHi,
I tried your example, the first step I am seeing the extra result and when I add some values to your local I see them as well.
The second step doesn't because you haven't specified anything to report.
Regards
Ray
Regards
Ray Farmer
Attachments:
Additional Results test.seq 6 KB
Additional Results test_Report[11 58 17][28 01 2009].zip 3 KB -
Additional Results Condition Not Working Correctly For Parameters
TestStand 2014
Trying to log a parameter only if the step status is "Failed" won't log the parameter when the step actually fails. However, variables with the same condition will log just fine.
The attached sequence demonstrates this. Basically I have a subsequence that returns a random number and a string as parameters. I use the random number to evaluate against my limits for the test call. I want to log the string parameter only if the step fails. So I set it as an additional result and set the condition to
Step.Result.Status == "Failed"
The data never shows on the report.
But when I put an explicit additional result with the same local variable and put the exact same condition it shows on the report when the step fails.
I'm baffled as to why parameters won't log with this condition but explicit additional results work just fine with the same condition.
Any thoughts?
Thanks,
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~
Solved!
Go to Solution.
Attachments:
ParameterWontLog.seq 7 KBThe condition for the parameter's additional result is evaluted before the sequence call's status is set to failed. The 'out' parameter additional results are probably being evaluated right after the code module call, so if the the step's status isn't changed by the code module call, then it will still be "Running".
I can see how it would be nice if it worked the way you are asking, but keep in mind for in/out parameters it's typically the same expression/variable in both the 'in' and 'out' additional result, so the time at which the result is logged is important. It has to be done before the code module call for 'in' parameters and after the code module call for 'out' parameters in order to accurately reflect the state of the variables at those points in time. I think the intent is that the additional result for parameters should reflect the state of the variables at the point in time immediately right before the call for 'in' parameters and immediately after the call for 'out' parameters. Thus if you want to conditionally log a value based on the status (where the status is not changed directly by the code module), then using a regular additional result like you discovered is probably the best way to go.
Perhaps for out parameters we could delay logging until the very end, but that might result in a change in behavior if the variable state changes again before that. If you would like for us to consider that or have another idea for how to handle this better please let us know or perhaps post something to the Idea Exchange.
Another possibility is that we could temporarily log the results before and after the code module call, but then not evaluate the condition until the very end and throw out the logged result if the condition is false. That might still cause a change in behavior though if the "Value to Log" expressions have side-effects.
Hope this helps clarify things.
-Doug -
Drilldown on structure with hierarchy display shows additional result rows
Hi all,
difficult problem to explain, but I'll try:
- a structure for the rows axis
- the structure contains hierarchical elements
- each leaf node in the structure is defined as a characteristic C, restricted to certain values from a hierarchy
- additionally characteristic C is on the rows axis below the hierarchy (for detailed drilldown)
- for the row axis, "display as hierarchy" is selected (initial drilldown until structure only)
- on the columns some key figures
- zero suppression set to active for rows
So in Query Designer it looks like this:
1) Structure S
---> Subnode S1
> Element 1 (Characteristic C restricted to value V1 and V2 from hierarchy H)
---> Subnode S2
> Element 2 (Characteristic C restricted to value V3 and V4 from hierarchy H)
2) Characteristic C
Now what happens at runtime:
1. The user opens Subnode S1 and sees 1 row with cumulated values for V1 and V2
2. The user drills down further to Characteristic C
3. He sees 2 result rows below "Element 1": row 1 with value V1, row 2 with value V2
All fine.
4. Now the user opens subnode S2 and drills down to Characteristic C.
5. => The user gets 4 result rows for "Element 2":
- one row with value V3 (as expected)
- one row with value V4 (as expected)
- one row with V1 and empty values (empty values OK, but complete row not expected!)
- one row with V2 and empty values (empty values OK, but complete row not expected!)
So, apparently the OLAP processor has some issues when mixing structures with restricted elements, hierarchies and drill downs
Note: this is exactly the same behaviour as the last poster in this thread noticed:
[Re: Adding Hierarchy to Structure|Re: Adding Hierarchy to Structure]
Does anyone know about workarounds / solutions?
Hendrik
Edited by: HMaeder on Feb 25, 2010 5:31 PMAdvice from SAP so far is to go to BI Frontend SP11, which should solve the problem.
Edited by: HMaeder on Mar 17, 2010 10:04 AM -
Result Processing - Additional results work only when any of the "Output Name" Enabled
Only if i ENABLE any result type only then the SequenceFilePostResultListEntry is called
the thing is I have aditional results & I save them in TDM format
hence I dont need the options from the Result processing
is this functional behaviour expected from teststandHello aparab,
i have greated a StationGlobals ReportActivated and fill this global in the callback
ReportOptions with the the flag, if the report generation is disabled or not.
In the SequenceFilePostResultListEntry a if structure is insert that ckecks the flag.
Hope this helps.
best regards
Alexander Glasner
AE NIE
Attachments:
SequenceFilePostResultListEntry.seq 11 KB -
The %5BOut%5D gets Stuck to Parameter name in Additional Results
The in or out tag from a LV VI gets added to the parameter name
any method to remve it%5B = [
[In]
[Out] -
String limit does not appear in result list
Hello
I have a sequence file with a sequence call "String limit test". After running the sequence from a process model, the "Limits" container does not appear in the result list of the main sequence. I have checkec the IncludeInReport flag for the Limits container, still I don't see it.
Basically I need this information after calling the MainSequence in the client file, in order to create a report file. How to inclide the variable in the ResultList[]?
MadottatiMadottati,
All the data from Step.Result will be copied to Locals.ResultList. Limits container for the step is outside Result container and hence is not copied to the ResultList. IncludeInReport flag affects only properties that are in a result list or that TestStand copies to a result list.
http://www.ni.com/white-paper/8289/en/ contains more details about what properties gets added to the Result List.
You can use Additional Results feature toa add Limits container to the ResultList.
- Shashidhar -
How to add process model results to the sequence file results?
After my sequence file runs, I would like to add some additional results using the process model. I need to log my equipment list which is obtained by the process model. Alternatively, I could add a sub-sequence to the end of each of my sequence files for doing this, but that would create maintenance problems if I ever needed to change the way equipment is logged. Does anyone know a way to (1) append process model results to the sequence file results or (2) force each client sequence file to call a sub-sequence before returning to the process model.
Mark -
The report and database process model routines expect a single subsequence step result that invoked MainSequence. This result contains the results from the sequence call.
In TestStand after the process model root sequence call to MainSequence is performed, the property Locals.ResultList[0] is the MainSequence result. The subproperty Locals.ResultList[0].TS.SequenceCall.ResultList contains the results from the steps in MainSequence.
One option is to create a subsequence call in the process model that logs the equipment info in the results for its steps. The call to the subsequence should not be checked to record results.
This subsequence would have a parameter called ResultList. The Result type does not exist in the Insert menu, so you can only create the parameter by copying the empty Locals.ResultList and pasting it in the parameters. Then change its type from By Value to By Reference.
In the setup of the subsequence, add the following steps which do not record results. These steps rename the Locals.ResultList parameter to ResultListOrig, and then create a new Locals.ResultList alias property that really references Parameters.ResultList. This way any additions to the Locals.ResultList really append to the Parameter.ResultList.
Setup
Step: "Rename Locals.ResultList"
StepType, Adapter: Action, Active-X
Description:
Action, Set PropertyObject.Name = "ResultListORIG"
Record Results: False
Step: "Create Alias in Locals"
StepType, Adapter: Actioin, Active-X
Description:
Action, Call PropertyObject.SetPropertyObject ("ResultList",
0x201 ' Not Owning and Create, Parameters.ResultList)
Record Results: False
In the Main steps, you add your equipment info steps which record results.
In the Cleanup steps you undo the steps performed in Setup.
Cleanup
Step: "Delete Alias in Locals"
StepType, Adapter: Action, Active-X
Description:
Action, Call PropertyObject.DeleteSubProperty ("ResultList",
0x400 ' Refer to Alias)
Record Results: False
Step: "Rename Locals.ResultListORIG"
StepType, Adapter: Action, Active-X
Description:
Action, Set PropertyObject.Name = "ResultList"
Record Results: False
I have attached a TS 2.0 version of SequentialModel.Seq that has a AppendResults subsequence in it and this is invoked after MainSequence in Single Pass entry point.
Hope this helps...
Scott Richardson (NI)
Scott Richardson
National Instruments
Attachments:
SequentialModel.Seq 174 KB -
Best practices for logging results from Looped steps
Hi all
I would like to start a discussion to document best practices for logging results (to reports and databases) from Looped Steps
As an application example - let's say you are developing a test for one of NI's analog input or output cards and need to measure a voltage across multiple inputs or outputs.
One way to do that would be to create a sequence that switches the appropriate signals and performs a "Voltage Measurement" test in a loop.
What are your techniques for keeping track of the individual measurements so that they can be traced to the individual signal paths that are being measured?
I have used a variety of techniques such as
i )creating a custom step type that generates unique identifiers for each iteration of the loop. This required some customization to the results processing . Also the sequence developer had to include code to ensure that a unique identifier was generated for each iteration
ii) Adding an input parameter to the test function/vi, passing loop iteration to it and adding this to Additional results parameters to log.I have attached a simple example (LV 2012 and TS 2012) that includes steps inside a loop structure as well as a looped test.
If you enable both database and report generation, you will see the following:
1) The numeric limit test in the for loop always generates the same name in the report and database which makes it difficult to determine the result of a particular iteration
2) The Max voltage test report includes the paramater as an additional result but the database does not include any differentiating information
3) The Looped Limit test generates both uniques reports and database entries - you can easily see what the result for each iteration is.
As mentioned, I am seeking to start a discussion for how others handle results for steps inside loops. The only way I have been able to accomplish a result similar to that of the Looped step (unique results and database entry for each iteration of the loop) is to modify the process model results processing.
Attachments:
test.vi 27 KB
Sequence File 2.seq 9 KB
Maybe you are looking for
-
Why reinstalling OSX doesn't work
unfortunately I can not reinstall OSX, please help. many thanks
-
NW2004s Connect to Message Server Host Failed - BW to Portals connection
Hi, I am trying to connect a SAP BW NW2004s Patch 8 system to a NW2004s Portal. All of the checks in RSPOR_SETUP are successful. However when I try to launch a query from Bex Query it fails with the following message. "Connect to message server host
-
I am a web app developer using Windows XP. I work a alot in Javascript and depend on the error console to help debug my code. I upgraded several times since version 3.6, when E.C. still worked. not sure when it stopped, but certainly by version 8. Ar
-
Song starts from begginning after phone call
Hi there, I have 2 annoying problems with my built-in music app. The first: I can't manage on turning the music on using only the button on my headphones. I should say that I'm not using the sony headphones. Is this can probably be the reason for tha
-
Hello .... I have an application server with Windows Server 2008, IIS 7 and Oracle Data Provider 11G. The website was set up. NET 2008 has made reference to the oracle, and to run from the application working properly executes the SQL without problem