03-07-2024 04:00 AM
Hello,
I am working on a custom model plugin to link our internals trackabilities (yes plural) system to TestStand.
All of our different trackabilities are packaged into one C#/Dot Net dll. This way we got only one entry point and don't have any difference between iTac or SQL or flat file or other in-house tracea system.
This DLL was developed before we start using TestStand.
So today my job is to make a TestStand Plugin that adapt the TestStand data to the format that our DLL accept.
Sadly, I am facing issue as I don't find the relevant documentation about the Result container.
I ask duckduck go and Bing Copilot to get a starting point and i use the "computer" example with breakpoint to try to get data.
I was able write myself some documentation. But when you think you got it you find again more difference....
My finding:
Result is not not the same between PassFail, Numeric and String... (not easy to code something with that..)
Then i discover that the Limit container exist in different formats, even for numeric test.
Solved! Go to Solution.
03-09-2024 12:25 PM
Romain -
As a summary:
The above mentioned flexibility allows step types, built-in and custom, to handle whatever they are designed to do.
You are correct that this flexibility makes it more challenging for result processing plug-ins to save results. The approach for a plugin must be one or more of the following:
Regarding "RawLimits", there are two groups of limit comparisons, one that compares against actual numbers and can contain equality, and EQT that compares against a nominal value and its upper & lower threshold value to define a range. All numbers in TestStand are effectively floating point and each property has a numeric format. The default is %f which has 13 digits of precision and allows to properly compare integral values being equal even though they are represented as floating point internally.
If I remember correctly, there were cases where the EQT comparison that used a 'real' numeric format was not appearing correctly in reports for cases where the measurement was within the limits, the test passed, but the calculated actual high and low limit by the report put the measurement outside the limits. The below image now uses the values in raw limits to properly calculate the lower and high bound when the report is rendered.
This is what the result values look like in results:
There might have been other similar cases where the the test result was correct, but what appeared in the report looked like it should have failed.
Regarding creating result processors, if you did not already know it, there is this help topic: Examples for Customizing Result Processing and their examples here: C:\Users\Public\Documents\National Instruments\<TestStand>\Examples\Customizing Result Processing\
Hope the above helps...
03-11-2024 03:05 AM
Hello Scott,
Thanks you, a lot! This is what is wanted to find. All you link goes to my favorite bookmark 😄
Last Friday spent my day to write what i have understand and continue to play with teststand and breakpoint.
I better understand now how everything is working.
As you sugest, i am already playing with the report example to see how NI team have done it. And since I will need to code the on the fly, i will continue to look at them.