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
-
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.
-
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
-
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:
- Open the file
- Use the table to a spreadsheet string to transform your headers into a single string
- Write it to the file.
- Use the table to a spreadsheet string to transform your digital data in a single string
- Write it to the file.
- 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:
I want to combine the data in v_subnasp, v_product, v_order_type to v_combineTYPE 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;
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
-
Cannot get the account information for a company while firefox is in help mode
What is happening with my e-mail provider. I sign for the account, but no information appears. Their tech support trying to figure out, but nothing has worked. I've refreshed Firefox and using safe mode, I could then get the account. What is going on
-
Hi, please help with the problem of the object.Example of problem is attached. Most of the sites look completely ok, even if specific fonts "buggy". On youtube, it is Roboto fonts. Next ideas are NOT the solutions:-to activate ClearType (evil - looki
-
Integration of LabVIEW with SALT 421 specifically with regard to the measures of Phasor
I want to get a relay SEL421 PMU data in labview system using ethernet. I am a beginner and do not have much experience with blocks of communication in labview. Can you please help me understand the concept and point me in the right direction.
-
Is the scale of the case / Bidwhist blocked by Windows?
I can't connect to a website. The site is blocked by the Windows program. I know that it is the program of Windows 7 is because I didn't have the problem before putting the program on the computer. How can I disable anything that causes me not you co
-
OLIVIER 7.9.6.3 on OBIEE 11.1.1.9
Hello worldWe have a facility with OLIVIER 7.9.6.3 on OBIEE 11.1.1.7, but we have our OBIEE version to 11.1.1.9.Certification matrix OLIVIER 7.9.6.3 is only compatible with the 11.1.1.7.What happened if we improve OBIEE 11.1.1.7 with OLIVIER 7.9.6.3