Auto index array

I have built a motor tester that gets 2 arrays of data from a power meter. This data is eventually stored in a TDMS file. I have light curtain that is acting as a duel purpose. First, it is instantly grounding the motor when the light curtain is broken for OHSA safety purposes. Second, it is sending a 9 volt DC voltage to signal the VI that the test is complete and to record the data to the TDMS file.
The problem I am having is about 10% of the time the readings recorded to the TDMS file are incorrect due to the motor being grounded as the data is being gathered from the power meter. What I want to do is store the last three sets of data from the power meter into an array and then when the light curtain is broken, the oldest data in the array is passed on to write to the TDMS file. This should prevent bad data from being recorded to the TDMS file since it will be two iterations of the state before the motor was grounded.
What would be the best way to accomplish this task?

MwMonty wrote:
I have this state in a loop so it repeats and gathers new data each iteration. This is to allow the readings to stabilize. Once the operator is satisfied the readings are stable they reach into the light curtain to remove the motor under test. I am trying to capture the last stable reading and record it to a TDMS file.
Just an FYI - I don't like things like "when the operator is satisfied..." because it leaves too much room for subjective opinion (which sometimes leads to intense discussion and bruising of egos, as well as making it easier for the customer to reject a part).  I would change the test requirements to something quantifiable, like "rate of change +/- 1 mV over ten readings" or whatever it is that the test engineer feels is apporpritate.  The tester should be telling the operator it is ready to start the test, not the other way around - if possible, that is.
Bill
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

Similar Messages

  • What is physical meaning of Auto indexing array input ...

    What is the physical interpretation of auto indexing.?
    Solved!
    Go to Solution.

    It is like a Pez Dispenser. Every time the loop iterates the neck pops back and you get the next piece of candy. The loop keeps going popping out yummy candy (I don't like the peppermint but I do like orange) until the dispenser is empty. If you have more than one Pez Dispenser then their heads are all tied together so that they pop back simultaniously and cannot do so independently. This has the unfortunate consequence that once one of them runs out you are done even though there are still other Pez Dispensers full of strawberry or grape. Even worse, if one of them is empty then none of their heads can pop back and you get no candy whatsoever!
    [Edit: I am trying to be funny and not sarcastic. I hope you don't take it wrong ]
    =====================
    LabVIEW 2012

  • Auto-indexing is slow for arrays with 1 dimensions

    Hi,
    I was looking at the performance of operations on all individual elements in 3D arrays, especially the difference between auto-indexing (left image) and manual-indexing (right image, calling "Index array" and "Replace array subset" in the innermost loop). I'm a bit puzzled by the results and post it here for discussion and hopefully somebody's benefit in the future.
    Left: auto-indexing; right: manual-indexing
    In the tests I added a different random number to all individual elements in a 3D array. I found that auto-indexing is 1.2 to 1.5 times slower than manual-indexing. I also found that the performance of auto-indexing is much more dependent on the size the dimensions: an array with 1000x200x40 elements is 20% slower than an array with 1000x40x200 elements. For manual-indexing there is hardly any difference. The detailed results can be found at the end of this post.
    I was under the impression that auto-indexing was the preferred method for this kind of operation: it achieves exactly the same result and it is much clearer in the block diagram. I also expected that auto-indexing would have been optimized in LabView, but the the tests show this is clearly not the case.
    What is auto-indexing doing?
    With two tests I looked at how auto-index works.
    First, I looked if auto-indexing reorganizes the data in an inefficient way. To do this I made a method "fake-auto-indexing" which calls "Array subset" and "Reshape array" (or "Index array" for a 1D-array) when it enters _every_ loop and calls "Replace array subset" when exiting _every_ loop (as opposed to manual-indexing, where I do this only in the inner loop). I replicated this in a test (calling it fake-auto-indexing) and found that the performance is very similar to auto-indexing, especially looking at the trend for the different array lengths.
    Fake-auto-indexing
    Second, I looked if Locality of reference (how the 3D array is stored in memory and how efficiently you can iterate over that) may be an issue. Auto-indexing loops over pages-rows-columns (i.e. pages in the outer for-loop, rows in the middle for-loop, columns in the inner for-loop). This can't be changed for auto-indexing, but I did change it for manual and fake-indexing. The performance of manual-indexing is now similar to auto-indexing, except for two cases that I can't explain. Fake-auto-indexing performs way worse in all cases.
    It seems that the performance problem with auto-indexing is due to inefficient data organization.
    Other tests
    I did the same tests for 1D and 2D arrays. For 1D arrays the three methods perform identical. For 2D arrays auto-indexing is 15% slower than manual-indexing, while fake-auto-indexing is 8% slower than manual-indexing. I find it interesting that auto-indexing is the slowest of the three methods.
    Finally, I tested the performance of operating on entire columns (instead of every single element) of a 3D array. In all cases it is a lot faster than iterating over individual elements. Auto-indexing is more than 1.8 to 3.4 times slower than manual-indexing, while fake-auto-indexing is about 1.5 to 2.7 times slower. Because of the number of iterations that has to be done, the effect of the size of the column is important: an array with 1000x200x40 elements is in all cases much slower than an array with 1000x40x200 elements.
    Discussion & conclusions
    In all the cases I tested, auto-indexing is significantly slower than manual-indexing. Because auto-indexing is the standard way of indexing arrays in LabView I expected the method to be highly optimized. Judging by the tests I did, that is not the case. I find this puzzling.
    Does anybody know any best practices when it comes to working with >1D arrays? It seems there is a lack of documentation about the performance, surprising given the significant differences I found.
    It is of course possible that I made mistakes. I tried to keep the code as straightforward as possible to minimize that risk. Still, I hope somebody can double-check the work I did.
    Results
    I ran the tests on a computer with a i5-4570 @ 3.20 GHz processor (4 cores, but only 1 is used), 8 GB RAM running Windows 7 64-bit and LabView 2013 32-bit. The tests were averaged 10 times. The results are in milliseconds.
    3D-arrays, iterate pages-rows-columns
    pages x rows x cols : auto    manual  fake
       40 x  200 x 1000 : 268.9   202.0   268.8
       40 x 1000 x  200 : 276.9   204.1   263.8
      200 x   40 x 1000 : 264.6   202.8   260.6
      200 x 1000 x   40 : 306.9   205.0   300.0
     1000 x   40 x  200 : 253.7   203.1   259.3
     1000 x  200 x   40 : 307.2   206.2   288.5
      100 x  100 x  100 :  36.2    25.7    33.9
    3D-arrays, iterate columns-rows-pages
    pages x rows x cols : manual  fake
       40 x  200 x 1000 : 277.6   457       
       40 x 1000 x  200 : 291.6   461.5
      200 x   40 x 1000 : 277.4   431.9
      200 x 1000 x   40 : 452.5   572.1
     1000 x   40 x  200 : 298.1   460.4     
     1000 x  200 x   40 : 460.5   583.8
      100 x  100 x  100 :  31.7    51.9
    2D-arrays, iterate rows-columns
    rows  x cols  : auto     manual   fake
      200 x 20000 :  123.5    106.1    113.2    
    20000 x   200 :  119.5    106.1    115.0    
    10000 x 10000 : 3080.25  2659.65  2835.1
    1D-arrays, iterate over columns
    cols   : auto  manual  fake
    500000 : 11.5  11.8    11.6
    3D-arrays, iterate pages-rows, operate on columns
    pages x rows x cols : auto    manual  fake
       40 x  200 x 1000 :  83.9   23.3     62.9
       40 x 1000 x  200 :  89.6   31.9     69.0     
      200 x   40 x 1000 :  74.3   27.6     62.2
      200 x 1000 x   40 : 135.6   76.2    107.1
     1000 x   40 x  200 :  75.3   31.2     68.6
     1000 x  200 x   40 : 133.6   71.7    108.7     
      100 x  100 x  100 :  13.0    5.4      9.9
    VI's
    I attached the VI's I used for testing. "ND_add_random_number.vi" (where N is 1, 2 or 3) is where all the action happens, taking a selector with a method and an array with the N dimensions as input. It returns the result and time in milliseconds. Using "ND_add_random_number_automated_test.vi" I run this for a few different situations (auto/manual/fake-indexing, interchanging the dimensions). The VI's starting with "3D_locality_" are used for the locality tests. The VI's starting with "3D_norows_" are used for the iterations over pages and columns only.
    Attachments:
    3D_arrays_2.zip ‏222 KB

    Robert,
    the copy-thing is not specific for auto-indexing. It is common for all tunnels. A tunnel is first of all a unique data space.
    This sounds hard, but there is an optimization in the compiler trying to reduce the number of copies the VI will create. This optimization is called "in-placeness".
    The in-placeness algorithm checks, if the wire passing data to the is connected to anything else ("branch"). If there is no other connection then the tunnel, chance is high that the tunnel won't create an additional copy.
    Speaking of loops, tunnels always copies. The in-placeness algorithm cannot opt that out.
    You can do a small test to elaborate on this: Simply wire "0" (or anything less than the array sizy of the input array) to the 'N' terminal.......
    Norbert
    PS: Auto-indexing is perfect for a "by element" operation of analysis without modification of the element in the array. If you want to modify values, use shift registers and Replace Array Subset.
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Creating an array without using "auto-indexing"

    Hello,
    it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    find any examples how to write data into an array without using the
    function "auto-indexing" of the "WHILE" or "FOR"-loops..
    The values do not appear all at the same time, so I can't use the
    "create_array" function.
    So I want to "collect" all occured values and then write them e.g. in a
    file.
    Did I miss anything in the description ???
    Who can help me?
    Thanks, CHZ

    CHZ wrote in message news:[email protected]..
    > Hello,
    > it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    > find any examples how to write data into an array without using the
    > function "auto-indexing" of the "WHILE" or "FOR"-loops..
    > The values do not appear all at the same time, so I can't use the
    > "create_array" function.
    > So I want to "collect" all occured values and then write them e.g. in a
    > file.
    The "Create array" function can be configured to take arrays as well as
    elements. You have to use a loop that iterates as often as necessary,
    checking for new data. When it receives new data, it adds the new data to
    the existing array. It's probably easier to attach a small example than to
    describe it in more
    detail.
    [Attachment Array.zip, see below]
    Attachments:
    Array.zip ‏10 KB

  • Auto increment array index

    Hi,
    I have a small problem which i am trouble trying to figure out. Well i have 2 arrays with equal number of elements in each array. What i intend to do is to take the first element from each array and use them in a mathematical expression. Then i would like to increment the indexes of both arrays programmatically and then access the next elements from each array. This procedure is to continue till the end of the array(s). How can i do this. I have tried a couple of things but just dont seem to be able to get around the problem. Help!!!
    I have attached the sample code below. I am using version LabVIEW version 8.5.1.
    Thank you,
    Arun
    Attachments:
    Sample code 1.vi ‏11 KB

    Feed both arrays into a for loop.  Have the tunnels set for auto-indexing.  Do the math.  Have the tunnel going out the right hand side be set for autoindexing.
    I would recommend looking at the online LabVIEW tutorials
    LabVIEW Introduction Course - Three Hours
    LabVIEW Introduction Course - Six Hours

  • Convert "1D array of dynamic data" to "Dynamic data" after auto-indexing with loop

    Hi -
    I have a question about how exaclty auto-indexing works with the Dynamic Data type when exiting a while loop. I'd like to use the DAQ assistant to record data through an analog input (on the MyDAQ) and then replay that data through an analog output. This works fine if I use the DAQ Assistant to record data for a set amount of time:
    However, I run into trouble when I try to use a While loop with a stop button to record data for an arbitrary amount of time. I set the dynamic data tunnel out of the While loop to "Indexing", but then when it exits the loop, it becomes "1-D Array of Dynamic Data" instead of just "Dynamic Data", and get a broken wire when I try to connect it to the input of the DAQ Assistant. I've also tried converting the dynamic data to Array and Waveform data types inside the loop, but have the same issue (they become 2D Array and 2D Array of Waveform respectively when leaving the loop). Try as I might using blocks like Convert to/from Dynamic Data Type, or Array Subset, I'm unable to get them back down to just Dynamic Data or Waveform, which will be accepted by the DAQ Assistant:
    One other small note - I'm not sure if using the "Build Array" function with a shift register accomplishes exactly the same thing as just auto-indexing an array out of the loop - so I've tried both, but still have the broken wire issue.
    I'm assuming this is just a simple issue of using the right block to convert "1D Array of [Something]" to just plain [Something]. Any help appreciated.
    Attachments:
    PWM_FlatSequence.vi ‏101 KB
    PWM_FlatSequence_While.vi ‏129 KB

    I have been facing problem for all temperature values placing the Write to Measurement File outside the Loop. 
    In Error message it says" Source: 1D array of dynamic data and Sink: Dynamic data".
    Is there any means of convering 1D array of dynamic data to dynamic data?
    I would highly appreciate any help.
    Attachments:
    Temperature Logger.vi ‏110 KB

  • Array Size doesn't work correctly after "Auto-indexed Tunnel"

    Array Size returns value even if Empty Array is detected after "Auto-indexed Tunnel" tha generates 2D array.
    See example + VI with correct output as I expected.
    OR
    There is problem with generating 2D array --- It's empty. 1D array is generated in right way. 100 x 0 but not Emptu Array.
    Attachments:
    ArraySize_Bug.vi ‏9 KB
    ArraySize_Corrected.vi ‏19 KB

    Not a bug. This is correct behavior that is consistent with other parts of LabVIEW.
    The decision to handle multi-dimensional arrays like this was made long ago and is an enshrined part of the LabVIEW language spec. It will not be changed.

  • [CLAD] Auto-index​ing

    Dear all,
    In one of the CLAD sample exams the question is as follows:
    Auto-indexing at loop boundary is a feature that allows: (more than one answer may apply)
     a. Arrays to be automatically traversed from one iteration to the next
     b. Array functions to automatically index array elements
     c. Functions that use arrays to automatically index them
     d. Arrays to be automatically accumulated at loop boundaries
    I thought B and D are correct, however according to the sample exam the correct answers are A and D. The justification given is "Auto-indexing is a feature for loops interacting with arrays. Array functions themselves do not have iterative auto-indexing features.". I thought A relates to shift registers?
    Thank you in advance

    Jeff·Þ·Bohrer wrote:
    While a bit missleading in wording A is correct Auto indexing input tunnels traverses the row index of an array such that row i is on the wire inside the loop.  Shift registers and feedback nodes cannot auto index.  Those nodes pass data between loop iterations 
    I have to disagree with you Jeff.  The sentence says traverse arrays from one iteration to the next.  The arrays are not being passed on to the next iteration.  The rows are being indexed, not moved on to the next iteration.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions

  • Auto index only shows partial data

    Hi everyone,
    Please see the attached file.  I've added notes where the data goes missing.  I know it has something to do with auto-indexing and I spent quite a bit of time reading about it and trying different things but I really need some help now please.
    Thank you!
    Solved!
    Go to Solution.
    Attachments:
    For forum.vi ‏47 KB
    For forum.xlsx ‏12 KB

    Think about what you're trying to do.
    You have three arrays you're indexing.  Let's say they're lengths 1, 2, and 3.
    In the first iteration, we'd index 0 and get back a value from all three.
    In the second iteration, we'd index 1 and get back two values and have a bounds conflict.
    In the third iteration, we'd index 2 and get back a single value while having two bounds conflicts.
    Anything you process in the second and third iteration is garbage.  You have bad inputs so the output isn't useful to you.  In some languages, this will throw an error at runtime for indexing out of bounds.  Some will just let you process the garbage.  In no case do you WANT to run this.
    If you want to process all the elements of the array of size 3, you need to fill in values for the first to arrays to make them all have a length of 3.  Once you do that, the loop will run as you desire.  If you have auto-indexed tunnels with fewer elements than the constant you wire, they will override the terminal, as they should.

  • Auto-index only shows 9 values instead of 91

    I'm pretty new to LabVIEW and am trying to show a cluster of 91 values pulled from a text file.  Just for a test run without using actual values passed, I created a text file with the numbers ranging from 1-91 (1 number per line up to 91).  When I let it auto index and try to unbundle it after transforming it from an array to a cluster, it only shows 9 values instead of 91.  Do you happen to know how I can overcome this issue?
    I have attached the basic files.
    Solved!
    Go to Solution.
    Attachments:
    For Loop Problem.vi ‏7 KB
    SMA.txt ‏1 KB

    STigmata08 wrote:
    Thank you very much, I had no idea that you could select a cluster size from the transformation.  I am converting it to a cluster because I thought that it would be the best form to insert the data into different parts of a word template.  I am trying to build an auto reporting tool for a test sequence.
    You need to set thee cluster size, because clusters are static structures and the size needs to be known at compile time. This also makes them useless for your problem.
    To extract all lines from a file, you could use Spreadsheed string to array with a 1D string array as type and linefeet as delimiter. No need for FOR loops and complicated code. Also your sequence structure has no purpose because execution order is fully determined by dataflow anyway. Why is it there? Don't clutter the diagram with useless constructs!
    Here's what you could do. You can get any element, array subsets, etc. using array tools. These are scalable and you don't need to know beforehand how many line are in the file.
    Here's a quick draft (LV8.6)... 
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    For Loop ProblemMOD.vi ‏8 KB
    ArrayNoCluster.PNG ‏9 KB

  • Using auto-indexing tunnels to write data files?

    Hi,
    I am using ni-motion controller to control a servo motor and collect position and torque data. I want to write the collected data to TDMS files.
    Recently I learned about the producer/consumer design pattern and I figured that would be a good approach to ensure that writing the files didn't slow down my data collection timed loop.
    However, I also figured out that my program seems to run well if I wire the data I collect to auto-indexing tunnels. Then I use a structure that only executes after all the data collection is done to write the arrays I built to TDMS files.
    Is there any reason that the latter method would be advised against? Can the auto idexing tunnels slow down my loop enough for it cause concern? I am only collecting about 5000 data points for each channel.
    Cheers,
    Kenny
    Solved!
    Go to Solution.

    Well, autoindexing tunnels don't write data files, they just accumulate data until the loop completes. If this is a FOR loop with a known number of iterations, the size of the output data can be allocated in one swoop, which is very efficient. If you are autoindexing on a WHILE loop, the final array size is not known, so LabVIEW needs to make a guess and and requires occasional new memory allocations whenever the last guess is exceeded. This is inefficient.
    One problem with these approaches is if the program or computer crashes. In this case the data in the shift register is lost forever, while if you would stream it to disk, you would have most of the data acquired so far.
    If you use a proper producer/consumer architecture, you should be able to asynchronously write the data and it will not slow down your acquisition. No need ot wait for the competion of data gathering.
    LabVIEW Champion . Do more with less code and in less time .

  • What is the maximum size of indexed array that can be created during execution of while loop?

    Hello,
    I am using a ring acquisition to take in images. If i write them as files in the loop, it slows down the acquisition unacceptably. Therefore i am converting image to array and storing the array until the acquisition is complete and then reading the array and converting back to image to save. The program sometimes runs out of memory (after a couple of minutes). Can anyone think of a way where i can store the array/images within the execution (without losing image information), without slowing it down and to avoid this memory problem?
    I have included the VI.
    Thanks in advance for any help or advice.
    kindest regards,
    FraserD
    Attachments:
    LL_Ring_in_IMAQ_8_bit_array_then_write_as_png.vi ‏94 KB

    When you build the array of pictures you do it using auto-indexing out of a while loop. That means that memory is aquired for a copy of the previous picture array and the array is rebuilt on every iteration, this is slow and requires a lot of extra memory.
    If you want to speed things up try initializing a shift register with a 3D array of a size that will be able to hold a certain number of pictures, then replace the "pages" as new pictures are aquired, replace operations do not require copying of the previous array and will thus be much much faster. The difference is exeptional when dealing with large arrays/amounts of data.
    Now, the shift register buffer could be built into a functional global, and you can add a push/pop logic to it so that you can have a p
    arrallell loop that works on writing the elements to disk. You could use a que for this, but I think even though you specify a size limit to the que it still aquires memory as new elements are added (correct me if I'm wrong people...:-)), so a functional global acting as a circular buffer og fixed size frame for a que should be better.
    MTO

  • Index array is not getting new values from DAQ

    I am measuring force values with my DAQ card and these values are always changing.  However, in my programming something is not working right with the way I have things set up.  After my DAQ I have a "Convert to Dynamic Data" and after that I have an "Index Array".  When the program is executing and I turn on the highlight option I do not get changing force values after the "Convert to Dynamic Data" and therefore no changing force values enter my "Index Array".  Whaterever the first value is that gets passed to the "Convert to Dynamic Data" is the only value that I get for the remainder of the program.  I tried plugging in an indicator between the DAQ and the "Convert to Dynamic Data" and it did show varying values.  Please help with my program.  I have tried messing with the properties of the "Convert to Dynamic Data" and nothing has worked.  I am stuck and cannot see how to fix this problem.  I have attached my program as it is currently put together.
    Thank You In Advance,
    Gabe.
    Attachments:
    Actuator_Gabe_Oct27_Flat_Sequence_XY_+Measurement_File.vi ‏131 KB

    Please know that the best option is to review the concepts discussed to further understand programming in LabVIEW.  Perhaps you could take a look through ni.com/gettingstarted and ni.com/lv101 to have a look at some of the online help materials.  I have included a VI snippet of the while loop containing the changes.  Further, the code you attached contains a lot of customer controls and VIs, which are not common to all LabVIEW users.  It is a best practice to only attach the code of value to the question/post, and to have the most simplified version of the problem.
    Best,
    Adam
    Academic Product Manager
    National Intruments

  • How do I correct a build error while saving "Calculate Color Index Array.vi"?

    I have an application that takes some data and then periodically generates a nifty 3d graph.  When trying to compile this application to run on a stand-alone machine, i get an error message that crashes the build.  This is the information that is generated for the error:
    An error occurred while saving the following file:
    C:\National Instruments\LabVIEW 2009\vi.lib\Math Plots\3D Math Plots\3D Surface\3D Surface Datatype\Protected\Create Plot Data\Calculate Color Index Array.vi
    Invoke Node in AB_Source_VI.lvclass:Close_Reference.vi->AB_Build.lvclass:Copy_Files.vi->AB_Application.lvclass:Copy_Files.vi->AB_EXE.lvclass:Copy_Files.vi->AB_Build.lvclass:Build.vi->AB_Application.lvclass:Build.vi->AB_EXE.lvclass:Build.vi->AB_Build.lvclass:Build_from_Wizard.vi->AB_UI_Frmwk_Build.lvclass:Build.vi->AB_UI_FRAMEWORK.vi->AB_Item_OnDoProperties.vi->AB_Item_OnDoProperties.vi.ProxyCaller
    <APPEND>
    Method Name: <b>Save:Target Instrument</b>
    Details: 
    Error 6 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Item_OnDoProperties.vi -> AB_Item_OnDoProperties.vi.ProxyCaller
    Can anyone help me understand why the 3D Surface Datatype.lvclass keeps booching on my compile?
    Thanks!

    Check this

  • How can I create sub-arrays based on the positions of indicies in a separate index array?

    Please forgive me if this question is basic or obvious. I am fairly new to LabVIEW and I'm trying to learn as I go along.
    I have a 1D array of index values (the number of possible index values is not fixed, but can vary between uses of the application; it could be just {0, 1} on one day and {1, 5, 11, 678} on another) and a 1D array of measurement values (doubles). I'd like to parse the measurement values into sub-arrays for each index, so that if my index array was:
    [0 1 1 1 1 5 5 0 5 5 1 0 1 1 5]
    and my measurement array was:
    [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.10 0.11 0.12 0.13 0.14 0.15]
    I would get back 3 sub-arrays:
    [0.1 0.8 0.12]
    [0.2 0.3 0.4 0.5 0.11 0.13 0.14]
    [0.6 0.7 0.9 0.10 0.15]
    I know there must be a simple way to do this, I guess I'm just stuck too much in matlab-array thinking to figure it out... please help!
    -- jph
    Solved!
    Go to Solution.

    jamespherman wrote:
    Thus, I figured it might be possible to generalize this idea and send multiple sets of XY values to an XY graph.
    OK, all we need is a trivial modification of what we already have. XY graph data is easiest handled using complex data. Here's a quick rewrite. See if this works for you.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SplitInGroupsGraph.vi ‏14 KB

Maybe you are looking for

  • Mail eats RAM

    Every time I fire up Mail it eats up all my memory.  I can see it climb up in the list of the Activity Monitor, eventually to use up everything. Other applications lock up and I have to force quit everything if I don't force quit Mail first. I've set

  • Problem with i pod

    I can two different I pods, one is a shuffle and one is 3nd gen. I pod touch, the shuffle will sync and my computer finds it but when I try to sync the touch, my computer doesn't find it to sync and I'm not sure why or how to fix this problem.

  • Default program for mp4

    I've got a Mac mini running 10.8.3. I ripped a movie to play through iTunes and my AppleTV 2nd generation. I also have Parallels on the Mac mini running Windows 7. All of my music and movies are on an external drive. If I double click on a movie.mp4,

  • Too late to start up with Aperture?

    I'm aware of both Aperture and iPhoto being trashed by Apple in the near future. I have been using iPhoto on my MacBook Pro since it was introduced and usually do some additional editing as required using Adobe Photoshop Elements. But now I'm startin

  • 10.3 Server - Permissions for an images Share Point?

    Hello, I'm running 10.3 Server and I want to create a Share Point that acts as an images and logos depot. I want Guest users to access the folder, but I don't want them to be able to delete folders or files. At the same time, I want them to be able t