Sorting in TestStand matrix

Hello

I have a picture of the custom type container, something like:

-Testname
-Type
-Operation

...

I want to sort this table by Type and operation.

Is this possible in 2010 TS? If this isn't the case - what is the best way to do it? I'm also using LabVIEW and C/C++.

Thanks in advance

In this case I recommend to LabVIEW and let the LV to manage the bulk of the work: http://forums.ni.com/t5/LabVIEW/Sort-1D-array-of-clusters-by-the-second-element-in-the-cluster/td-p/...

Discover the message of Darren.  It's sort of own clusters.

TestStand is not designed for complex algorithms.  Although you could probably do TS you'd have to come up with the algorithm.

See you soon,.

Tags: NI Software

Similar Questions

  • Neo, whats up with that sort of thing Matrix?

    I want to evaluate for their x axis text blocks and if they are the same move them slightly because of the adobes irritating habit to combine text blocks when making a PDF. I was able to assess, but not exactly as I want, but I know it's possible...

    myDoc var = app.activeDocument;

    var mytext = mydoc.textFrames;

    var allX_Vaues = new Array();



    for (i = 0; i < mytext.length; i ++) {}

    var mytextFrames = mydoc.textFrames [i];

    theMatrix var = mytextFrames.matrix;

    allX_Vaues.push (theMatrix.mValueTX)

    var firstEval = allX_Vaues

    ($.writeln(theMatrix.mValueA+"\r"+theMatrix.mValueB+"\r"+theMatrix.mValueC+"\r"+theMatrix.mValueD+"\r"+theMatrix.mValueTX+"\r"+theMatrix.mValueTY);

    Alert (allX_Vaues);

    }

    Alert(allX_Vaues[1]);

    for (i = 0; i < allX_Vaues.length; i ++) {}

    If (allX_Vaues [i] == allX_Vaues [i + 1]) {}

    Alert (allX_Vaues [i] + "and" + allX_Vaues [i + 1] + "are the same");

    }

    on the other

    {

    Alert (allX_Vaues [i] + "and" + allX_Vaues [i + 1] + "are different");

    }

    }

    My problem is when I try to move blocks of text...

    myDoc var = app.activeDocument;

    var mytext = mydoc.textFrames [0];

    var matrixValue = mytext.matrix.mValueTX

    var addToMatrix = 1

    var moveMatrix = app.getTranslationMatrix (theMatrix);

    var totalMatrix = concatenateTranslationMatrix (moveMatrix, addToMatrix)

    myText.Transform (totalMatrix);

    Alert (moveMatrix);

    He steals the path of the page. I just want the text a bit and concatenation is the only way I managed. My question is: is there a better way and why my flight to date of the page text?

    any help would be appreciated,

    Duane

    Returns under heading a (x, y) table, so that you can do

    x = sel.position [0];

    y = sel.position [1];

  • How to read the worksheet for setpoint speed using the speed control (Closed Loop)

    My VI is able to go through a series of speed reference points that lie in a sort of constant matrix. I have to be able to go through a series of hundreds of game points, and fill in the constant table whenever I have a new profile to test don't will not work.

    I tried to use a reading of block of spreadsheet and table of Index to read values from a worksheet, but when I run the program, it does not seem to read the values in the file.

    The path must be correct, but I don't know if there may be a problem of formatting with file worksheet regarding the delimiter. Or maybe not all the parameters are filled with reading block of spreadsheet.

    Anyway, any help with my problem would be appreciated. I'll give the VI as an attachment to this post. Nine set points which worked with the VI are in the constant blue table, which was previously set to where the entire Long block is now fixed.

    Brandon

    Hi Brandon,.

    That's right, I withdraw my previous response. I apologize to this topic.

    I noticed that in your code, you select the line at index 0 instead of the first column. When you use the table to Index out of the loop block, make sure that you select the column at index 0 so you can enter the first column in the input file. This should get you 1 d table you're looking for.

  • G60-642NR: SSD upgrade Question

    I have a dead 320GB 7200K 2.5 "9.5 mm HDD.

    I want to replace by SSD. However, I find only 7mm SSD. I'm not also find any sort of compatibility matrix. Can you tell me a good SSD that will work with this laptop? I want to stay as close to 320 GB as possible without breaking the Bank.

    In addition,

    I'll probably have to buy the original disks supplied with this laptop as support has expired on this laptop. I think this should work for just do a fresh install, then enter the license key Windows on the tag. Any thoughts on this would be appreciated as well.

    Hello

    Normally the SSD vendors will support or some kinds of plastic chassis/parts that allow you to increase from 7mm to 9.5 mm correctly (and at least 4 screws will keep it in place). Many people use Samsung and Crucial SSD, I did not have luck with Intel, OCz Kingstone but 4 of my laptops use now SanDisk and Crucial SSD.

    You can use the key to the new HDD or SSD installation and you must use the RIGHT Windows 7 version you can download from the following link.

    http://www.w7forums.com/threads/official-Windows-7-SP1-ISO-image-downloads.12325/

    Kind regards.

  • Oracle matrix report - sorting problem

    I have developed a relationship of type matrix in the query I wrote the correct sort order. If I run the query in the TOAD sort order is correct. Display of the data on the report is to give the problem the sort order is different. Could you please tell me is it possible to get the desired sort order.

    In a matrix, you can manage the sort order of the rows/columns by going directly in the field presentation and changing the order of the breakdown, by default the pause command is growing... so your columns/rows are already sorted by default.

    I guess you try to get a descending order, and that's what you see not applied with your ORDER BY clause...

  • User-defined sorting matrix

    Anyone know how I can better sort an array of a user-defined class? I need to sort by an int of this property.  Also, I need to keep this table permanently if that makes a difference...

    Want to watch Arrays.sort and comparator class. Standard Java.

  • Bug in the sorting matrix?

    Here is my code:

    for (var pNum:int = 0; pNum < = 144; pNum ++) {}
    var itemCount:Number = this [("P" + pNum)] .length;
    var left: Number = 58;
    . source.sortOn this [("P" + PNUM)] ("height", Array.DESCENDING);
    for (var theArray:int = 0; theArray < this [("P" + pNum)] .length; theArray ++) {}
    }

    If I have two items in my table, at height of 200 and the other to the tune of 80. The kind puts 80 to 200. If my point of heights are 80 and 40, it sorts correctly and put the 80 in front of the 40. If my point of heights are 140 and 100, then it sorts wrong, put 100 to 140. The sorting only works for numbers less than 100. Is it a bug, a limitation, or I do something wrong?

    Well, first of all looking at this block of code, I'd say that you might benefit from a bit of refactoring to simplify everything you do.

    for (var pNum:int = 0; pNum<= 144="" ;="">

    sortByHeight (pNum);
    }

    private void sortByHeight(index:int):void {}

    var itemCount:Number = this [index] .length;
    var left: Number = 58;
    Cette.source.sortOn [index] ("height", Array.DESCENDING);

    for (var theArray:int = 0; theArray< this[index].length="" ;="">
    }
    }

    You will maybe just do this instead of just "Array.DESCENDING", looks like it is sort your numbers as ASCII characters or something:

    Array.DESCENDING | Array.NUMERIC

  • What page of matrices of pilot will be available with entries sorted by date

    As the owner of R61 and ThinkPad R500, I noticed recently that page of matrix of the pilot for a number of models have a totally new Thinkpad format which allows to sort the entries by date. This includes the pages for models T61 and T400 driver matrix. These models are of the same vintage as my own computers,

    When will it be available for R61 and R500 models this format?

    Driver R61 matrices both R500 are now in the new format, but with many errors and omissions. I'll post the individual entries in a vain attempt to get the corrected.

  • connection of an external matrix lines

    Hello

    I have 2 boards of matrix I want to connect all the lines upward on the external connector.

    I use and test bench to create a test sequence you want router programmatically a stem of the instrument on a spit of had TO based on the names of the pins.

    I put in place general switch with the names on the matrix.

    Do I need to use routing groups? or can I just have a function to the test that says something in the sense of 'connect? ' PSU + v to DUTVdd

    I don't really want to hardcode the routing groups, even if they are editable within the Executive branch of the switch.

    Jacob,

    The default property of 'Activation' from one stage of TestStand works by linking routegroups and routes pre-configured. What you can do to overcome this limitation is the following:

    Max:

    1. On the tab ' Report/bus', create a Bus from r0 to Dev1 and ending the rX of Dev1. Add Dev2 r0 to Dev 2 rX. This creates an electrician between r0 on Dev 1 and r0 on 2 Dev throughout rX.

    2. Go to the tab "Channels/Exclusions", the value r0 rX Dev1, Dev2 as "reserved for routing.

    3. Give all column names.

    In TestStand:

    1. Create three [RouteSpec, channel 1 and canal2] string variables and variable number [status]

    2. Somewhere in your code are a step in the 'statement' assign names to channel to channel 1 and canal2

    3. Drop an IVI > switch step

    4. Click on «Change the switch...» »

      • Click the 'Switch Executive' radio button

      • Select your 'virtual device name.

      • Select the operation as being 'get information '.

      • Select channel 1 as the variable channel 1 and channel 2 as the canal2 variable.

      • Select the variable RouteSpec as the Destination

      • Select the state variable as a status

      • Click on 'OK '.

    5. Drop an IVI > skip step

    6. Click on «Change the switch...» »

      • Click the 'Switch Executive' radio button

      • Select your 'virtual device name.

      • Select your Action [connect]

      • Select the variable RouteSpec as "routes (s) to connect.

      • Select other settings

      • Click on 'OK '.

    This should do what you wanted to do any TestStand!

    Good luck!

  • Code/sequence TestStand sharing best practices?

    I am the architect for a project that uses TestStand, Switch Executive and LabVIEW code modules to control automated on a certain number of USE that we do.

    It's my first time using TestStand and I want to adopt the best practices of software allowing sharing between my other software engineers who each will be responsible to create scripts of TestStand for one of the DUT single a lot of code.  I've identified some 'functions' which will be common across all UUT like connecting two points on our switching matrix and then take a measure of tension with our EMS to check if it meets the limits.

    The gist of my question is which is the version of TestStand to a LabVIEW library for sequence calls?

    Right now what I did is to create these sequences Commons/generic settings and placed in their own sequence called "Functions.seq" common file as a pseduo library.   This "Common Functions.seq" file is never intended to be run as a script itself, rather the sequences inside are put in by another top-level sequence that is unique to one of our DUT.

    Is this a good practice or is there a better way to compartmentalize the calls of common sequence?

    It seems that you are doing it correctly.  I always remove MainSequence out there too, it will trigger an error if they try to run it with a model.  You can also access the properties of file sequence and disassociate from any model.

    I always equate a sequence on a vi and a sequence for a lvlib file.  In this case, a step is a node in the diagram and local variables are son.

    They just need to include this library of sequence files in their construction (and all of its dependencies).

    Hope this helps,

  • How to use the return value of TestComplete (using COM) as a variable in the conditional statement (for example loops) TestStand

    Hello

    I have setup a COM interface for TestStand (TS) to run some scripts in TestComplete (TC).  Normally, when TestComplete has finished executing the script, it returns a 0 or 1 to designate the success/failure during the TestStand step (step test for example String value).  It worked well.

    However, now I need TestComplete to regain a vaule (e.g. 32) TS and TS need to assess this value in a while statement. So if the TC value is 32, I would have some statement in TS ike:

    While (return value! = 30)

    Do something...

    Thank you

    Jigg,

    No, the program does not have a new thread.  It's just a single sequential thread. She called other sequential files, and that's all.

    I think I'll have some luck with the StationGlobal.  It seems to work (for example by setting the StationGlobal a single sequence file automatically updates the Stationglobal in another movie file, sort of like passing the reference value)

    Thank you!

  • TestStand communicates only with labview

    Hi all

    I use 2012 Teststand and Labview 2012 SP1. I use Testsequence calling developed Codemodules usnig Labview 2012.

    Question 1: When I call the main sequence code modules was not called. But when I sperately run the VI (besides it's simple, DMM vi) the VI was running perfectly.

    solution:-open the tab configuration and selected LabVIEW and selected adapters. After that obtaining in that we chose Runtime Engine to motor development.

    With this, the issue got sorted on why is this behavior happened.

    Please let me know if anyone knows or in front of the same type of problem.

    Hello

    I have recently experienced problems with TestStand and LabVIEW code modules, finally I found linked below white paper, which can also be useful for you:

    http://www.NI.com/white-paper/9923/en/

    In order to understand what is the cause, I have a few questions below:

    Having developed this VI or is it a real VI from the NI-DMM palette?

    If you open the VI in the LabVIEW development system and select the file-> properties VI, is version 12.0 indeed?

    The VI uses no control or Subvi, so then, what are these and also they are stored in libraries?

    If you build a project with your VI, create an executable, done this successfully executed? (Some properties and functions are not supported on the runtime incompatibility may be found here).

    Best regards

    Ed

  • How can I retrieve the execution of TestStand 4.0 Test results in a c sharp Application?

    I am writing a c sharp application to launch a test sequence in TestStand 4.0.1 and then collect the results of the tests to update our own screens / report (s).  I'll need some sort of recursive routine to collect the following information (if available) for each stage: name, result, Min value, Max Value, measured value, units.

    My attempts have been to an event to end execution allows to collect data:

    void EndExecution (sender As object, EndExecutionEvent ev)
    {
    Results PropertyObject = ev.exec.ResultObject.GetPropertyObject ("ResultList", 0);

    int numContainers = Results.GetNumElements ();

    for (int i = 0; i)< numcontainers;="">
    {
    PropertyObject resultData = results. GetPropertyObjectByOffset (i, 0);
    String testResult = resultData.GetValString ("Status", 0). ToString();

    PropertyObject testStep = resultData.GetPropertyObject ("TS", 0);
    Dim testName = testStep.GetValString ("StepName", 0). ToString();

    MessageBox.Show (i.ToString () + "". "") testName + "=" + testResult);
    }
    }

    But this only gives me MainSequence data.

    How to cross the ResultsList tree to access the results of all the test steps?

    tlaford,

    There are a couple of big problems with what you are doing:

    (1) it is best to call the code from a test report of the result of your sequence treatment reminder (just use an action step) or change the process template to call your code rather than to call for EndExecutionEventHandler of the user interface, because if you use Test DUT and then there is a separate resultlist by USE not by execution, and it is generally processed at the end of each use not at the end of execution. If you use the EndExecutionEventHandler then you should NOT use the process templates provided with TestStand because they don't work that way. Instead, you just run your sequences without a process template. Although I really recommend the path of process model, even if you write your own a custom, because it is more flexible, and then hardcode your treatment result in the user interface as you do. A few reasons why a process model is that more flexible or better are that it will work in any user interface, including the sequence editor (no changes to the user interface is needed), and it can do everything you can do in a sequence, for example to call a code module in any language supported , asynchronous sequences, call sous-séquences, etc.

    2 recursion) through each property at such a low level is bad because the names of the properties are not guaranteed to be unique for what you expect them to be. Anyone can write their own types step custom with some result properties that they would like. You must make sure that the full path to the properties is what you expect it, and you can even check that the type of step is one you expect. You should rather loop through the result of higher level items ONLY and are looking for the complete data lookupstrings that you expect from these elements. For example, instead of WalkTree you might have the following instead:

    This must be called from a step in a test recall report or in a custom process template
    rather than from EndExecutionEventHandler of the user interface, because if you use Test DUT then
    There is a separate resultlist by USE, not by execution, and it is usually processed
    at the end of each use not at the end of execution.
    Sub ProcessResultList (PropertyObject resultList)
    {
    numElements int = resultList.GetNumElements ();
    < numelements;="">
    {
    Element PropertyObject = resultList.GetPropertyObjectByOffset (i, 0);
    String stepTypeName = string. Empty;

    If (point. There are ("TS. ((StepType', 0))
    stepTypeName = GetValString ("TS. (StepType", 0);

    If (stepTypeName is "NumericLimitTest")
    {
    If (point. Exists ("Limits.High", 0))
    {
    Double highLimit = item. GetValNumber ("Limits.High", 0);
    Do something with the value
    }
    }

    NOTE: The two step type SequenceCall and NI_Wait can have subresults like that. A stage of waiting waiting on an asynchronous thread or the execution will have this.
    If (point. There are ("TS. ((SequenceCall.ResultList', 0))
    {
    Recurse for results call sequence.
    PropertyObject sequenceCallResultList = item. GetPropertyObject ("TS. (SequenceCall.ResultList', 0);
    ProcessResultList (sequenceCallResultList);
    }
    }
    }

    Hope this helps to clear things up,

    -Doug

  • request (?) featured: matrices or tables for a particular column sort

    Hello all-

    This may be a stupid question, because I'm always still not quite clear on what are the differences between the matrixes and 2D arrays in LabView. So far the only distinction I seemed to find, it is that certain features of table return errors when the matrices are entered and vice versa.

    Anyway, here's my question.

    Suppose I have a matrix where the first column represents the 'values' that have been measured and the second column 'account'. I would like to take a unordered matrix (i.e., the value column is not ordered) and recover a matrix that has had its lines re-arranged according to the values in the first column.

    For example, if my matrix:

    [5-1;

    0 11;

    1-5;

    3-10]

    I would like to as labview to return:

    [0-11;

    1-5;

    3-10;

    1 of 5]

    When I was trying to find a way to do it (without writing my own sorting routine which, admittedly, wouldn't be too bad, but I'm a lazy programmer ), the only thing I found that came close was the 'matrix of D 1 sort' Subvi. However, even if I had to store the values in a table and charges in another table, I'd be able to do is sort the table values. I wouldn't be able to tell what labview reorganization, I would need in order to perform the same reorganization charges.

    I'm a little surprised that there isn't a quick and intuitive way to do this (at least that I can find). A LabView feature addition that could help with this problem would be if the "1 D Array sort" routine returned a second output - a vector with the mapping of the index used - similar to MATLAB. MATLAB help for the function 'out ':

    "[There, I] = SORT(X,DIM,MODE) also returns a matrix of index I.. «If X is a vector, then Y = x.»

    Of course, there may be a quick fix for what I'm missing...

    Take a look at this post. I don't know that you can change for your particular type of data.

    (in contrast to the first colum, create the sort key, table 2D reconstructed according to key)

  • the ascending matrix column

    Hello

    I have data from a matrix (real numbers) and I need to put the columns in ascending order (so is the most important value column if you added all the lines to the top is the first, second second ect) so I can choose the larger columns, but I can't work on how to do this.

    Any help you can give is greatly appreciated.

    Thank you

    Nick

    I think you are looking for descending (don't not upward), otherwise the smallest column would be first. If you only need the largest column, moreover, there is no need to rebuild the entire table 2D.

    Here is a quick sketch (LabVIEW 8.2). The lower part is just the biggest column and its sum while the upper part allows to rebuild the whole of the 2D array sorted by the sum of the elements in each column. Choose what you need and remove unnecessary code.

Maybe you are looking for