Property Loader and Multiple Numeric Limit Test
Hi!
I'm trying to export the limits of all numeric limit tests im my sequence.
I've no idea what i'm doing wrong, but i fail with exporting the limits of the multiple numeric limit tests. There are only the limits of the "normal" numeric limit tests in my export.
Could someone please explain me how to export also the limits of the multiple numeric limit test?
(TS 2013)
when defining what to export, it is usually easiest/cleanest if you can explicitly define all multiple numeric step measurements as explicit indixes? For example if your MNL step has 2 measurements defined, you'd want to export 4 additional matches...
Step.Result.Measurement[0].Limits.Low
Step.Result.Measurement[0].Limits.High
Step.Result.Measurement[1].Limits.Low
Step.Result.Measurement[1].Limits.High
...and so on for more indexes....
note how the pattern is different from the regular
Step.Limits.*
by default when you try to export using the '>' buttons for MNL steps, TestStand will usually try to help by generating an incomplete/invalid expression of:
Step.Result.Measurement[?].Limits
which it expects you as the user to fix before proceeding, however the '?' is often overlooked, because it's so small!
some people prefer to simply export the entire Step.Result.Measurement.* to the file because they'd prefer not to define array indexes, but this will log the explicit XML for the container values, which may not be as easy for end users to work with... your mileage may vary. Good luck!
-Elaine
Similar Messages
-
Property Loader and Multiple Numeric Limits
I’m using a Multiple Numeric Limits Step with 50 measurements. From these 50 measurements I would like to create a limits file. The problem I have is that when I export the properties to a tab delimited file text file it becomes unreadable. I have attached a file with an example of what I mean.
Is there any way to format the limits file so that it is more readable?
Regards
Ray Farmer
Attachments:
example.txt 6 KBHi Ray and Scott,
This thread is closest to my challenge, so I wanted to reply
instead of post a new thread.
I may have four or five different (multiple num lim) steps
with 10 – 25 measurements each. So there’s a lot of columns AND
Result.Measurement[3].Comp might be power limits for some steps, jitter for
another and OMA for yet another.
I may also have two to five
different custom steps that have 10 – 25 unique properties each. This can stretch the top row colunn headings
of a properties file out to 75 – 100 columns.
What is a good or common approach to make property and
limits files more readable/editable by humans? I’ve tried a custom file editor
and a custom property loader, is one approach better, any other ideas? Should I
make steps with many properties or results into subsequences? Thanks
Sincerely,
Chris C.
more context:
I find
reading Ray’s example.txt file in excel better than notepad, but still
more cumbersome than I’d like. I also have the same problem with custom
step types that contain 10 – 25 properties to load at runtime, though this
is a little better because the NAME of the property is used in the column
headers. If I exported properties from a seq with four different steps
with 20 props each, the top property file row stretches out to 80 columns.
If I use Markers I think I can “stack” the column headers in excel and not
have such a wide file.
For
the limits I’m going to need to see the measurement name in the file,
Measurement[“Pave”].Comp instead of
Measurement[3].Comp. I tried changing this in the limits file and
the Import tool but it wouldn’t work, is it possible?
I
built a limits and property file editor app (jpeg attached) for one
project to make editing easier and less error prone, and also maintain the
native TestStand file formats and property loader. The leftmost column
retains the order of the sequence.
I have
experimented with my own property loader, however it is not based on the
property loader code that comes with TestStand because I did it in
LabVIEW. This produces a file that looks like the attached jpeg and is readable in
Excel, a requirement (or was that a whine?) of my organization. (Can’t use
a database.) However it seems a little dangerous to recreate TestStand
components.
Attachments:
EditTSPropertyFileApp.jpg 150 KB -
Multiple Numeric Limit Test - Evaluate Post and Status Expression
We have a Multiple Numeric Limit Test where the limits for one of the measurements is a function of one of the other measurements.
In the Post-Expression there are two expressions that set the low and high limit based on one of the readings.
But the comparison does not seem to be using the calculated limits.
The report file shows the correct calculated Low and High Limits, and shows the measured reading as being in between the Low and High limit, but fails that measurement. I feel the Status Expression is using the default limits that are out of range.
The post expression looks like this
Step.Result.Measurement[2].Limits.Low=Step.NumericArray[1]*1.9,
Step.Result.Measurement[2].Limits.High=Step.NumericArray[1]*2.1
In Table 3-4 "Order of Action that a Step Performs", Evaluate Post-Expression (Action #15) is before Evaluate Status Expression (Action #16), but it seems that is not the case.
Or am I changing the wrong Low and High Limits. Am I just changing the Limits used in the report file and not the limits used for comparison?
Again the correct low and high limits are in the report but not used for comparison.
ThanksDigging into the NI step type for Multiple Numeric Limit Test, I find that the comparison is done at Post-Step substep which is before my Post Expression is evaluated to set the correct limits.
So I have added code to my VI module to set the limits after taking the measurements but before returning to TestStand. -
Dynamically configure multiple numeric limit test measurements
I seek to dynamically (programatically) configure a multiple numeric limit test such that I may set / increase / change the number of measurements in the step during execution. For example, I'd like to setup the step for 5 measurements:
M1, M2, M3, M4, M5 with limits 4<=x<=13.
I'll set the result data to {1,2,3,4,5}.
I can successfully set:
MyMultipleNumLimTestStep.ExpectedNumMeas = 5
MyMultipleNumLimTestStep.NumericArray (Number of elements to 5)
MyMultipleNumLimTestStep.DataSourceArray (Number of elements to 5)
MyMultipleNumLimTestStep.Result.Measurement (Numer of elements to 5)
Following that, I can access the individual measurement property objects (by offset) and set the Name, Limits.Low, Limits.High, etc...
During execution, I can view the step variables to see the values getting set correctly.
BUT, in the report, I only see measurement name, status and the measurement value. NOT the units, limits, comparison type.
Step
Status
Measurement
Units
Limits
Low Limit
High Limit
Comparison Type
AmpMatchTest
Failed
Measurement:
M1
Failed
1.000
M2
Failed
2.000
M3
Failed
3.000
M4
Passed
4.000
M5
Passed
5.000
Take note, prior to execution, I have no entries defined in the Limits tab of the step settings for this step. If I were to define, say, two steps and run again:
Step
Status
Measurement
Units
Limits
Low Limit
High Limit
Comparison Type
AmpMatchTest
Failed
Measurement:
M1
Failed
1.000
dB
4
13
GELE(>= <=)
M2
Failed
2.000
dB
4
13
GELE(>= <=)
M3
Failed
3.000
M4
Passed
4.000
M5
Passed
5.000
If I define >5 entries, my code will limit the result to 5. Any ideas?
Thanks,
DerekHi jigg.
I also need to configure a multiple numeric limit test programatically. Unfortunately your solution seems not to work (in Teststand 2013). Also with your code I get limits and comparsion entries in the report only for the first measurement. This is the one already existing in the step configuration.
Step
Status
Measurement
Units
Limits
Low Limit
High Limit
Comparison Type
Dynamic Call
Passed
Measurement:
AllParts
Passed
1
1 = Pass
1
EQ(==)
Another Part
Passed
1
Part 20
Passed
1
Part 2
Passed
1
Part 1
Passed
1
If I add a second measurement in the step, this one is shifted (like expected) and shows the limits and comparsion in the report.
Step
Status
Measurement
Units
Limits
Low Limit
High Limit
Comparison Type
Dynamic Call
Failed
Measurement:
AllParts
Passed
1
1 = Pass
1
EQ(==)
Another Part
Passed
1
Part 20
Passed
1
Part 2
Passed
1
Part 1
Passed
1
Measurement 1
Failed
0
1 = Pass
1
EQ(==)
What is special with the preconfigured measurements, compared to the programatically created test? Any help is very appreciated.
Thanks
--rainer -
Multiple Numeric Limit Test - Accessing only the failed tests
I would to access only the failed tests in a multiple numeric limit test. The specific information I want to access is the measurement value, low limit, high limit, and comparator type. I need to access these pieces of information during runtime from a Message Popup, therefore i have to use the Message Expression field in the "Text and Buttons" tab of the Message Popup step to access this information.
[DL]Hi,
PostStepFailureCallback is the one you want to start with. The only difference is where you get the data from the Step.Results.
For the Limits etc you will need to look in the Measurement property. Also, beware that you are dealing with an array of data.
Regards
Ray Farmer -
Custom Looping Multiple Numeric Limit Test SequenceFilePostStepFailure
Hi
I am using a custom loop on Multiple Numeric Limit Test. The SequenceFilePostStepFailure callback is called each time the loop fails and called again when the step fails.
I want to do something (not relevant for this question) when it is looping and something else when the step fails. How do I know the difference? Is there any flag to look for?
I have tried looking at several variables under RunState but haven’t found the right one. Is there one?
Thanks in Advance
KimKim,
Try Runstate.Caller.Step.Looptype you can compare this to NoLooping. If NoLooping then the step doesn't loop. You can also use Runstate.Caller.Step to get a Step object and then just use the API calls to manipulate it. You can read about it in the TS help. To get the loopindex try: Runstate.Caller.Loopindex.
Both should be ran in the SequenceFilePostStepFailure Callback.
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~ -
Execution order of Multiple Numeric Limit Test?
What is the execution order of "Multiple Numeric Limit Test" in TestStand 2010?
I am using a custom steptype of Multiple Numeric Limit Test. I want to manipulate the input parameter. How can I do that. I am not interested in making a new steptype. I am writing in Post-Expressions and the data is manipulated as they should but it is not evaluated. I is evaluated before the Post-Expressions executes.
For example I am writing: Step.NumericArray[0]= Step.NumericArray[0]*1000/(2.5-Step.NumericArray[0])
The execution order when looking at the TS manual at page 3-13 is Evaluate Post-Expression before Evaluate Status expression. But it is not what I see. I have also tryed using the more simple Numeric Limit Test and it works as I expect it to according the manual.
Anyone knows about any workaround for that?Hi Ray
Thanks for your reply
I have tried writing what you are suggesting: Step.Result.Measurement[0].Data= Step.Result.Measurement[0].Data*1000/(2.5-Step.Result.Measurement[0].Data)
Still it evaluates the step before the post-Expression. When I am looking at the variables at runtime the Step.Result.Measurement[0].Data is having the correct value but it seems to evaluate the step before the Post-Expressions.
Any other suggestions? -
Notice -- Fix for Multiple Numeric Limit Test Status in TestStand 2.0.1
Dear TestStand Customer:
National Instruments is committed to product quality and customer
satisfaction. As part of our commitment, we want to ensure your success
with our products by delivering industry-leading support and immediate
information regarding issues potentially affecting you. We discovered an
issue in TestStand 2.0.1 that may affect the integrity of some test
results. This issue affects TestStand users meeting both of the following
criteria:
1. You are using sequence files with instances of the multiple numeric
limit test that were saved in TestStand 2. 0.
2. You have recently upgraded these sequence files from TestStand 2.0 to
TestStand 2.0.1.
For the complete problem overv
iew, please visit
http://digital.ni.com/express.nsf/express?openagent&code=exjaxg
In order to immediately remedy this problem on current TestStand 2.0.1
installations, download the corrective patch at
http://digital.ni.com/express.nsf/express?openagent&code=exjaxg To prevent
this issue from occurring in future installations of TestStand 2.0.1
development and deployment systems, we are creating a new TestStand CD,
version 2.0.1f1, which we plan to send to all existing TestStand 2.0.1 and
Developer Suite Test Edition customers with TestStand 2.0.1 during the next
two to three weeks. If you have a TestStand 2.0.1 CD, please replace it with
the new TestStand 2.0.1f1 CD.
Thank you for your patience and understanding in this matter. We remain
committed to your success and will continue to inform you of any issues
potentially affecting you in the future. If you have any questions, please
call me at (512) 683-5880 or email me at mailto:[email protected]
Best re
gards,
Richard McDonell
TestStand Product Manager
National Instruments
(512) 683-5880 Office
(512) 683-5569 Fax
mailto:[email protected]This issue has been resolved in TestStand 3.0. For more information on TestStand 3.0, please visit ni.com/info and enter "teststand3".
Regards,
Richard McDonell
NI TestStand Product Manager
National Instruments -
Combine "Pass/Fail" and "Multiple numeric limet" tests
Hi,
how is it possible to combine a pass/fail and a multiple numeric limit test?
I know that you can create your own step types and so I already combined these two steps. But now i can only observe the numeric limits. Regardless of the pass/fail source ("Edit Pass/Fail Source") TestStand only looks at the numeric limits. If they are ok the test is passed. If not, it is failed. It does not matter if "Step.Result.PassFail" is True or False.
What is the problem, or do i make any mistakes?
Thanks for your help
DanielHi,
You will need to include the Step.Result.PassFail in the Status Expression. Probably at the moment you only have the NumericLimitTest Status expression in your combined step type. You will need to changed the Status Expression to match your requirement which will give you an overall Pass Fail for your step type.
Regards
Ray Farmer
Regards
Ray Farmer -
Multiple Multiple Numeric Limit Test
Hello
I have a test that I have written (LabVIEW) that produces 2 arrays of numeric Values. 1 array of Gain data and 1 array of Noise data. I want to apply (different) limits to each array (Same limit for each element within array). How do I do this in TestStand. I have used the multiple numeric limit test for tests returning a single array of data but my test returns 2 arrays.
It would be really in-efficient to split the test up into 2 tests as both Noise and Gain data comes back from the instruments in one sweep.
Any clues ?
Regards
ChrisChris,
Since your code module returns two arrays and you do not want to call the module twice you could have the LabVIEW multiple numeric limit test step to validate one of the arrays and have a None multiple numeric limit step to validate the second array. You have to send one of the arrays to a local or global variable so you can access it from the None multiple numeric limit step.
You could even execute these steps in a separate sequence and call it using a Sequence Call step if you want to see all the process as a single step.
Another option would be to create your own multiple numeric limit step type in order to support two different arrays as the data source at the same time. This solution requires more work from you. You could take the existing multiple numeric limit step type code as a starting point.
You can fin the code under <TestStand>\Components\NI\StepTypes\CommonSubSteps.
If you plan on modifying the code it is better to make a copy under <TestStand>\Components\User\StepTypes and modify it there.
This will prevent future upgrades from overwriting your changes.
If you have any question let me know.
Hope it Helps.
Antonio Lie. -
Measurement for multiple numeric limit test
Hello,
I am developing a test software using LabWindows and TestStand. In my application, I have added a no: of multinumeric tests. In Operator Interface, I want to display each measurement in run time, instead of waiting for completion of all the measurements with Multiple numeric limit test. Is there any way to receive in TSOP each runtime measurent taken for multiple numeric limit test without waiting for multinumeric limit test over?
Thanks in advance......
Best Regards,
VijayHi Vijay,
Unfortunately, a Multiple Numeric Limit Test will not allow you to return each measurement inside the step as it executes. If you need this to occur, there are other methods that you could take. You could create a custom step type or use many Numeric Limit Test steps and pass them the indexes in your array.
Another method you might use would be to use an Action step and save the array locally. Then, you could use Statement steps to evaluate each item in the array.
Jessica
National Instruments
Product Support Engineer -
Testing boolean in multiple numeric limit test
Hi ,
My VI is giving out 3 booleans and 2 numeric values which are needed to be tested. Can we use "multiple numeric limit test" and if so how do we do that?
Regards
PravI would use the Boolean to (0,1) function and have all of the results numeric.
-
Display all measurements in Multiple Numeric Limit Test using UI SeuqenceView Control
Hi, I found only the total result in Multiple Numeric Limit test can be show in UI SequenceView Control. How can I display more detail information in it?
For example, If I want to display like this:
Mulitple Numeric Limit test FAIL
Measurement1 PASS
Measuremtnt2 FAIL
Is it possible in UI sequenceview control?
Thanks in advanceYou might be interested in this community example: Recursive Expression in TestStand.
It is possible (though not traightforward) to loop in an expression using recursion. The example above shows how to use recursion in an expression to list all of the limits of a multiple numeric limit step. This is similar to what you want to do with measurements.
I honestly think you're better off with Doug's suggestion to hard-code a maximum number of measurements to display as using recursion in expressions is not easy.
Josh W.
Certified TestStand Architect
Formerly blue -
Custom Step From Multiple Numeric Limit Test | Hiding Limit Tab
Hi All,
I am trying to create a Custom step from Multiple Numeric Limit Test. The custom step by itself poplulates the Limits value from the measurement. So I am planning on hiding the Limits Tab in the step settings. Can someone guide me on how to do this ?
Thanks,
Prasaanthan
Solved!
Go to Solution.Prasaanthan,
if you do not need the Edit Substep at all, you can delete it from the substep list.
Keep in mind that TS gains a lot by using very focused modules. So including a module which does two things (taking measurements, populating limits) might beckfire one day result in "difficult to manage" applications.
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it. -
NI_LimitMeasurement in multiple numeric limit test results ?
Hi,
I'm setting up a database where I will store my teststand results. I've seen that the default "multiple numeric limit test" stores as first result an entry with type_name = "Array of NI_Measurement[0..n]" (n being the number of values returned by this step).
What's the goal of storing this in the database ? Is it only used to know how many results have been returned by the step ?
Regards,
AlexDear SG3,
I've a written a simple TestStand sequence which executes a single "Multiple Numeric Limit Test" returning 2 random values :
The results are stored in my database using the default "MySQL Insert (NI)" schema. When I look for what has been written to the database, there are 2 steps results in the "STEP_RESULT" table. The first one is the MainSequence Callback. The second one is my "Multiple Numeric Limit Test" step.
If I then display the corresponding results of this step that are in the "PROP_RESULT" table, here is what I get :
There are 3 entries in this table. The first one is named "Measurement" from type "Array of NI_LimitMeasurement[0..1]". The two other entries are my generated random numbers.
What is the purpose of the first entry ?
Regards,
Alex
Maybe you are looking for
-
Creation of project using CJ01 transaction
Hello Friends, I have requirement where i have to Create a project and their WBS elements using Transaction CJ01. I have found out that we can use the following BAPI's: BAPI_PROJECT_MAINTAIN. BAPI_PROJECTDEF_CREATE BAPI_PROJECT_SAVEREPLICA. But how c
-
I updated my iMac to 10.7.3 and about an hour later the screen began to flicker with a gray line on the upper side, and it also flicker green and red small pixel lines all over the screen, mainly green. The computer froze with these pixels, so I shut
-
Play two video files at the same time.
I am trying to play two video files at the same time. I create two threads, each of which has its own frame, playing button, and builds its own graph to play the file. Now everything seems works except that when the first file is being played and I h
-
I have a forms of an employee where i have to select employees from the LOV in this form i also want to show employess picture, I tried to show it through LOV, but when i query using BLOB column it says that INVALID SQL QUERY Plese if any one can hel
-
Copying Records from one form to another in Forms 4.5 (**URGENT**)
Hello Gurus, I have Form A through which I zoom to Form B (using open form). The user selects some records in form B. Those selected records should be displayed in form A after the user clicks a button say 'copy' in Form B. What is the best possible