Combine arrays in TestStand

Hello

I've got 7 string tables each containing 5 variables.  Is it possible to combine in a single Bay without resorting to the using a separate VI?

Berries, then switch to a vi, at least not the best results because it becomes confused and there are a lot of different result sets > 200.

Any help appreciated.

Rgds,

Sean

Hi Sean,.

To concatenate two tables, you can use the operator +=. For example, locals.a1 += locals.a2.

I hope this will solve your problem, but if you need one more details please let me know.

Kind regards

Thomas Clark

Tags: NI Software

Similar Questions

  • Best way to pass an array between TestStand, CVI

    Hello

    I was not able to judge or to find the best practice to pass arrays between TestStand and CVI. I'd preferably done in pass pointer to array. For example, if I have a function written in CVI DLLs:

    int GetAverage (double* aBuffer, double aSize, double* aAverage)
    

    TS I have an aBuffer double array [100]:

    -I can't simply pass

    GetAverage (aBuffer, 100, &aAverage)
    

    - or, I can go:

    GetAverage (&aBuffer[0], 100, &aAverage)
    

    -The only thing that is TestStand accepts:

    GetAverage (aBuffer[100], 100, &aAverage)
    

    I don't think not good because the size is just repeated.

    I had no problem if I could write

    GetAverage (aBuffer[100], &aAverage)
    

    but the problem is in this case there is no possibility fo CVI to determine the size of the table, like sizeof (aBuffer) just return, sizeof (double).

    Can you provide me with advice for best programming practices in this case?

    Concerning

    RB

    Hello

    Just in addition:

    Is there another way to access the tables.

    Often, I use for this task, the TS-API. The only parameter you need is in this context of the sequence.

    Maybe you should also visit this example:

    TestStand 2010\Examples\AccessingArraysUsingAPI\UsingCVI\AccessingArrays.seq

    Concerning

    Jürgen

  • How to replace (assign) a part of the elements of an array in TestStand?

    Hello

    I would like to replace or assign values to the elements of an array.

    For example, I have a local variable with 6 elements, Locals.A = {1, 2, 3, 4, 5, 6},

    and I would do it is {1, 2, 13, 14, 5, 6}.

    Accordingly, I add an expression and write "Locals.A [2.3] = {13: 14}", but it failed.

    Is it possible to replace a part of a painting?

    My real question is I want to pass parameters to a sequence to a local variable of the MainSequence, like the picture as an attachment.

    I hope that I can assign the parameter (table 5 elements) for the range of 5th to 9th item of the local Variable.

    Could someone give me any suggestions? Thank you very much!

    (1) I meant move the entire table and in the subsequence programmatically update only a subset of the items.

    For 1 or 2, you'd have to write a loop as interates on and updates the items that you are interested in. There is no simple syntax that will do what you want. You can use a loop but, rather than make a statement of entitlement for each item.

    -Doug

  • Determine the minimum maximum table TestStand

    Is there a function to return a minimum and maximum value of table for an array of TestStand?

    I could create a module of code LV and pass the array, evaluate using a LV function and return the results, but I'm looking for a native TestStand or possibly an ActiveX function...

    Hi Philippe,.

    Try this example

    Jürgen

  • Table of index

    Hello

    I have a table and I want to point to a certain element in the table using its index. Basically, I need to use the equivalent of "Index Array" labview teststand. If im not wrong, GetNthSubProperty does the same thing? But I'm looking for an example of using it. I keep getting errors when I try to use it. Here is my example:

    MyArray: [0.5]

    I'm pointing to index [4] of the table.

    Locals.MyArray [4] should work.

  • [BUG] TestStand 2013 receives corrupt data to LabVIEW adapter if the cluster contains waveform array

    Hi all

    I am having trouble with the corruption of the data. My minimal test case is below.

    I have a VI that returns an array of clusters. My TestStand sequence simply call this VI and connects to its output:

    When I run the (with my open VI) .seq file, I can see the update of the Panel before LabVIEW with expected values:

    However, TestStand receives all these values. Waveform bays have the correct values, but everything else is empty / null:

    If I delete my typedef waveform table, all elements of the cluster are correctly registered by TestStand.

    I've attached an example of test (2013 TestStand, LabVIEW 2013) case.

    Any ideas on how to make it work?

    Hey JKSH,

    Thanks for the detailed on this report. I looked into it a little bit last week.

    I think that it is closely related to the 206892 of CAR, which describes a problem where data will not appear on the report unless a property or variable is specified for the output waveform parameter. However, this does not completely cover your case, because you see incorrect digital data in the row with the waveform of your cluster. I filed 462209 CAR for that matter, and we will investigate it more thoroughly.

    This problem only affects data that appears "below" the waveform in the cluster. In the case of the sample, if you put the waveform as the last element of the bunch, I think that it works correctly. I know that your real data could be more complex than this example, but this workaround solution would help in the meantime? You could also consider separating the waveform of the rest of the data, that would probably work too.

    As I said, please let us know, and it is classified in our system now for a developer to investigate the matter. Please let me know if solutions are not appropriate for your application, we would be happy to know a little more about your overall use case order to work around the problem.

  • by passing the array of strings of Teststand to LV dll

    Hello

    I wonder, why is it not possible to pass an array of strings 1 d of TestStand to a dll, which is compiled with LabView. By the way the PropertyObject works very well, but as parameter category "Array of Strings" exist in the call dll TestStand pane, it should be possible to pass an array directly. I get an empty dialog box, where I try to view the contents of the array passed directly.

    Why it does not work?


  • Combining two 1 d arrays in a single 1 d array?

    I have two 1 d arrays that look like so:

    There is always a zero in one of the paintings, but never both.  Is there a way I can combine just the nonzero values in a single table 1 d?  Thanks for the help.

    chazzchuzz wrote:

    I have two 1 d arrays that look like so:

    There is always a zero in one of the paintings, but never both.  Is there a way I can combine just the nonzero values in a single table 1 d?  Thanks for the help.

    I can simplify things a bit, but if the arrays are always as shown (the same number of points and always one and only one element matching zero) why not just add them?

    Ben64

  • Determine the size of each Dimension of an array of 2D in TestStand

    How can I determine the size of each dimension of an array of 2D in TestStand?  myArray.GetNumElements () refers to the TOTAL number of elements in the table (2D) and does not help me.  I need to iterate on a single dimension.

    Thank you

    Andrew

    GetUpperBounds are but just not in this context. Try something like the following...

    Locals.MyDimensions = Locals.MyArray.Type.ArrayDimensions.GetUpperBounds)

    Where Locals.MyArray represents the 2D table you want dimensions of and Locals.MyDimensions is a 1 d array to store the dimensions. Something like...

    Locals.MyArray.Type.ArrayDimensions.GetUpperBounds () [0]

    ... might work as well, this example returns the number of elements in the first dimension of Locals.MyArray.

    Kind regards

    Steven Zittrower

    Technical sales engineer

    National Instruments

    http://www.NI.com/support

  • How to access variable double * (an array) of c. in TestStand

    Hello

    I'm trying to access an array of numbers, measured by the multipoint read DMM operation. The expected data is double [] (an array of measures as defined by "ividmm.dll"), but when "nidmm_32.dll" (NEITHER IVI driver) is used to perform the same operation, the data is returned as double * (from CVI/C code). Although double [] and double * would mean the same thing.

    The problem do face is the matrix defined by 'Locals.Reading' defined in good TestStand shims only when she used with 'ividmm.dll' and not 'nidmm_32.dll '.

    The DLL used and examples of sequence files are also attached. The name of the step where the error occurs is 'Reading Multipoint' with readingsArray parameter.

    Any help or suggestion to go to these two types of data types in TestStand would be greatly appreciated.

    Note: TestStand version: 4.0

    Thank you

    Matrat

    Note that the readingArray parameter is declared with the category of digital and position pass by reference when you use the function niDMM_ReadMultiPoint, but when you use the IviDmm_ReadMultiPoint function there class of array of numbers.

    I suspect that the function type information stored in nidmm_32.dll is incorrect for the niDMM_ReadMultiPoint function. To test this theory, manually change the type of the parameter array of numbers and see if it works.

  • How can I combine a string array and an array of integers?

    I have an array of string data [to use as header] and an entire table of multiple column vakues; I need them together in a single file.

    Am not able to combine so that I could write them in a single file.

    There are several ways you can do.  What I recommend is:

    1. Open the file
    2. Use the table to a spreadsheet string to transform your headers into a single string
    3. Write it to the file.
    4. Use the table to a spreadsheet string to transform your digital data in a single string
    5. Write it to the file.
    6. Close the file
  • Combine the elements of a 2D array online

    Hi all

    I'm pulling in a date column and a column of time since a text file, creating a 2D data table, and then I'm stuck trying to merge the two columns.

    For example, I need to take the Date and time the row 0 of the 2D table data are combining in index 0 a 1 d table. Then I need to convert this "timestamp" in seconds. An example is attached.

    Any help would be appreciated

    Erik

    Do you need an array of strings? Which characters will separate the data at the time?

    Conversion of seconds using the time of LabVIEW from 12:00, January 1, 1904 is pretty straighforward well that is correctly time and seconds dividers can be difficult. Conversion at any time requires more effort.

    Lynn

  • Combine two tables 1 d in a 2D array

    Hi all

    Maybe I forget what is obvious, but I can't find a solution to combine two tables 1 d in a 2D array AND (it is the impossible part for me) using the tables columns instead of lines.

    Example:

    Table 1:1, 2, 3, 4

    Table 2:5, 6, 7, 8

    Result: 1, 5

    2, 6

    3, 7

    4, 8

    The 'build array' function seems to add all tables as lines... I guess I could transpose the table, but I want it runs in a Subvi in constructions of different loop and I feel a little uncomfortable with it - I guess one would be left with a completely mixed table. I was maybe blind just to find the right function?

    Cheers, Jessi

    Hi Jessi,

    by default, LV is combining tables in rows. So when you need columns you must transpose the sets or use a different indexing scheme...

  • combine several pl/sql in a single associative array

    Hello
    I use oracle 10g, can anyone suggest me how to combine several pl/sql in a single Bay.

    ex:
    TYPE t_array IS TABLE OF VARCHAR2 (100)
          INDEX BY BINARY_INTEGER;
    
       v_subnasp        pk_rules.t_array;
       v_product        pk_rules.t_array;
       v_order_type   pk_rules.t_array;
       v_combine       pk_rules.t_array;
    I want to combine the data in v_subnasp, v_product, v_order_type to v_combine

    DeepakDevarapalli wrote:
    Sorry, I think that my question is not clear. can I move data from 3 tables on a Bay. and what is the best way. I found a way using loops.

    If you declare an associative array type - loop is pretty much your only option. If you declare the nested table type, you can use operatots of type multiset:

    DECLARE
       TYPE t_array IS TABLE OF VARCHAR2(100);
       v_subnasp        t_array := t_array(1);
       v_product        t_array := t_array(2);
       v_order_type     t_array := t_array(3);
       v_combine        t_array;
    BEGIN
        v_combine := v_subnasp multiset union all v_product multiset union all v_order_type;
        for i in 1..v_combine.count loop
          dbms_output.put_line('Element ' || i || ' = ' || v_combine(i));
        end loop;
    END;
    /
    Element 1 = 1
    Element 2 = 2
    Element 3 = 3
    
    PL/SQL procedure successfully completed.
    
    SQL> 
    

    SY.

    Published by: Solomon Yakobson, December 14, 2009 11:19

  • combining the subtables in a single array

    I am currently using labview 8. And calibration purposes, I needed to break down a sub-table individual table so that each of them could be calibrated individually. From there on, I want to recombine the subtables in a table so that I can datalog. How can I do for this. Please see my attached VI

    If you look in the lower right of the while loop I break the table into a set of two sub-tables, and from there I tried to use the VI for construction combine. However, from there I don't know how to proceed. and my final goal it to attach to the VI 'writing on a file' in the structure of the case at the top of the while loop, so that I can save the data.

    Kind regards

    Michael Sugimura

    Of course we only need a knot of "index Board"...

Maybe you are looking for