An array of doubles of unbundling

Hi Forum,

I need to measure current of 20 channels, so I combined the values of shared variables (one for each channel) 20 tabular, then send to a network variable to transfer data of A.i to B.vi. And then on B.vi, I use 'ungroup by name' to unbundle the cluster in the twenty individual values and indicate one by one.

My question is, how do I know what value that is out of the twenty variables? I have connected 20 variables shared in the table in a particular sequence, and when I use "ungroup by name' the sequence would be compatible?

I have attached a screenshot just to explain things better.

Any help is greatly appreciated!

Batistuta002

Yes, it's the same as the first element of the array.

But you shouldn't be the conversion to a cluster of unbundling.  It's a Rube Goldberg.

You should use Index Array to get the individual items.

Tags: NI Software

Similar Questions

  • Convert a table 1 d of 2 elements of an array, 2D-double cluster?

    Hello

    as the question says:

    How to convert a

    Table 1 d of 2 elements of an array, 2D-double cluster?

    Thanks to Labview 8.6

    THX

    Use"Cluster Bay" in a loop for.

    See the image.

    I hope this helps.

  • change the array type in a script

    I have a script that uses a model to generate code. So far, I have a refnum in an array of doubles (the default type of the table in the model). Now, I need to change the types of elements in the array. I tried the 'set' vi in utilities VariantDataType table, but does not. How can I do this?

    Here is a way.

  • create table 1 d of type double

    Hello

    I'm not that good with the labview and when I tried to build a few examples, I got an error as in the attached picture.

    Some can help me create a simple 1-d array of double type in labview2011.

    Thank you.

    Go to help > find examples > search for table > open example of table building.
    -In the example they use digital controls by integer.
    -If you want an array of type double please change the double data type instead of I32.
    S ' Please check this too http://www.ni.com/white-paper/7571/en/

  • Array of strings

    This should be an easy question. I try to use the "write to the spreadsheet" VI from Labview 8.0 but I need to change to accept arrays of strings, rather than arrays of doubles. 8.2 does it automatically, but I'm stuck using 8.0. The instructions in the block diagram of the original VI says:

    "You can change a copy of this VI to accept arrays of strings by changing data 2D and 1 d of channels tables data tables and defining the ├a %s format."

    I'm having a problem changing the tables of data in tables of strings. I looked in 'Properties' for an option and also looked in the 'representation '.

    How can I change the table of control digital channels? Thank you!

    Right-click on digital, then select "replace". Simply browse through the control of the chain on the pallet.

  • Best way to transfer strings, arrays and clusters

    Hi, I just want to know the best way to transfer strings, arrays and clusters between a PC and a computer-RT (compactRIO) if I want to use them in deterministic loops:

    For a string should I use a published network shared variable flow or network?

    For an array of doubles should I flatten the array in a string and the string of transfer? or should I send it as a picture?

    The same for clusters, should I flatten the cluster or the transfer as a cluster?

    Thank you!

    Transfers on the network are not deterministic.  You ask how to use the data in a deterministic way, once it arrives on the RT system.  Usually, you would create a separate loop, not critics of time to deal with network communications.  The data arrives it is copied in real-time-safe structures such as RT-FIFO to put at the disposal of the evanescent loop.

    I can't give you specific advice on network variables and network flows; Finally, I did this kind of transfer over TCP, until these other options were available.

  • Parse the string into two double

    Hello everyone, once again

    I'm taking a string of numbers that can be anywhere from - 999999.999999 to + 999999.99999 and separate them into two double rooms. For example, if a user entry - 10000, 10000 - two doubles would be-10000 and-10000. If the user has entered - 10.11111- + 20.00111 he got out - 10.11111 and 20.00111. The VI "Extract the numbers" did perfectly, but I need a way to return the results in two double rooms instead of an array of doubles. I also results to return all the digits after the decimal point for reasons of precision. I use this code within one of my States in a state machine and the driver I use only accepts double rooms.

    The code of "Extract the numbers" VI is attached. Thank you all!

    Hi buickgn,

    When your code works, you should only use IndexArray on outputs. If not, try this one:

  • Format for writing arrays to binary files

    I try to write to a binary file as a first step to understand how to work the stored formats.

    Currently, I have two vi, one writes a unique double in a file, and another writes a double 1 d table to a file.

    When I read these files in MATLAB, observing the correct format, I have successfully recover my double scalar single, but not the array of doubles.  The table comes from 10000 samples of a waveform of sin.  I observe that the sine wave output is correct via a waveform graph, and a graph shaped wave plugged into the values Y of the sinusoidal waveform.

    I use the same commands in MATLAB for both:

    FD = fopen ("output.bin', 'r', 'b');

    entry = fread (fd, inf, 'double-online double');

    fclose (FD);

    Attached are two variants of vi.

    By default, LabVIEW wrote the size of the array in the first bytes of the file. I'm not sure if MATLAB interprets this size information. Write to a binary file has an entry for controlling the economy of size information.  Try a wired False Boolean value for "precede the array or string of size?

    Lynn

  • Upadate elements of an array and reuse them

    Hi all

    I have a problem with the update of the elements of an array and use these items again. Well, I have the clearer idea. I have a one-dimensional array of double. Now I'm just comparing two adjacent elements. If the difference is greater than a threshold, I need to update all other elements (for example, add 100 with all the remaining items). Then repeat the whole things until all elements are compared.  I tried the following. But I'm not sure how to use the updated table "Method 2" instead of "method 1" in the following loop. ' " In Place element Structure"has not helped.

    I know it's pretty simple in C++, where we can use the reference to the table. I'm new in labview and don't know how to do it here in labview.

    Looking for your help.

    BR.

    Rosen

    Have you tried just using the tool 'unwrap the phase"?

  • A String conversion table of double rooms

    Hello

    Do you know how to pay to convert a string into an array of doubles.
    Here is an example of my chain:
    0.000,1,0.7614801886489786,0.023750439346730916,205.77816888786631,0,0,0,0,0,0,0,0,0,-0.643693240119727,-0.005262679965248317,-0.005271184635994994,0,0,0,0,0,0,0,0,0
    (numbers with comma separator).
    I tried with string to function table worksheet, but it doesn't work.

    Thank you


  • Possible bug: save the table with double and extended precision to the worksheet

    If one concatenates an array of double-precision and an array of precision extended with the 'build' vi table, then recorded using 'Write in a spreadsheet file' vi any digits to the right of the decimal are reset to zero in the saved file. Regardless of the entry of signifier of format (for example %.10f) to the vi 'Write in a spreadsheet file'.

    I'm on Vista Ultimate 32 bit and labview 9.0

    This is a possible bug that is easily circumvented by the conversion of a type before you incorporate arrar in a worksheet. Nevertheless, it's a bug and it cost me some time.

    Hi JL,.

    No, this is not a bug - it's a feature

    Well, if you'd look closer you would recognize the 'save to spreadsheet' as polymorphic VI. As this polymorphic VI does not support the EXTENSION numbers internally (it only supports DBL, I64, and String) LabVIEW selects the instance with more precision: I64 (I64 a 64 bits of precision, DBL that 53...). Your options are:

    -the value of the instance to use as the DBL (by right click and "Select type... »)

    -make a copy of this VI, save it under a different name and make support number of POST (not rework the polymorphic VI like you would break compatibility with other facilities of LV or future revisions)

  • Table of double filled by DLL contains odd values

    Hello everyone

    I'm working on a DLL call which must resize and fill in an array of double named "values" (2nd to the last parameter). I defined the signature as follows:

    _declspec (dllexport) uint8_t readDoubleArray(uint8_t handle, LStrHandle lPath, int64_t startTime,        int64_t endTime, DblArrHdl *values, LongArrHdl *timebase);
    

    Where is DblArrHdl

       typedef struct {      int32_t dimSize;      double doubles[1];        } DblArr; typedef DblArr **DblArrHdl;
    

    In the call, I read copies of a database and resize the table double as follows:

         int size = doubleArray.size();
    
          if (NumericArrayResize(0x0A, 1, (UHandle*)values, size) != noErr) {           setLastError(MG_ERR_LABVIEW_ERROR, "Failed to allocate memory");          return FALSE;     }
    

    I set the size and copy the values:

    (**values)->dimSize = size;for (int i = 0; i < size; i++) { (**values)->doubles[i] = doubleArray[i];}
    

    When I use the DbgPrintF to validate values, it gives me a value of about 120000 is correct. However, when returned by labview table contains strange data, such as 5.38564E - 315. Here's impression on the array of 'values' once he was through the DLL:

    Here's how I wired it, ignore the grouping, it occurs in the array of values that comes out of the call to the DLL.

    I have no idea how this can be. I followed the examples on the site. I also tried the normal DSSetHandleSize, but it changed nothing. No idea what I was wrong?

    Thanks in advance,

    Vincent

    Hi again,

    Vincent, you have a problem with the alignment. Simply add #pragma pack (1) before the table:

    #pragma pack (1)
    typedef struct {}
    dimSize of Int32;
    float64 elt [1];
    } TD2.
    typedef TD2 * TD2Hdl;

    and everything should be OK.

    See the example as an attachment.

    Andrey.

  • Handling Nullable Double

    Hi guys,.

    In my application, I have a table of values double at least 500. Get the values of the server through the web service, memory store and persistence store.

    The double stored values can be null.

    My question is how would store these values that I can't use double because it does not support null. Should I go with Double or convert it to a string and store the values into a String? Just keep in mind that I compare this values some evoke as well. It is not only once read only data.

    This may seem like a really easy question for most of you guys, but due to the limitation of memory and processor, I won't do this bad thing.

    No idea on the Nullable object management (I mean int, double, long) would be highly appreciated.

    Thank you

    Nitin

    "I can't use double because it does not support null.

    What value

    Double.NaN

    You can set the double value to that in your application under when it should be null and have your treatment treat this as if the value is null.

    "Should I go with Double or convert in String '

    Double would be better than the chain in my opinion.  I consider using Group objects when you store these persistent store to reduce the overhead object handle.

    However, I would recommend that you use an array of doubles, with Double.NaN to indicate a null value.

  • How to get a number of participants of type cast

    Refer to TCPIP given simple client.vi using examples of Labview. I try to get data digital display after the type cast but cannot connect to the service. I tried to use unbundle, cannot work.

    I typed the string connection hoping to see some digital data in it, but I see something like '@'.

    I expect a server.vi of simple data conversions, how to display numbers in the display of digital data without going through the waveform table?

    Thanks in advance

    You have typecasted your string in an array of double (or single, I can't tell from the picture of the chart), but try to connect to a scalar indicator.  You must either use a table or Index table indicator for one particular item out of the array to send the digital scalar indicator.

    Regarding your '@', I don't know who.  It all depends on what data the other end of your TCP/IP sends communications.  Put some sensors on the channel, as well as the number coming out casting bytes.

  • Convert a table 1 d of the Cluster (time + data) in 2D-table time and data. How?

    Hello

    is there a simple way to convert a large table 1 d of the Cluster (containing a timestamp and a given) in a table 2D with time stamp and data?

    I could index the table in a while loop, separate each item and put the timestamps and the data in a new table.

    The format of the new table could be an array of double (then the timestamp must be converted to a double) or an array of strings.

    Could I do this without a loop?

    Johannes

    LabVIEW 7.1 (!)

    Hi Johannes,

    If it is possible to manage your time as dbl-floats stamps, I suggest using a simple loop and the cluster to function array (Cluster_to_Array_Mod1.vi).

    If you want to stay with time stamp data type, even once use a loop for a cluster unbundle and build the function array (cluster_to_array_Mod2.vi).

    Kind regards

    Thomas

Maybe you are looking for