Import/export properties of multiple numeric limit steps

Hello
I have a question to the property loader and the import/export tool in TestStand 3.5.
When I want to export the limits of a sequence with multiple numeric steps with the import/export tool, I press the Limits button to include the limits into the 'selected' field of the properties tab. But for the multiple numeric step the limits are included not for all indices but only once with an question mark instead of an index (Result.Measurement[?].Limits.Low, Result.Measurement[?].Limits.High, Result.Measurement[?].Limits.Comp).
The property loader step acts the same way. 
What can I do ?
Thanks
Olli

Hi Olli,
For the multiple numeric limit test, you will need to individually specify which numeric limits you want to export. Lets suppose you have 3 sets of limits for your multiple numeric limit test. If you wanted to export the first set, you would use the syntax
Step.Result.Measurement[0].Limits.Low
Step.Result.Measurement[0].Limits.High
You will need to do this for each set of limits you have in your array. Simply replace the "?" with the index of the element in the array.
Hope this helps!
Best Regards,
Jonathan N.
National Instruments

Similar Messages

  • How can I tell that a default numeric format has been applied to a numeric limit step?

    I am working on generating custom HTML code for our test systems in order to reduce the 'footprint' of the standard HTML entries for numeric limits, multiple-numeric limit steps etc....
    For a Numeric Limit step, I can set the Numeric Format via the 'Limits' tab and select the pulldown arrow to select any format.  Does TestStand actually save this information with the step so I could possibly use this later?   I ask this because my modifications are within the 'ModifyReportEntry' Callback.   When I am modifying the code to generate new HTML within this callback, I have no idea if the developer has selected a Numeric Format for a given step OR simply left it as DEFAULT.
    To make matters more confusing, here is some more information....
    When I pause the execution in the callback I notice the following:
    Case 1:  User has selected a Numeric Format ( this example I will say 3 digits of precision ) %.3f. for a numeric limit step.
    Parameters.Result.Limits.Low = 10.000
    Parameters.Result.Limits.High = 20.000
    Parameters.Result.Numeric = 15.657
    Notice the numeric data is ALREADY formatted! Great, I can simply use this to generate my custom HTML table for the numeric limit step.
    Case 2 : User has left the numeric format to <Default> for the step.
    Parameters.Result.Limits.Low = 10
    Paramters.Result.Limits.High = 20
    Parameters.Result.Numeric = 15.65713515155
    Numeric data is NOT formatted.  I know that TestStand will apply the Default Numeric Format that is configured in the report options when it writes the report but since I am doing a custom report I am stuck.
    My question is how can I possibly tell that the data has already been formatted by TestStand in the ModifyReportEntry callback?  Is there some flag that I could check or anything?
    I do notice that the Parameters.ReportEntry string contains TestStand's default HTML code for the step and this is already properly formatted.. so as a possible workaround I could 'pick out' the data from this string but this is slow and time consuming.
    Thanks
    PH

    PH,
    You can find out if the numeric format has changed using the TestStand API. I use the following statement in my step's post-expression to find out the numeric format that TestStand uses for the step.
    Step.Limits.Low.NumericFormat
    If the string returned is an empty string, then it is the default format, otherwise, it's the one specified in the string.
    Hope this helps.
    Raj
    National Instruments
    Applications Engineer

  • 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
    Chris

    Chris,
    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.

  • 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 advance

    You 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

  • Exporting/Loading properties for Multiple Numeric steps

    So, my test uses quite a few 'Multiple Numeric' test steps.
    I am just looking at using the property loader to import all of these limit values.
    Now as i understand each test step in the property file (excel im y case) must have multiple columns (for each index in the data array)
    I also understand that the easiest way to generate the excel properties file is to export it before adding the values.
    Now, I am using the 'tools - import/export properties' window, and i try to add Step.Result.Measurement[x].Limits.Low but it is not available.
    There is an entry for Step.Result.Measurement[?].HighExpr, so i can add that, then change it to [0], [1] etc
    Is there not a way to add all of the array items at once?
    I need '.comp' '.Limits.Low' '.Limits.High' for each array element.
    Have i missed something obvious?
    Labview 2010, TestStand 2010

    Hi, I;m using 2010.
    I'll give a more specific case:
    In one of my multiple numeric tests i have the limit expression : Step.Result.Measurement["ck1+"].Limits.High
    (I even tryed removing the alias and using : Step.Result.Measurement[0].Limits.High)
    This can be found in the expression browser tree.
    But this does not appear in the tree of expressions when using the properties import/export window.
    The only items that do are: Result.Measurement[?].Limits.LowExpr & Result.Measurement[?].Limits.HighExpr
    i have tried manual editing entries there, but they are ignored when exporting.
    Help
    Labview 2010, TestStand 2010

  • 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.

  • 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

  • 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. 
    Thanks

    Digging 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.

  • 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
    Kim

    Kim,
    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?

  • 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,
    Derek

    Hi 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 Names

    How do I get the names of the Measurements of Multiple Numeric Limit from inside the VI that is doing the test.
    I wish to edit them to reflect the measurement that I am making.
    I can find and change the name of the step, but can't see where the name of the measurements are.
    Thanks
    Omar

    Hello Omar.
    Your VI can do this by
    (1) Get the number of array elements contained in "Step.Result.Measurement".
    (2) Get each array elements property "Name".
    The attached VI was saved with LabVIEW 7.1.
    Regards, Guenter
    Attachments:
    HowTo get MeasurementNames (in LabVIEW) of a MultipleNumericLimitStep.zip ‏20 KB

  • Multiple Numeric Limit Hide "Unused" Outputs In Test Report

    Hello,
    I have a question relating to Multiple Numeric Limit Test and output report in ascii txt format:
    Sample Measurement, this is what I see in the txt file:
     Measurement[74] :
                  Limits:
                     Low:             4.75
                     High:            5.25
                     LowExpr:         ''
                     HighExpr:        ''
                  Units:              V
                  Comparison Type:    GELE (>= <=)
                  CompExpr:           ''
                  UseCompExpr:        False
                  Data:               5
                  Status:             Passed
    Is there anyway I can hide or "not include" the unused portion of the output?  In this case I don't need LowExpr, HighExpr, CompExpr and UseCompExpr.  It will make the report cleaner and easier to navigate...essentially this:
     Measurement[74] :
                  Limits:
                     Low:             4.75
                     High:            5.25                                 
                  Units:              V
                  Comparison Type:    GELE (>= <=)
                  Data:               5
                  Status:             Passed
    Regards,
    Mike
    Solved!
    Go to Solution.

    I see the following when I create a new multinumeric limit test:
    Multiple Numeric Limit Test:   Failed
         Measurement:
            Measurement[0] (Measurement 0):
               Limits:
                  Low:             9
                  High:            11
               Comparison Type:    GELE (>= <=)
               Data:               0
               Status:             Failed
            Measurement[1] (Measurement 1):
               Limits:
                  Low:             9
                  High:            11
               Comparison Type:    GELE (>= <=)
               Data:               0
               Status:             Failed
    I think it's supposed to work exactly like you are wanting it to. Perhaps there is some issue with how the step involved was created or modified or converted. Can you reproduce this problem with a newly created and specified step? Also, please specify what version of TestStand you are using.
    -Doug

  • 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,
    Alex

    Dear 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

  • 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,
    Vijay

    Hi 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

Maybe you are looking for

  • Tiff image with JPEG compression

    How does photoshop handle RGB and YCbCr as photometric interpretations of tiff image with JPEG compression? Are they same?

  • Conditional Select Expert

    Hi,    I am trying to write a formula in the select expert based on a condition. For certain departments, I want to include specific employee hours, but, for other departments, I want to exclude them. Department is based on a number: 010 or 020 etc..

  • How I can change Hollydays date in my calendar . In UAE -Fri-Sat it's Hollydays

    How I can change Hollydays date in my calendar . In UAE -Fri-Sat it's Hollydays

  • What prerequisite required to test B2B Service

    Hi All, I am new to B2B learning phase. I am doing practice on some sample scenario for B2B implementation. Using JDeveloper after selecting the Application server connection in B2B service Configuration wizard following error is coming " An error oc

  • Send data complext to Net Webservice

    Hello, I need to send array of array to Net webservice (rest) but the webservide respond the error: {"Exception":"Object reference not set to an instance of an object.","StackTrace":" I have an sample how can I send the with PHP and works but I try t