In the TestStand report generator it's possible to show/plot graphs within the report. Unfortunatelly it's not possible to add axis labels to the graphs. In my opinion this is a must because a graph without knowing the units of x, y axis is a useless graph. It would be awesome if this feature could be implemented.
What this means is that each step result is referenced against a somewhat arbitrary and changing epoch that isn't recognizable outside any one instance of the TestStand application, let alone by external applications.
I'd like to propose adding TS.StartTimeUnix, which contains the absolute time the step started.
I've added this in our model customization plugins, but to convert the epoch to UNIX I have to perform this calculation:
In our step result database table, we've added a column for STEP_START_DATE_TIME which is absolute UTC time. To populate this I have to go through the gymnastics above. I revisited this code today and thought, "What silliness. This should be something natively supported." (Other than that I have no strong opinion on the matter)
TestStand File Diff and Merge Utility is not very useful for code reviews on its own. It seems adequate for notifying the user that a sequence was added, however from the tool itself the user cannot actually review the newly added or removed sequence's contents. Why is there no + on the item tree to go deeper.
If I have to right-click a sequence and select "Go to location" then why bother with the separate tool to begin with? Why isn't the diff utility integrated into TestStand's sequence editor itself? Seems like a side-by-side comparison within Sequence Editor would allow a reviewer to poke and prod around all the hidden settings that are often missed using the existing utility.
The "Report Options" dialog box provides a lot of flexibilty in the way reports are generated for sequences executing under the Batch model. A new report can be generated for each UUT, for each socket, etc. One option that appears to be lacking, is to flat out not generate a Batch Report. Doing a brief search, I found at two other folks who were trying to do the same thing:
It would be helpful to be able to provide a regular expression (like Labview Match Pattern) as a string value test limit. We often look for a pattern of data within a string rather than a constant.
Maybe also a regular expression function within the built in functions within TestStand expressions would be a help also. This could provide more flexibility if a user needs it. For example adding option to gain match position, and match length as well as give the option to search in reverse and ignore case.
Currently, to export properties which are part of an array, such as the limits of a multiple numeric limit test, you have to specify each index of the array separately, like in the first screen shot, or else you get all of the raw XML, which is difficult to interpret and use.
This is both labor intensive and unituitive. . If instead we had the option to export the array with the "?" and have it parse the information out like in picture 1, it would be much simpler to use.
A nice feature of reporting is the ability to form the report file pathname using an expression. However, since the path is resolved before the client Sequence file is executed, you cannot use properties populated in the client sequence file as part of the report pathname. Currently the only way to accomplish this without modifying the model or reportOptions callback is by including the <UUTStatus> macro in the path expression, which enables a portion of the process model which copies the report to a new path based on the result of the UUT:
I propose that we add an option to force the report path to be re-evaluated after the client sequence to allow users to include properties evaluated in the client sequence file in the report file path without needing to include the <UUTStatus> macro. (basically exposing the ReportOptions.NewFileNameForEachUUTStatus property in the dialog)
I create a model plugin and add some model callbacks to it. Then I want to access those model callbacks from my client file. I have to now add them to the process model so they show up in the list when I go to add callbacks. I get that I can add it as a blue sequence and it will work However, that is confusing to other developers if they don't know the plugin has the callback in it. It is painful to change the process model every time I create a new plugin because the process model could be used on hundreds of machines whereas my plugin may only be needed for 1 or 2 machines.
Option 1: Show all callbacks from any plugins in the callback dialog list
Option 2: create a configurable list of model callbacks. Basically add any sequence files marked as model to the list and it will show all the callbacks from the sequence files in the list to the client, unless it cannot find the file in any search directory. Then it wouldn't show.
Option 3: From the add callback dialog allow the user to browse to a sequence file which contains model callbacks
I think adding this functionality will greatly help in making the plugins more abstracted from the process models. Just saying.
As NI has acknowledged (here, here) for more than 5 years, the Build .sql File button creates schemas with errors. This is even true for the default schemas in the left of the dialog. Would be great if NI would go ahead and correct this. BTW - to create default tables in the meantime, a developer should use a SQL file located here: <TestStand>\Components\Models\TestStandModels\Database
It would be nice if there were an easy means of programmatically loading a database schema for result processing.
Here's my context for asking:
We have a custom database schema that must be loaded on all of our stations and we'd prefer that it "just works" when our customized database result processing plugin is loaded.
I managed to accomplish this by studying the format of TestStandDatabaseSchemas.ini and writing a parser to insert our schema as necessary. This was a bit painful, though, and the possibility of the format changing without notice has crossed my mind.
Thanks as usual to the R&D team. (Assuming this idea gets some traction! )
As we can read in this very good document, we can add information in header for UUT in Report.
It is mentionned that we can do that for StationInfo in the same way:
"The report below includes the custom data in the AdditionalData container. The process for adding custom Station data is similar, but uses the Parameters.ModelData.StationInfo property instead of Parameters.UUT."
In fact, it doesn't work in TestStand 2014 and later, certainly the same for 2013 because the default report plug-ins doesn't support it as you can see in the help of TestStand 2016.
Maybe NI can add it like it is done for UUT.AdditionalData. The goal is to avoid to put some Station Info in UUT result to show it easily in reports.
In the report options, when you have selected to include measurements and insert graphs, it would be nice if TestStand could provide an option to display multiple numeric limit test measurements in graphical form. To expand on that, when the value goes outside of a limit, it would be nice to have a red point on the graph to show where this occurred at.