Cluster of 2 elements writing spreadsheet

I have a VI which measures the capacitance of DUT for differnt frequenies and then plots the graph.
What I want to do is following:
1) save all the data to spreadsheet or a text file.
2) Name the x axis and y-axis.
Could someone tell me how I can do this?
Attachments:
test_HP428XA_lcr_meter_f req_scan .vi ‏112 KB

what is this thing wrote:
I have a VI which measures the capacitance of DUT for differnt frequenies and then plots the graph. What I want to do is following:
1) save all the data to spreadsheet or a text file.
2) Name the x axis and y-axis.
1/ Data saving
Write first the header strings in an empty file, then append the 2D data array, built from the frequency and capacitance measurements. See the attached vi.
2/ Axis names :
Right click on the graph, then "X scale>Visible scale label", then click at the place where the label is supposed to be (middle of the scale, under the numbers), and a string cursor beam will appear.... Do the same for the Y scale.
The scale names can also be set programmatically, using property nodes.
Ask if you need more help.
CC
Chilly Charly    (aka CC)
         E-List Master - Kudos glutton - Press the yellow button on the left...        
Attachments:
test_HP428XA.zip ‏20 KB

Similar Messages

  • How is cluster of 5 elements converted to spreadsheet?

    I have a bundle output as a Cluster of 5 elements.  The cluster is displayed on the front panel.  I desire to convert that to write that information to a spreadsheet that can be opened with Excel.
    Please email me at:  [email protected]

    Hi DocNord,
    easiest would be to create a tab seperated textfile of your values: Unbundle the elements, convert them to text with tabs between the single elements and write it to a txt-file.
    More hints:
    - When all elements are of the same type you can/should use an array instead of a cluster.
    - There are functions to write spreadsheet files directly from 1D/2D arrays.
    - There's a function to convert a cluster (of elements of same type) to an array (and also vice versa).
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • 1D Array of Cluster of 2 Elements Write to Spreadshee​t

    Hi all, first time using LabView in many years.  I am trying to write a VI that will acquire data from our cDAQ (right now just trying to get it to work with a single thermocouple in a NI 9211, but eventually will be 8 X thermocouple, 4 X pressure transducer), display it in realtime on a plot, and then when the acquisition is stopped, output the data to a file for later use.  I am currently using the Base LabView package.
    My problem (as I remember it was 7 years ago when I last used this) is with the data types not working together.  This is my thought process currently on building this VI.  Everything is inside a While Loop with the Wait function at 1000ms.
    - Acquire a point of data using the DAQ assistant
    - Send that point of data into a bundle
    - Send the iteration count into the same bundle (as a timestamp)
    - Send the resulting cluster of 2 elements into a Build Array function
    - Send the resulting 1D array to a shift register in the While Loop, as well as to an XY graph for realtime plotting
    - Wire the incoming point on the shift register back into the Build Array function
    In my mind, this allows the XY graph to plot the complete array every iteration, giving a realtime view of the signal.  Everything works fine up to this point.  My problems are:
    When I stop and restart the program, the shift register is not cleared, so the existing data in the array remains on the graph.  I know I need to initialize the shift register to clear it, but I cannot figure out what to wire to it that will be compatible with the data type (I just get broken wires with everything I tried).
    Similarly, I cannot figure out how to output this data to a spreadsheet after I Stop the While Loop.  I think I should wire the "Write to Spreadsheet File" VI to the outgoing shift register, but again, I can't get compatibility with data types (source is a 1D array of cluster of 2 elements).
    I have attached my current program "Production" to this post.
    I look forward to the help!
    Brad
    Attachments:
    Production.vi ‏46 KB

    Hi Brad,
    I would suggest you change your architecture. First, to answer your questions:
    1.
    In order to ensure that your shift register is not reading the last
    value from it's memory location, you just need to create a constant for
    the shift register. To do this, right-click at the input of the
    'left-placed' shift register and create a constant.
    2. The Write
    to Spreadsheet is expecting a 1-d or 2-d array while you are wiring a
    Dynamic Data Type. Use the Convert from Dynamic Data Type to convert
    the data into the appropriate waveform after which you can get the
    waveform attributes which includes the values and the timestamp data. Or, you can use the Write to Measurement File to write to a .lvm file which can be opened in Excel as well.
    Changes to your architecture:
    Since
    you are using a lot of channels, I would advise you use a
    producer/consumer architecture. You can have a look at this
    architecture by navigating to File -> New.. and searching for the
    Producer/Consumer template. You will notice that this architecture uses
    queues. The way you will design your VI is to use DAQ to acquire the
    data into your producer loop, convert this data into a waveform and
    then send this data to the consumer loop via queues. In your consumer
    loop, you can write this data to a file. At this point, I would
    encourage you to write to a binary file instead of a spreadsheet file. The write will happen faster and you will be using less space on your hard disk when compared to ASCII writes.
    I know this can be real confusing for a beginner, so be sure to post back if you have any questions.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • How do I convert a 1-D array of cluster of 5 elements into a 2-D array of numbers? (history data from a chart)

    Hello,
    in my vi I have a chart with 5 Plots displaying measurement data.
    The user should be able to save all the history data from the chart at anytime. (e.g. the user watches the chart and some event happens, then he presses a "save"-button)
    I know, that I can read out the history data with a property node. That is not the problem. The problem is, how do I handle the data? The type of the history data is a 1-D array of cluster of 5 elements.
    I have to convert that data somehow into a 2 D-array of numbers or strings, so that I can easily save it in a text-file.
    How do I convert a 1-D array of cluster of 5 elements into a 2-D array of numbers?
    I use LabVIEW 7.1
    Johannes
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Solved!
    Go to Solution.

    Gerd,
    thank you for the quick response and the easy solution.
    Look what I did in the meantime. I solved the problem too, but muuuch more complicate :-)
    And I have converted the numbers to strings, so that I can easily write them into a spreasheet file.
    Johannes
    Message Edited by johanneshoer on 04-28-2009 10:39 AM
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Attachments:
    SaveChartHistory.JPG ‏57 KB
    SaveChartHistory.JPG ‏57 KB

  • Unable to plot 1-D array with a cluster of 2 elements on an XY graph

    I'm Unable to plot a 1-D array with a cluster of 2 elements on an XY graph. The data appears at the input to the graph but nothing is plotted. I'm trying to plot a line connecting each point generated.
    Solved!
    Go to Solution.
    Attachments:
    TEST11.vi ‏13 KB

    Chuck,
    0. Do not post VIs with infinite loops! Change the True constant to a control.  One of the regular participants on these Forums has commented that using the Abort button to stop a VI is like using a tree to stop a car.  It works, but may have undesired consequences!
    1. Use a shift register on the For loop also.
    2. Inserting into an empty array leaves you with an empty array.  Initialize the array outside the loop to a size greater or equal to the maximum size you will be using.  Then use Replace Array Subest inside the loop.
    3. Just make an array of the cluster of points.  No need for the extra cluster.
    Lynn
    Attachments:
    TEST11.2.vi ‏11 KB

  • Adding an element in an array of cluster of 2 elements

    Hi all,
    I have a 1D array containing a cluster of 2 numeric elements (= 2 rows of 100 values).
    From this array, collecting new data in for loop, I want to create another array containing a cluster with 9 elements: in each for I want to add an element (= like one row).
    After this, I want to compare data from one element with a fixed value, and when the value is find in the element, I want to extract the values of the 8 other elements at this point.
    Thanks
    Dze

    Sorry I didn't understand you well. To use only arrays, you'll need 3D arrays, as you can see in the example attached. I've made two variants, one with your method (don't know if there's an easyer one) and one with the method I think is easyer, after that, you can search in the 3D array easyer that in the array of clusters of arrays (uff...). If I misanderstood you again, please let me know.
    Hope this helps
    Attachments:
    arrayclusterarray.llb ‏50 KB

  • How to name elements and create cluster of named elements

    I wanted to detail the steps I found, so that others could more easily follow what I found going through these discussions.  While there are numerous examples, they lack details such as function names and how to achieve the steps.  Most of them seem to cover only arrays.  I welcome corrections.  I'm not saying this is the best way; it is, however, a simple detailed description of one way to do it.
    I wanted to create a cluster of various data types that could then be manipulated by name.  Unfortunately, simply wiring an existing cluster to a Bundle by Name.vi does not assign the existing labels of the elements to the name field of the cluster.  I don't know why.
    1.  Create an input cluster with dummy constants of the proper data type for each element.
    How do you create an input cluster?  Searching functions finds no "Input Cluster" function.
            The only way I found was to place a dummy Bundle by Name.vi , right-click at the top of the leftmost of the two rectangles and select Create, then Constant. The result looks like the attached Creating Input Cluster.PNG
             You might as well delete the Bundle by Name.vi at this point, because the changes make to the input cluster will only be reflected when it is connected to a NEW Bundle by Name.vi
             Next, for my purposes, I needed constants for DBL numeric, string, and array of strings.  I started by placing  one DBL and one string constant on the block diagram.  I copied these to create the ones I needed. Make the labels visible and type in the names corresponding the Bundle Names desired.  
             Since there is no function called "String Array constant", it is necessary to place the "Array Constant" function on the Block Diagram, then drag a string constant into the empty right hand square of the Array Constant.  It immediately changes color to show it is a string array.
              Drag each of these constants into the input cluster so that they appear in the order desired.  It is a bit of a pain because the square resizes tightly around the existing elements after each insertion.  You have to keep expanding the box at the bottom by dragging its sizing handles, so you can be sure each item is added to the bottom of the list.  When done, my input cluster looks like Completed Input Cluster.png attached.
    2.  Place a NEW Bundle by Name.vi on the Block Diagram.  Wire the input cluster to the top of the left rectangle of the function. Drag the down sizing handle of the Bundle by Name.vi until all the elements of the cluster are visible.  You will see the names and it will look like Bundle by Name with assigned names.png attached.
    3.  All that remains is to connect the data wires for the individual elements to the left side of each named block and wire the output cluster.  The result is shown in Complete design producing cluster of named elements.PNG attached. (Since only three attachments seem to be allowed, this last will be in a follow-up post.)
    Attachments:
    Creating Input Cluster.PNG ‏3 KB
    Completed Input Cluster.PNG ‏3 KB
    Bundle by Name with assigned names.PNG ‏8 KB

    I wanted to add a brief statement about EDITING cluster controls because newcomers to cluster usage (like myself).  The HELP is good on creation but says nothing about modification.  While it has been posted other places, I think a "newbie" might appreciate getting this info here.
    To edit a cluster control, open the CTL file, then
    Add a control by creating the control on the front panel, then save the control.
    To remove a a control, delete the control, then save the control file.
    (Simple enough)
    To modify an existing control
    1.  Move the control out of the cluster into a blank VI.  
    2.  SAVE the cluster control file (CTL).  
    3.  Modify the control in the blank VI.
    4.  Drag the modified control back into the cluster control.
    5.  SAVE the cluster control file (CTL)
    NOTE WELL: don't skip step 2. 

  • Write an 1d-array of cluster with 3 elements

    Hi,
    I have to make a "Power spectral densities" analyse from my waveform data. The results from this VI is an array of cluuster with 3 elemments. Now I want to write this array of cluster with 3 elements to a file. And later it must be able to use this file with EXCEL!!
    thanks

    Hi
    I found some outer Forum entries about this topic.
    Look at this links:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=49553&requireLogin=False
    http://forums.ni.com/ni/board/message?board.id=170&message.id=51526&requireLogin=False
    I hope this helps
    Manuel

  • How can I write a 1d array of cluster with 3 elements to a file?

    Hi,
    I have to make a "Power spectral densities" analyse from my waveform data. The results from this VI is an array of cluuster with 3 elemments. Now I want to write this array of cluster with 3 elements to a file. And later it must be able to use this file with EXCEL!!
    thanks

    Hello schloronzo,
    make a for loop feeded with your array. Inside the for loop unbundle
    the cluster, "format into string" the 3 values, adding the result to
    the ones before and collect them in a shift register. Then save the
    resulting string to a txt-file. If you make a good format string then
    Excel is able to read your txt-file (use tab a separator and CR/LF
    after each 3 values aka "csv format").
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Attaching a Cluster of 2 elements data type to dynamic data type wire.

    Hey Folks,
    How do I attach a cluster of 2 elements data type of wire with a Dynamic data type wire?
    Or a Build XY Graph to a curve fitting2.
    Thanks for the help.
    Ty

    Hi Ty,
    Try to use the "Express-VI Curve Fitting" which is at: Functions-> Signal Analysis -> Curve Fit.
    You have to put this VI before the "Build XY Graph".
    Otherwise, u can convert the siganls types by using the "Convert from Dynamic Data"
    which is at : Functions-> Signal Mamipulation -> Convert from Dynamic Data.
    Hope it Helps....
    The Bush-Man

  • Write 1d array of cluster with 2 elements to file

    HI!
    I'm new at LabView so I hope the question is very simple to you:
    I am using a waveform graph to display several measurements.
    Now I want to save these Measuremens. The data are stored in 1d array of cluster with 2 elements.
    What is the easiest way to do this??
    Thanks

    If you are already using waveforms you can simply wire right up to "Write Waveforms to File.vi" in the Waveform palette under Waveform File I/O.
    Daniel L. Press
    PrimeTest Corp.
    www.primetest.com

  • Connect an 1-D array of cluster of 3 elements with dynamic data

    hi everybody.
    I am trying to wire an 1-D array which consists of a cluster of 3 elements with dynamic data. The error that appears says that I'm trying to "connect two terminals of different types". Actually, what I want to do is write to a file the FFT data produced by the Spectral Measurements vi. In order to write to a file, I am using the Write to Measurement File vi, but I don't know if this is the right way to do this. Has anyone any idea about this problem, because I'm out of ideas....
    Thanks a lot!!

    ok! This works really good! thanks a lot! now i'm facing an other problem...The output file does not contain the right data. I want to collect the FFT (frequency vs. amplitude) of a time signal and it gives me the record length and the sampling rate instead.
    For example, if I use a sampling rate of 300 ksamples/sec and a record length of 1000 sampling points, the file to be created has one column containing the record length e.g.
    0
    1
    2
    3
    498
    499
    and on more column containing almost zero values and the value of the sample rate. Do you have any idea why this is happening?
    Thank you!!

  • Connect 1 D array of cluster of 2 elements with dynamic data

    Hello
    The type of source is 1D array of cluster of 2 elements and the type of sink is dyanamic data. Can any one guide me how to connect these 2 elements together. Any response would be highly appreciated. 
    Thanks 

    First, this question would more appropriately be posted to the LabVIEW Board. It is not a signal conditioning issue.
    The dynamic data type (DDT), sometimes referred to as the "evil dynamic data type," completely obscures the internal data structure. The only way someone could help is if you tell us what the source is expecting the internal data structure to be. The only objects which want DDT inputs are Express VIs, which are also good at obscuring thier contents. Implementing the sampe funcitonality with standard VIs might be a better approach.
    You also have not completely specified the source. What are the data types of the cluster elements? 
    Lynn

  • Conversion cluster of 4 elements to cluster of 2 elements

    Hello
    guys
    Id like to get help fom you guys, im try to convert cluster of 4 elements to cluster of 2 elements .
    how can I do that?
    I show what Im trying to connect
    Im using infrared array and I want to count the objects . Ive connect it to analog port arduino and i want it to count the object in the room 
    Thank you

    jonhde077 wrote:
    This is the probelem guys how can i solve it 
    No, that's not the problem. You cannot simply "convert" something until the LabVIEW compiler no longer throws an error unless it actually makes sense. If you have four elements and only want to retain two, there are many possible permutations. What are the four elements, what is their datatype, and what do they represent. What kind of data does the other connector expect?
    LabVIEW Champion . Do more with less code and in less time .

  • Scrollable cluster arrays as control, writing programmatically at the same time?

    I would like to have a cluster array (just an example, you may suggest better solution), where each row (cluster-element) contains signal selection from combobox, and its value and unit.
    I would like to have a signal list, where in each row, I can select which signal I want to show e.g. "motor speed", "motor torque", "motor power". And when signals are selected, the value of the
    signals are automatically updated elsewhere. So basicly, I want to select which signals I monitor, and then watch them change over time. I use single cluster array because I want it to be scrollable. The problem is:
    * let's say I have one row in the array. Then I add a row by editing the control in the GUI (now the array control has size 2).
    * I have property node (write: array control -> value) to update the values and units in my software.
    * I use array control output as the input in the subVI where I read my selections and write updated signal values.
    * It can happen that I use that array control output when it still has size 1, and while I have added the second element, the software updates the control, and overwrites my new element addition.
    So, I run into writing conflict. Only single user, just this problem. How should I avoid this?
    (e.g. how can I know that user is not interacting with the control, so that I can update its value and unit fields)

    First suggestion is to post the code you have.
    But that being said what you want to do can be done.  I think the problem you are having is a race condition between the user and the software.  Where the user chagnes the value and the software changes it back.  I suggest reading the value of the control and replacing its value but keep the signal names the user entered, then write that back to the control.
    Another suggestion is to have two separate arrays, one that is signal selection, and one is values.  Then you only need to update the values table with the new data and the signal names never get overwritten.  You'll likely want to couple the two arrays so when one index value changes the other changes with it.  This can be done with an independent scrollbar control.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Maybe you are looking for

  • Cancel a SD invoice error message "no authorization for transaction FB08"

    Hi Gurus, I am trying to cancel a SD invoice and am receiving the error message " no authorization for transaction FB08" is coming. Never has this happened in past, i have checked all the security authorizations also and they are in place. Accounting

  • Lumia 1020 Owners - What is your iPhoto Workflow

    I really want to start using iPhoto fully to manage my photos. I have my images from my past two phones in iPhoto already and that's all fine. They were the Lumia 800, and then Lumia 520 as a cheap stop-gap when my 800 broke whilst waiting for my nex

  • Setting Defualt Authentication type to Enterprise in Full Client - strange

    Hi Folks, I am having issue setting up default authentication type in full client. My users here use Desktop Intelligence for their reporting. We have configured Windows AD authentication for them and they are logging to one of the server via Citrix

  • Wine page fault error on running Sims

    Hi All, I am suffering excruciating pressure from my teenage daughter who wants to run Sims on my Arch Laptop. It installs fine, but running it gives the following page fault: wine .wine/drive_c/Program\ Files/Maxis/The\ Sims/Sims.exe wine: Unhandled

  • Encore CS4 is crashing at the same spot every single time

    I recored my screen so you can see exactly what is happening. http://www.screentoaster.com/watch/stUEtdQkxPRFtYQ1teWlpbXl5Q It crashes when I'm previewing it, after I click a button that takes it to the next menu. I'm running Windows 7 32-bit with 3