Waveform chart x-axis in time (secs)

Ok here's what I'm trying to achieve (unsuccessfully at the moment). I've got a 2D array of data collected from a sensor. Each column in the array corresponds to one of the sensor's axes. I want to display 3 columns of data on a waveform chart with the magnitude of the data as the Y axis and time as the Z axis.
Here's the tricky bit. I have no timestamp with the data. However, I'm taking the first element of data in each column as being T (time) = 0. The sampling rate of the sensor is 100Hz so => dt = 0.01. So each data element in each column (sample) is separated by 0.01 seconds. Therefore by knowing the number of samples in a column of the array, I can get the end time. E.G. 1000 elements in one column of the array => end time, T = 1000 * 0.01 = 10 seconds.
So in the above example the chart's time axis should go from t = 00:00:00 to t = 00:00:10. However I'm not gettin anything like this in my chart. I did up a quick vi showing what I'm currently doin. 
Any tips?
Attachments:
2D waveform chart.vi ‏32 KB

I've re-attached my example vi with a minor adjustment highlighting the problem. Each column of the array now contains 2000 elements which exceeds the deafult chart history buffer length value of 1024. This causes problems with the time display on the chart. I could of course change the chart history buffer length manually by right clicking etc. but would need to do it in real time in my actual vi as I won't know the size of the array until execution.
Is that clearer?
Running the vi now should show you, the time starts at 00:00:09 instead of 00:00:00. I understand why but not how to fix it...

Similar Messages

  • Waveform chart X-Axis reverses itself when upper limit is edited in Absolute Time - problem may be linked to Timestamp Control?

    I've seen this problem for some time now, and it still exists in the Silver toolset Waveform Chart in LV 2012.  If the chart is in strip mode, and you edit the upper limit value to a point in the future, the X-Axis will invert (higher values/ later time to the left), to the limit of the Chart History length.  This happens whether the chart is active (logging data on a compiled executable) or even when in design mode, though it's more consistent when there's data in the chart.  It's not history length related as far as I can tell, as I set the length to 7 days of sampling @ 1-second intervals (605K), and it happens when I try to set the end time to an hour in the future with only a few minutes of data collected - suddenly the right Absolute Time becomes the time my last sample point was collected, while the left Absolute Time becomes nearly 7 days in the future (so neither end point is what I was setting it to).
    It's nice that the chart gives the option of editing the limits, but as such, it's important that they work as you would expect them to.
    Also - until this is addressed, is there a way to lock it against editing?  Until a fix is made, my workaround is to put a transparent button over the range start & end points, and a transparent flat rectangle above all other mid-range points, and pop-up a data entry form with a Timestamp control to allow editing.  Unfortunately, this doesn't work as I would expect, as typing "11 AM" in the Timestamp control over a prior value of say "10:05:34.232 AM" ends up becoming "11:05:34.232 AM" instead.  ???  Another error - or is this by design?  If it's by design, is there an option to make it behave as I would prefer (11 AM = 11:00:00.000 AM), as Excel behaves with timestamps?  I can't help but suspect this may be linked to the chart axis issue.
    Also - I just built a simplified chart modeled somewhat on my current project, and could not get this to recur.  BUT... had the strangest thing happen:  My sample data was generated using the Trig functions for Sine and Cosine, and at one point my waveforms distorted on the display, so I'm attaching that here plus the simplified chart project.
    Last - my system is LV 2012 on Win7 Pro-x64.
    Thanks!
    Erik
    Attachments:
    Chart data distorted.png ‏45 KB
    Waveform Chart Flaw.zip ‏17 KB

    I am not so sure that this is a bug, and I have not been able to reproduce this behavior that you are describing. 
    But you can lock it from editing by right-clicking on the graph and go to Properties>>Appearance>>Enabled State --> Disabled
    Also, word of advice for the future: You will get more replies from the community with shorter posts and keeping it to one question per post. Summarize what the issue is, and put the detailed documentation and instructions to reproduce in the actual VI. 
    Huntington W
    National Instruments
    Applications Engineer
    ***Don't forget to give Kudos and Accepted as Solution where it is deserved***

  • Waveform Chart Update With Relative Time

    Hey,
    I have a question about how a waveform chart updates.  I am running a test in the pictures attached it is only for 4 minutes and I read in a data value every 90 seconds.  I was wondering why the waveform chart doesn't look like chart 2 (photoshop what I want) instead it looks like chart 1. 
    I pass to the waveform chart a double every 90 seconds or so. How can I make the chart behave like picture 2? Where it connects the data points with the time each data value is sent to the chart.
    Attachments:
    Chart1.png ‏26 KB
    Chart2.png ‏10 KB

    Actually if you look carefully at chart 1 it appears that it is connecting the dots. But the time scale is messed up. Can you post some example code?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Time stamp on Waveform Charts

    I'm making an application where I sample data every 5 seconds. I use the Time Delay VI to obtain the sampling interval, and then set the chart options using chart properties/format and precision/relative time. The chart is adding a point every 5 secs as it should, scale looks ok. However, the time scale on the graph is incrementing only one second at the time (although actual time elapsed is 5 secs). The log file gives the time stamps just as it should. Is there a way to make the waveform chart give the real time (other than the obvious solution of sampling 1 pt/sec)?

    I'm just directly passing scalar values to the chart. The total acquisition time is about an hour, and the idea is to display data as they vary with time.

  • Changing coordinate updates waveform chart?

    Hi All, hope everyone is having a wonderful 4th of July.
    Alright, so I am new to labview and finding my things around the simple things pretty well, but having never taken any sort of programming interest, Im a bit behind in machine logic, so I figured I would ask here. 
    EDIT: using labview 2009.  Have Vision package
    The research I am doing involves analyzing Electron Speckle Pattern Interferometry (ESPI) images and their fringes to observe fracture points/potential weaknesses in different materials and such.  I have made a simple VI which allows me to draw a line on the ESPI image and output the light intensities to a waveform chart to make it easier to objectively determine the size of the plastic region (area where fracturing is most likely to occur).
    What I would like is to be able to draw or set the coordinates of the line initially, then somehow be able to move it vertically -- using either simply my mouse or a numeric controller -- and have the waveform chart update in real time as i do it. 
    Any suggestions?  Ive attatched my programs, the one called "line.vi" uses numeric input to determine the line coordinates. 
    Also, since i dont sem to be able to attach bitmaps, ive uploaded a sample image here http://img594.imageshack.us/img594/3566/espiimage.png  I dont know why imageshack converted it to a PNG though
    thanks all
    Solved!
    Go to Solution.
    Attachments:
    line.vi ‏50 KB
    light intensity line.vi ‏47 KB

    Hi itschad,
    did you read the context help of the chart? There it is shown what datatype you need to wire to plot more than one curve on the some chart...
    "This made a weird issue where once I select the line, the intensity profile keeps adding itself over and over again onto the end of the chart, so a chart that might initially have been 100 datapoints, just keeps getting longer and longer."
    This is how charts work. They keep a history (that you constantly clear). You can set the size of the history buffer. If the default of 1024 points is too much for you you may decrease this to 100 - it's just a right-click away... Otherwise you should use a graph, as a graph only plots the points that are currently wired to it (it doesn't keep a history of previous values).
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    test horizontal shift.vi ‏48 KB

  • Waveform charts slowed down control system while loop

    Hi
    In my application, I have control system which i acquire data, process and output the result. I placed some waveform charts in the while loop where i acquire data, process and output. This made while loop to miss data points( late). Is this because waveform charts store data as time passes?

    Waveform charts store data in a history buffer of configurable size. You can change it to a smaller number.
    What is the size of the history buffer?
    How many charts are you updating in your loop?
    What else is happening in your loop?
    How are you updating them (wire, local variable, value property, etc).
    How fast is your loop rate?
    Are your plots simple (thin lines) or fancy (e.g. large dots and thick lines)?
    Is autoscaling on or off?
    Are the charts set to "synchronous display" by accident?
    How many traces are on your chart?
    What is your LabVIEW version?
    What is your OS?
    Do you have overlapping elements on the front panel?
    Could you attach a simplified version of your code so we have a better idea what you're actually doing?
    LabVIEW Champion . Do more with less code and in less time .

  • How do i set the time frame of a waveform chart programmatically to be a 30 sec window or a 24 hour window

    i'm using LV7.0 and what i need to do is to be able to set the time frame or range of a waveform chart programmatically before i start taking and plotting data. sometimes this window needs to be 30s wide and sometimes it needs to be 24 hrs wide. (in the first reference, i need the chart to fill up with 30s of historical data then the whole chart scrolls with each new data point). the data acquisition records data at a rate of once per second. i've tried to use the chart properties of XScale.offset, XScale.Range.Minimum and XScale.Range.Maximum but no matter what i do the time-stamp on the x-axis is always "00:00:00 PM" and "MM/DD/YYYY" even though values are seen being plotted on the right side of the chart as expected.
    Attachments:
    BX0265 ShelfLife DAQmx.vi ‏120 KB

    Okay, there seems to be some confusion here -- the X axis values are of type double, but they can be represented in the HH:MMS MMD:YYYY format if you want in which case it interprets the floating point as the number of seconds since 6pm Dec 31, 1903. 
    You can programmatically set this value using the XScale.Minimum and XScale.Maximum properties, but note that if you wire a waveform to the chart after setting these values the t0 parameter will override what you set using the property node for XScale.Minimum.  If instead you leave the t0 parameter empty you can use the XScale.Offset property and wire the same value in that you wire to XScale.Minimum.  Changing the amount you add to XScale.Minmum to obtain what you wire into XScale.Maximum will determine the time window size.
    Doug M
    Applications Engineer
    National Instruments
    For those unfamiliar with NBC's The Office, my icon is NOT a picture of me

  • Want a constant time axis in waveform chart

    hello,
    my time axis in waveform chart is changing .how can i keep it constant say 1-100 .the whole point of this is to make waveform chart luk like a CRO.please need help.
    thanks in advace
    naveen.rabelli

    I don't think what you're asking for is possible, due to the nature of the chart - it accepts Y values and inserts the X value automatically. Offhand, I can think of 3 solutions -
    The bad one - constantly change the offset by moving it backwords. You will probably have flickering.
    The workaround one - Paste a text box over the first number saying 1 and another over the second number saying 100.
    The probably most correct one - Use a XY graph. Just have a 1D array of 100 elements and append it to a second 1D array with 1..100. Wire the 2D array into the graph terminal.
    Try to take over the world!

  • Waveform chart time axis is not matching the waveform data

    So here an interesting conundrum I hope you might be able to help me with...
    My VI has waveform data sent to a chart, though the data is not being plotted against the current time.  Rather, it is being plotted starting way back in the reference time (way back in 1903).  I don't understand why this is happening.  When I build the waveform, I use the "Get Date/Time in Seconds" function outside the while loop and feed that into my "Build Waveform" Function as the t0 value.  My dt value is 0.05 (20 Hz) and then I feed in my array of data in the Y input.  Any ideas why the chart is plotting this data over 100 years ago?  Thanks!
    Andrew

    Hiii, Ronin
          Here is your solution.
    By default, waveform charts and graphs display the absolute time at time 0 as 7:00:00 PM, 12/31/1903 on a Windows based system. Property nodes can be used to get the correct absolute time to display on the x-axis of the waveform chart.
    First, right click the chart on the front panel and select X Scale >> Formatting. Then set the format to Absolute Time.
    Create a property node for the waveform chart by right-clicking on the chart on the block diagram and selecting Create >> Property Node. Expand the property node to display two properties. Select the Format property and the Offset property. The Format property is located under X-Scale >> Format and Precision >> Format, and the Offset property can be found under X-Scale >> Offset and Multiplier >> Offset. Right click on the property node and select Change All to Write.
    For the Format property, the context help shows that there are multiple inputs to this property. Wire in a value of 7 to set the format to Time and Date.For the Offset property, first wire the output of the Get Data/Time in Seconds VI to the input of the To Double Precision Float VI. Then wire the output of the To Double Precision Float VI to the Offset property.
    In addition, if you know the number of data points plotted to the chart per second, you can set the Multiplier property located under X-Scale >> Offset and Multiplier >> Multiplier. If there are x data points generated per second, wire in a value of 1/x to the Multiplier property. A simple example program "Chart with Timestamp" that demonstrates how to do that is attached.
    Thanks,
    Nishant
    Attachments:
    Chart with Timestamp.vi ‏36 KB

  • How can I update the x-axis to match a time reading in a waveform chart?

    I am recording data in real time and displaying it in a waveform chart. However, I have yet figured out how scale the x-axis to match the actual time scale of my data. I've played with the accompanying property node but that has not produced the desired result. My guess is that there is a combination of xscale.range.maximum and xscale.multiplier values that need to get updataed in a certain way, but how is still unknown to me. If you could assist I'd appreciate it.

    Nobody has recomended using a Waveform Chart!
    A waveform chart will plot the points based on the "t0" of the waveform.
    The waveform chart will maintain the buffer so all you have to do is apply the new data.
    The "t0"'s of updates from more than one plot do not have to match-up.
    See the attached LV7.0 example and jpg.
    Ben
    Note:
    "t0" values for an individual plot must be increasing values.
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Wform_Times.vi ‏58 KB
    Wform_Times.JPG ‏102 KB

  • Display Data on waveform chart or XY graph over a long period of time

    Display Data on waveform chart or XY graph over a long period of time
    Can anyone help?
    I am acquiring data from an Ni DAQ card with the following parameters - sample rate = 12800, number of samples = 4096. I want to extract order information so as to track changes in the amplitudes of certain frequency harmonics. So I use the sound and vibration toolkit to extract this information as shown in the attached Vi.  I will like to plot the resulting amplitudes against real-time starting at the time the Vi was run.  I really want the display to show these changes over long periods (eg. days, months and even years).
    Problem.
    I have tried to plot the Y component of the resulting magnitude for a given order on a waveform chart. My choice of the waveform chart is because I also want to display  alarm limits (using the mask and limit vi) (I can't have these lines displayed on an XY graph plot).  I tried adjusting the scale offset using the property node and setting the offset to current time. However, the display on the X-axis can only show a span of  2 minutes as will be seen when you run the attached vi. I want the time display on the x-axis to be over a period of  days, months  and even years.  Is there a way to set the maximum scale on the x-axis to be say a year or so in future.
    I really want the display to be like the one in in the second attachment.
    Attached is a sample VI created using an Ni USB 9234 DAQ card. Any card will do but I am only getting the signal from one channel for this example
    I will appreciate any help that can be given to me.
    Thanks
    Attachments:
    Real-Time Graph Display.vi ‏170 KB
    Sampe screen1.doc ‏37 KB

    Long term testing can be tricky- and we'l get into that later.  Lets start with the basics that you have wrong.
    The vi as you have constructed it has only one memory element, the chart history length (default is 1024.)
    You can change the number of points the Chart will remember by Right-clicking the chart an select Chart History Length from the menu.
    But for a long term test - and one where you want to REMEMBER the first value you need a memeory element that is independant of the application.  Your PC WILL loose power or need to be rebooted eventually.  Heck it might even need to be replaced! you really need to store your data in a file. Preferablly in a file that is backed-up on a regular basis so you don't lose every point of data if the PC dies.  It realy hurts when you have to restart a 2yr test because you've lost the 18months of data you collected.
    For an application like this I would seperate my "collection" and "Evaluation" operations. 
    Have one vi that takes the reading and writes it to a file at a configurable rate  You may want 1reading  per minute for seveal days then 1 per hour for a few weeks- then maybe only once or twice a week for the next couple of years since you are looking for LONG TERM stability.  having too much data to evaluate can take a lot of digging to find the few things that interest you (but always take more that you think you need)
    Have another utility that COPIES the files, reads them and displays the data you are interested in that day.  The data you want to look at won't change over time HOWEVER, you WILL want to analize it in different ways depending on what the data trends look like.  Having seperate routines for collection and display allows you to update the display style and analisys without even stopping the collection vi (much less editing the vi)
    Jeff

  • How to show two different plots with current system time and date on waveform chart

    I am using  one waveform chart to display the more than one value continiously. The data  are comming properly but i am not getting my system (pc) time and date on x axis. It is showing default date and time (i.e.01/01/1904 5:30:45). Please  give me suggestions to display the real time and date on x axis of waveform chart. 

    How does your data look like? Do you graph waveform data types, dynamic data, or plain arrays/clustes? In the case of plain arrays, you need to set x0 to the absolute start time of your data, e.g. with a property node.
    I you would attach your code (or an image) we could offer more specific advice. There are too many possibilities.
    LabVIEW Champion . Do more with less code and in less time .

  • Waveform Chart - How to set X scale time.

    I have a Waveform chart (v6.1) and I want it to display 30 seconds of data. What is the correlation between the Time History buffer and the Time inputed on the X-scale. The X-scale format is set to Relative Time. I set the initial time to 0:00. The input data is coming in at 20 samples/sec also. How do I set up the chart to show only 30 sec of data.

    You can turn Auto scale off and set the left value to 0 and right value to 0:30.
    A second method is to set the chart history length to 600 (20 samples per second * 30 seconds). Setting the chart history length can only be done at design time.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Waveform chart time sometimes decreases

    I have a waveform chart with three plots vs time with update mode set to strip chart.  It is demonstrating strange behavior which I have never noticed before.  The time sample numbers at the extents of the axis sometimes decrease and the plots shift to the right instead of always left as I have always expected.  Can anyone offer a plausible reason why this situation might occur?

    the following applies only to charts that are Waveform data types, otherwise disregard.
    Check the validity of the t0 values in the WF. If the timestamp is earler than the latest value plotted, the chart will reset.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Waveform data could contaminate x axis display in waveform chart?

    Hello
    Please take a look at this vi:
    Attachments:
    Real-Time Chart.vi ‏19 KB

    Ben wrote:
    It looks like you are getting bogus time stamps from the SV.
    This thread talks about the chart and waveforms.
    Try click the Chart on the front panle to find the ignore...
    Ben
    As far as I understood this example uses "t0" from the waveform data for x axis. I tried this method and it works. The date and time shows correctly. That's great.
    But I actually have another request for the chart display, that is to show data in a certain time period, which should be programmable. For example I could let the chart show the data waveform in 10 seconds this time(I mean in one screen without scrollbar), and the next time I execute it, I change the parameter and show the data waveform in 60 seconds.
    I tried to modify the initialization like that:
    I thought by changing the maximum value of the scale range, I could realize that. This kind of setting didn't really work. before the breakpoint, the time in x axis became chaos again, and after going into the loop it returns to correct value.
    Do you have any ideas how to realize that?
    Thanks again!
    Best regards
    zzha

Maybe you are looking for

  • "you do not have permission to do this operation + SP Designer 2010 Error

    I am unable to access to my sharepoint site via SharePoint designer. The error is: You do not have permission to do this operation. Ask your web site administrator to change your permissions and then try again, or log on with a user account that has

  • Problem with Greek Fonts

    We are a team of Mathematicians from Greece and we are beginners of Authorware 7. Our goal is to develop math Quizzes for high school students. When I select the <Quiz> for the startup menu and the Wizard starts, I cannot type Greek fonts (the questi

  • Is my iphone4 factory unlocked and will it work after i restore it??

    i bought an iphone4 from the US,i am using it in India now. the retailer said it is a factory unlocked iphone. i did not jailbreak or unlock it , i even upgraded the phone to 4.3.3. and it is working fine. will it work if i restore it and is it facto

  • Font Deck in Adobe Muse site?

    Hey I was wondering if there was a way that I can use typefaces from my Font Deck library in my adobe muse site? Just as I wanted a particular typeface that isn't on Typekit but is on Font Deck. You're help would be greatly appriciated.

  • Adding column in table having millions of records

    Hi, Oracle release :11.2.0.3 Table A exists with millions of records. - has many indexes on it. Need to add one column which exists in table B with same no of records. Rowid is common join condition between table A and B to update this new column in