A question about Waveform graph

Hello everyone.. I have made a waveform graph to measure pressure with my DAQ NI-9237. The problem is the time value in the x-axis shown on the picture below. It only shows the measurements from 0 to 1, but i need from 0 to 4 seconds. 
Thanks in advance
Oesen
Best regards
Oesen

Hi Oesen.
It's because you convert your data to a double, which does not contain any information about the time. Instead, simply delete the 'Convert from Dynamic Data' and wire in the dynamic data directly to the chart. The Waveform Chart supports this datatype as well.
Another solution is to keep the 'Convert from Dynamic Data', but instead of converting the data to doubles, you convert to a waveform. You do this by dobbel-clicking on the function and select 'Single Waveform' in the list. I personally think this is the best solution, since you are now able to work with your data in a way the dynamic datatype won't allow you. Try and wire the waveform to 'Get Waveform Components' and see how data is stored.
You can read more about the waveform datatype here:
Using the Waveform Data Type in LabVIEW
http://digital.ni.com/public.nsf/allkb/B965F316364​DE17B862572DF00363B10
I hope this information is helpful.
Best Regards
Alex E. Petersen
Certified LabVIEW Developer (CLD)
Application Engineer
Image House PantoInspect

Similar Messages

  • Question about waveform...

    Hi.. is me @ again....
    this time i wish to know something about waveform...
    erm... who can let me know about the setting x-axis??? i wish to do the seeting same as the picture below...
    hope somebody can help me...
    Jaxx
    Attachments:
    question.jpg ‏9 KB

    Right-click on your waveform graph and select "properties".
    Now Go to the "Format and Precision" tab, select "X-axis, relative time, HH:MMS". Click OK.
    (If you want exactly the range shown, disable autoscaling and enter 00:00:09 in the rightmost tick mark)
    LabVIEW Champion . Do more with less code and in less time .

  • Question about intensity graphs

    Hi all Labview gurus and lovers,
    I have a question to all of you. Last time I encountered with the interesting problem connecting to the building of the intensity graphs from the measurements. Suppose I have a matrix of numbers actually the voltages that I give to piezo motors. Afterwards I get some data from the measurement and I build some intensity graph from that data. And I want that every measurement will corresponding to voltage that I gave to the piezo motor. So I want to build the intensity graph as I dictate to the program to build it.
    Example: I want to scan area ,some square from x=0.5;y=0.5 to x=-0.5;y=-0.5. and I did some algoritm that builds me some matrix of numbers depending on resolution of the picture; for instance if the resolution is 256, so the number of x will be 256 just like y=256 kinda 256 lines. Afterwards I say to the intensity graph that Xmax is 0.5 and Xmin is -0.5 just like Ymax=0.5 and Ymin =-0.5; also I deliver to him x and y offset and multliplier. So when I see how it builds my gaph I dont see that it starts from the [0.5 0.5] point as I want it. So my question is: how can I be sure that it will start from the point I want it to start?  And how can I dictate to the graph to start to build the graph from the point I want? Because the problem happens when I want to zoom some area. When I zoom some area it gives me something different from what I expect to get.
    thank you.

    dimani4 wrote:
    ... also I deliver to him x and y offset and multliplier.
    What is your definition of deliver? I don't understand.
    All you need to set is the offset and multiplier to define the linear relation between array indices and axis values.
    In your particular case you would set x0=0.5 and dx= -1/256 or similar (might need a small tweak)
    In summary, x0,dx define the mapping of array indices to real values. These never change for a given set of data. Xmin,Xmax, etc define the visible area. These are modifiied during zooming and are purely cosmetic.
    dimani4 wrote:
    When I zoom some area it gives me something different from what I expect to get.
    You should learn how to ask efficiently. Attach a small example with some typical data in a diagram constant. Tell us what you get and tell us what you expect to get! In the above sentence "different" is not sufficient as a description, since both sides of the equation are undefined!
    LabVIEW Champion . Do more with less code and in less time .

  • Question about waveform chart time scale

    Hello,
    I have question regarding to time scale on my chart, I want  it to show the actual measured time, for example  from 0-30 seconds, but instead my minimum value is 302654789854 . Please help me to fix it.
    Regards ,
    Stella Deheryan

    You can modify the way the time is displayed on the axis by right clicking the chart and selecting properties. On the display format tab, select relative time. This should show the X-axis scale as HH:MM. Or pick any other type of formatting you want.
    Best Regards
    Michiel
    Applications Engineer
    NI Belgium
    http://www.ni.com/ask

  • Question about stacked graph from DB

    Hi There.
    Ive come up against an interesting issue in my current project. In my prototype I have a stacked column chart (just one column) with the 'sections' of each column being defined as in the Flex docs, i.e. I have 3 column series I will call col1, col2, and col3. This works great but now my problem is that when I start getting data from the DB, I could have any number of column series as I have in the DB data pairs in the form of; col1 - 23, col2 - 34, col3 - 14... And there can be x number of records. Has anyone got any references or ideas about how to go about this?
    Thanks in advance.

    Getting on with this I can say I have made (some) progress.
    The file looks as follows:
    <mx:ColumnChart id="columnChart" type="stacked" dataProvider="{this.chartData}" width="507" height="100%" x="781" y="0">
         <mx:horizontalAxis>
              <mx:CategoryAxis categoryField="category" dataProvider="{this.chartData}"/>
         </mx:horizontalAxis>
    </mx:ColumnChart>
    And the AS part:
    private function createChartSeries(event:ResultEvent):void
         var temp:ArrayCollection = event.result as ArrayCollection;
         chartData = new ArrayCollection();
         var i:int;
         chartData.addItem({name:"val1"});
         chartData.addItem({name:"val2"});
         for (i = 0; i < temp.length; i++)
              var series:ColumnSeries = new ColumnSeries();
              series.xField = "name";
              series.yField = temp[i].call_type.toString();
              series.displayName = temp[i].call_type.toString();
              chartData.getItemAt(0)[temp[i].call_type.toString()] = temp[i].cost;
              chartData.getItemAt(1)[temp[i].call_type.toString()] = temp[i].duration;
              columnChart.series.push( series );
         columnChart.dataProvider = chartData;
         columnChart.invalidateSeriesStyles();
         columnChart.series = columnChart.series;
    [Bindable]
    public var chartData:ArrayCollection;
    The event.result is as follows:
    [{type:"t1", val1=10, val2=30}, {type:"t2", val1=20, val2=3}]
    Now call the "createChartSeries" function the y-axis updates, there are 2 columns (well the grey bit down the bottom), but there are no names (the x-axis values) and the actual data columns do not show up.
    Can anyone help me with this one?

  • Question about waveforms

    Why exactly is the waveform of a mono recording asymmetric, i.e. the part below the line is different from the one above? And what does it mean when one part clips and the other doesn't?

    here's an image from GB:
    now if i take away the shading it looks like:
    which just looks like a waveform to me
    Grabbing an image from wikipedia:
    (posted under their license, from the entry: http://en.wikipedia.org/wiki/Waveform )
    since those are mathematically generated waves they are perfectly symmetrical, but your voice, or a guitar will never look like that, it would look like the second image above.
    Is that any clearer, or did i just muddy up the water more?

  • Questions about waveform processing

    Hello,
       I have a waverform from a 2 channel scope.  I would like to be able to measure the time from the rising edge of channel 1 to the "presence" of a sine wave on channel 2.  Is there a easy way to do this in Labview?
    Regards,
    Kaspar   
    Regards,
    Kaspar

    Kaspar,
    How easy it is may depend on how well you can define the two points: The rising edge and the "presence" of the sine wave. Once you have those two points, simply subtract the array indices and multiply by dt. If you want to interpolate or if the signals are noisy and the definitions of the two points are not clear, then things may be difficult.
    Lynn

  • Code needed for "putting waveform graphs and 8bit images in the same window by Windraw"

    Hi Micheal, please sent the code example for my question:"putting waveform graphs and 8bit images in the same window by Windraw" , thanks.

    You can start from here ...
    Hope that helps,
    Michael
    Attachments:
    tester.vi ‏97 KB

  • Questions about decimation and zoom in graphs

    I am currently developing an application in which the size of the signals I have to display in different graphs is quite large (8 Mbs of DBLs, for example). I was thinking about reducing the amount of memory used when I found a document at National Instruments Developer Zone (http://zone.ni.com/devzone/conceptd.nsf/webmain/6A56C174EABA7BBD86256E58005D9712?opendocument), and inside that paper there was a paragrpah, "Fast Data Display with Decimation", that was perfectly suitable to me.
    However, there is a drawback. If the user uses the zoom tools inside the Graph Palette to enlarge the decimated signal, and I do not take care of that situation in some way, doing so will result in an incorrect view since he will not be worki
    ng with the original signal. Through events I am not able to know when the user has specifically zoomed the signal, not only touched the graph, so here are the questions: does anyone know a way to detect when the user has used the Graph Palette or the other items of the Waveform graph as the Scale Legend, for example? In general, is there a way that you can reduce the amount of points showed in a graph and still work with zooming tools without problems?
    Thanks in advance and have a nice day,
    spj

    The things you say in your comment are right. In fact, that was what I had to do to fix the problem. Let me explain myself a little further.
    I needed to reduce the memory, so I decimated the signal. To take care of the zoom bussiness, in my Diagram Block I put an event case to warn me when the mouse left the graph in order to do exactly what you have mentioned: with the original signal and the new limits, being aware of the x-multiplier, re-decimate the signal if necessary.
    But that is when my problem arises. I am not able to distinguish when the user is really zooming the signal or merely touching the graph, without zooming anything. Now you can see the reason of my questions.
    Thanks for your interest, Joe, and have a nice day,
    spj

  • Problem about selecting waveform in waveform graph

    Hi all:
    I am developing a project by Labview. Now I meet a problem about selecting the waveform in the waveform graph.
    I am not sure whether it is possible about my idea.
    for example:
    In the waveform graph,  the different waveforms from a couple of channels are displayed. and then I want to select one waveform of them, and corresponding data about this waveform are shown. 
    Thanks so lot
    regards

    hanwei wrote:
    1.  can I zoom in and out in that "waveform graph"??
    You can do this using the graph palette. Just make it visible. The middle control allows you to zoom.
    2.  can I display the plot array or plot index that I select in the waveform graph?
    You can connect the same wire that goes to the ActivePlot property node to an indicator.
    3.  I build a sample codes for my project, in which , I used a random number generater to simulate a DAQmx data collection, and generate a overlapping waveform in the waveform graph.
         but it seems the program is not stable, when i first run the codes, it is ok, and I can select the plot what I want. but after I stop and restart the program, there is error message about "Property Node".
         it seems something wrong about the "waveform graph properties"
    I attached my codes here, anybody know what wrong about it?
    For some strange reason the property node is "messed up". I've seen this happen sometimes with graphs. I don't know what causes it, and the only way I've found to fix the problem is to delete the graph, put a new one on the front panel, and recreate the property nodes. I've typically seen this happen when copying code from another VI that has a graph with property nodes, as I suspect you did. If you delete the graph, put a new one on there, and recreate the property node you should be OK.
    That said, a few comments regarding the code:
    The architecture seems to be a mish-mash of operations, and I'm thinking that you probably want to look at using a producer-consumer architecture. Your producer loop responds to events, and the consumer loop does your DAQ collection.
    You have a race condition with your use of the "size(s) 2" local variable.
    Avoid right-to-left wires.
    The method of creating your arrays seems convoluted. However, since you said you will actually be getting the data from a DAQ system, the actual project code will likely be considerably different.

  • Question about the programming of a legend

    Hello everybody,
    I have a question about the programming of a waveform's legend. I
    already asked here in this forum about the legend programming (03)
    months ago.
    I went satisfied but I ve just noticed that this code
    (See Code old_legend_test.llb with main.vi as main function) operates a
    little different from my expectances.
    Therefore I have a new question and I want to know if it
    is possible by labview programming to plot and show, on a waveform
    chart, a signal with activ plot superior to zero (0) without to be
    obliged to plot and show a signal with activ plot equal to zero (0) or
    inferior to the desired activ plot.
    I give you an example
    of what I m meaning. I have by example 4 signals (Signal 0, 1, 2 and 3)
    and each signal corresponds respectively to a channel (Chan1, Chan2,
    Chan3, Chan4). I want to control the legend (activ plot, plot name and
    plot color) programmatically. Is it possible with labview to plot signal
    1 or 2 or 3 or (1, 3) or (2,3) or (1,2,3) or other possible combination
    without to active the signal with the corresponding activ plot zero
    (0)?
    Let see the labview attached data
    (new_legend_test.llb with main.vi as main function). When I try to
    control the input selected values again I get them back but I don't
    understand why they have no effect on the legend of my waveform chart.
    Could somebody explain me what I m doing wrong or show me how to get a
    correct legend with desired plots? Thank by advance for your assistance.
    N.B.
    The
    both attached data are saved with labview 2009.
    Sincerly,PrinceJack
    Attachments:
    old_legend_test.llb ‏65 KB
    new_legend_test.llb ‏65 KB

    Hi
    princejack,
    Thanks for
    posting on National Instruments forum.
    The behavior
    you have is completely normal. You can control the number of row displayed in
    the legend and this rows are linked to the data you send to your graph. Thus,
    if you have 3 arrays of data, let say chan1, chan2 and chan3, you can choose
    which data you want to display in your graph using the property node (Active
    plot and visible). But for the legend as you send 3 plots there is an array of
    the plot name [chan1, chan2, chan3] and you can display 0, 1, 2 or 3 rows of
    this array but you cannot control the order in this array! So, to be able to
    change this array you have to only send data you need to you graph. I'm not
    sure my explanations are clear so I have implemented a simple example doing
    that.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Attachments:
    GraphLegend.vi ‏85 KB

  • How can I label the peak in the waveform graph!

    Hello, my question is a little vague. I try to narrate it clearly.
    Thank you for your patience!
    I work with Labview 7.1. At a word, My question is how to label the
    peaks when using the while loop and the event structure with
    the dobule click event!
    1.Open the Why.VI and execute it.
    2.Click in the 'Acquire signal', then you will find two modes to upload
    the signals, press the 'Read' button and ignore the 'Sample',since 'Sample'
    mode need the support from the hardware, while 'Read' mode just upload file
    from disk,  select the 'Signal.txt'(inluded in the attachment), you will
    find two waveform shown in waveform graph,just like 'Pic1.jpg'. Up to now,
    there is no problem.
    3.Press on the 'Analysis' button and enter a new interface. Amplify the plot
    and selet the the a piece of waveform between about 3.02 and 3.06. Set the
    x coordinate of the 'Cursor 0' as 3.03 and set the width as 0.01. Move the cursor
    you will find two cursors(one vertical lines in yellow and another in blue).
    Double click the graph and select 'valley', two x coordinate values corresponding
    to the x coordinate of the two valleys are listed in the listbox. All above
    mentioned is shown in 'Pic2.jpg'.
    4.Let me explain my idea and my question now. What I have done is plot the waveform
    when clicking in 'Analysis' interface;then, amplify the waveform, select
    a certain area and move the cursors;at last, double click the graph, the waveform
    between the two cursors are selected and the peaks are identified.But, what I need
    next is to label the peaks in the graph as soon as I double click the graph,I
    can not realize this idea because the waveform is out of the while event, the coordinates
    of the peaks can not output until the while event is stopped. If I move the graph
    into the while loop,the selected area can not be keeped because the while loop will
    run continuously and will renovate the plot area to original area, but I want to keep
    the selected area for got the peaks conveniently. In short, My question is about how
    to label the peaks in the graph and keep the seleced area freely.
    This problem has puzzled me for a long time. May anyone give me some advice.
    Thank you for patience and really appreciate your help!
    BTWlease let me know if the VI can not run well!
    Attachments:
    Calculate velocity.vi ‏271 KB
    why.llb ‏389 KB
    Acquire.vi ‏213 KB

    Sorry, I try to compress the files in '.rar' ,but it is compatible with the web,I have to
    upload them in reply file.
    Attachments:
    signal.txt ‏684 KB
    Save file.vi ‏103 KB
    Get Waveform Time Array(0).vi ‏46 KB

  • How does waveform graph downsamples the data before it is plotted

    Hi,
    I'm interested in how does waveform graph downsamples the data before it is plotted and what algorithm is used for this purpose? My goal is to plot 30 plots that have 1M samples each and I would like to downsample them before plotting onto a graph. I tried several VIs/algorithms for resampling and none of them gave the same result as seen by waveform graph (when all the samples are plotted).
    For example, if only one sample of 1M samples is 1 and all others are 0, then after downsampling to 1k samples the sample is not visible on the graph anymore. However, if I plot all 1M samples directly onto the graph, then also this 1 sample is visible (see attached example). 
    Solved!
    Go to Solution.
    Attachments:
    WFGDownsampling.vi ‏19 KB

    Hi andrej,
    LabVIEW draws plots in the way that draw every pixel affected by signal. So for example if there is zero-valued 1M samples and even one equals to 1, you will see the peak. That is the reason why you do not get the exactly same behavior comparing to interpolating. But if you set FIR as interpolation mode in Resample Waveforms (single shot).vi, result is really similar, but of course amplitude is 1000-times smaller than original one (because there is dt set to 1000). Keep also in mind that in Graph 2, there is different Y-scale and it should be considered as noise, not relevant data, I would expect 1000-times smaller amplitude as in Graph 3, it is many more times smaller.
    I would also like to say something about downsampling (decimating) the data. If you have 1M samples, you can see the peak even that there is only one value. But bigger problem is that with this graph resolution (I guess that is not more than 1000px), it is problem to find position of this peak. It means that still the zoom is needed to know where the peak is. Usually, when there is that big set of data, you are extracting different data (statistical information, peaks in FFT, etc.) not just visual data in graph.
    Mariaaa:
    I do not understand your question, can you please describe more your needs? You mentioned saving the data into a file, you can use Write to Measurement File express VI or see Write to Text File.vi in Example Finder and try to appropriately modify it.
    Best regards,
    Martin

  • Unexpected Windows cursor/Waveform Graph cursor behavior

    Hi,
    I got a very strange Windows cursor behavior with waveform graph. Simplified VI is attached.
    LabVIEW 2014 SP1
    The problem is:
    The VI contains only one waveform graph.
    1. I start the VI. Cursor Movement Tool is selected in the Graph Palette by default. Corresponding “Cross with dot” Windows cursor appears when mouse is moved over the plot area (see image). So far so good.
    2. I select Zoom in the Graph Palette and use it two-five times (second image).
    3. I select Cursor Movement Tool in the Graph Palette again but Windows cursor does not change as it should. It is an open cross now (third image); i.e. the same as shall appear when cross of Graph Cursor Lines is reached.
    4. I click mouse three-seven times anywhere in the plot area and the cursor becomes normal (as in the first image).
    The problem is not only in shape of the Windows cursor. The whole Graph cursor functionality does not work properly if the Windows cursor has the wrong shape.
    Please advise what could cause this problem.

    It seems, i cannot explain the question in good way
    It is not about my data or zooming. It is about strange bahaviour of the Graph. The following sequence of steps illustrates the problem and shows that the zooming is not the issue (or, at least, not the main issue):
    I do the following:
    1. Start the VI.
    2. Select first Graph cursor in Corsor palette and use pop-up menu "Bring to Center".
    3. Zoom couple of times (not too much) keeping the Grapg cursor visible.
    4. Select Cursor Movement Tool in the Graph Palette.
    5. "Open cross" Windows cursor appears from the beginning. I cannot pick up the Graph cursor.
    6. Click left button of the mouse several times in any poin of the graph area.
    7. Windows cursor is changed to the normal "cross with central point".
    8 Now I can pick up the Graph cursor.
    I would suspect problems with zoom until p.5. However p.6-8 are done without any change of the zoom.
    By the way, I found more:
    If I try to move the Graph cursor after p.5, the whole graph moves and fires event "Scale Range Change". It must not happen with Cursor Movement Tool selected.
    I can guess only about some strange setting of the graph. May be I am not aware about them

  • Problems graphing FFT of sine wave with Waveform Graph

    I know that this type of question has been posted
    many times, so I apologize for posting a similar one. Unfortunately,
    after reading quite a few threads I still have a question or two.
    Basically, I need to use a Waveform Graph (not an XY graph) to graph
    the magnitude of an FFT of a sine wave. I can't figure out which VI I
    should be using to obtain the magnitude of the FFT. I think I'm using
    the proper FFT vi (just the regular FFT.vi), but I can't find a VI
    dedicated to magnitude. Of course, I could be misinterpreting the
    pseudocode which I am following.
    If you
    wouldn't mind taking a gander at my VI, I'd appreciate any input you
    might have. The pseudocode is contained in the block diagram. You
    can see that I have another graph for just the sine wave, and I think
    that works as it should. I'm primarily concered about the waveform
    graph which isn't currently connected to anything, but should
    eventually be hooked up to the FFT.
    Thanks!
    Attachments:
    Labview5.vi ‏199 KB

    Your problem is that the output of the FFT is an array of complex numbers. Take the magnitude and you will be able to plot it.

Maybe you are looking for

  • Automatic change in MIRO Screen from Invoice/ Credit Memo/Sub-Credit/Sub-D

    Hi All, While we post the invoice through MIRO T-code, if we change the Transaction type from Invoice to Credit memo/Sub-Creditmemo/Sub-Debitmemo after completion of particular document SAP is not automatically changing the Transaction type as Invoic

  • Creative Labs What Is Wrong With Your Manufacturing!!!??!?! RE: Gigaworks S750, XFI e

    Ok this is a straight forward RANT! In building my new computer I decided to let Creative be my folks for sound since I've always been impressed with the EAX and surround sound, the first time I played EQ in 4. 3D sound on a first gen SBLi've card I

  • Solaris 9 sconadm fails to register

    I've tried several different versions of java, but can't get my Solaris 9 servers to register successfully. My Solaris 10 servers are working fine, but this is the errors I get on Solaris 9. I am supplying an account number in the registration file a

  • Which pdf editor do you recommend?

    I been searching for PDF editors for a while. As most of them have a price, I guess asking for some advice might be handy. I have seen the iAnnotate and seems to be very good, a quite expensive. $9.99. Which other do you recommend? Thanks

  • CSV Conversion Considering Edge Cases

    We currently have a problem converting an internal ABAP table into a CSV file. Example: UserID;Name;Pet1;Pet2 D012345       Klaus Meier     Dog;Bruno      Cat"Kitty should become D012345;"Klaus Meier";"Dog;Bruno";"Cat ""Kitty" (<- content delimiter,