Chart history explanation?

Greetings,
Perhaps I am thinking too much on this, or perhaps too little, but I am trying to figure out what chart history length is actually doing.
For example.  I'm developing an app right now where I am monitoring 32 channels on a system at 10 Hz.  I'm charting up to 10 of any of these channels (user selectable) at any time.  This system can expect to be run for several hours for a test and I have been doing long runs to test stability.  I've tweaked the time axis on the chart to be hours wide, 10 minutes wide, etc.
So, when I have my chart displaying 2 hours worth of 7 channel data on the screen, I'm getting lost as to what factor a chart history length of 1024 means to me?  I'm able to have several hours of data plotted though a history length of 1024 implies I should only be able to see only 1.71 minutes.  Can I only recall the last 1.71 minutes of data out of the chart?
Someone shine the light in the darkness for me eh?
Cheers,
Greg Cole
“It is not the ship so much as the skillful sailing that ensures the prosperous voyage.”

Hola,
You are correct, I am using waveform data.  I'm attaching a screenshot.  Apologies for the undocumented VI's.  One sets up the daq task, the 2nd adds a channel to the front which is the sum of three other channels, and the last extracts the channels the user has selected to plot.  I have about 2 1/2 hrs up on the chart right now. (started a log after my first post)
um... crap.  I must make a correction.  My history length is actually 180000 (I forgot I had been experimenting on it yesterday).  Man, I'm glad it's Friday.  However, I still do not understand the math.
180000 / (5 waveforms @ 10 Hz) = 180000/50 pts. = 3600 second chart length, = 1 hr.   Yet I'm at 2.5 hrs.
Apologies for the bad data on the first post.
Cheers,
Greg Cole
“It is not the ship so much as the skillful sailing that ensures the prosperous voyage.”
Attachments:
daqloop.jpg ‏53 KB

Similar Messages

  • Chart history lenght control

    Dear all,
    I use Labview 8.5 and the device NI USB6210. Following my configuration of my application and to optimize it, I need to change the Chart History lenght by program. Is it possible?
    When the chart is running, I can see that the chart can display more data than the number of data in the history. Can I have more explanation about the working?? Have you any links about it?
    Thank in advance, Daniel. 

    No, I'm afraid you can't.
    There's a property called HISTORY DATA that you could manipulate to fake it, but that is a compile-time option only.
    You can have it display any amount you want less than the history by manipulating the Xmin and Xmax, but that's just a small window on a big room.
    I can see that the chart can display more data than the number of data in the history. 
    I don't think that's true.  If you set the HISTORY LENGTH to 100 and feed it an array of 200 numbers, you see a plot with 100 numbers in it (100-199).  The first part is forgotten.
    Message Edited by CoastalMaineBird on 06-19-2009 07:53 AM
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • How do I mark a "not measurable" event on a chart history?

    I have an application which is working very well and takes measurements - continuously plotting a result on a chart. The chart history is typically a 100 or so measurements. I plot on the chart both an upper and lower tolerance limit, hence the measurment plot should hopefully stay between the two (straight lines) limits.
    Occasionally a sample is "missing" and when this happens a "measurement" of zero is given. This is currently displayed on the chart as a sudden drop to zero. The users like this as it shows them clearly that the sample was missing. All OK so far, however...
    On rare occasions a sample is present and is measured but for reasons I will not go into we know (and the software can determine) that the measurement result is actually invalid. This situation I call "not measurable" in that although a sample is present it actually cannot be properly measured. The question is this; how do I show this on my chart history?The chart history plot is by far the most looked at display of data for the users. I realise that I could show a message box saying "not measurable" (and intend to do so) but this would only last for that measurement cycle. How do I "mark" the chart to show that there was a sample but that it was not measurable.
    I don't particularly want to use a zero value because that is being used quite nicely for the "no sample" situation. Also I don't want to simply not plot anything because the fact that the sample was "not measurable" is potentially very important indeed. Ideally what I would like is to put a marker, say a thick vertical line at the position where the invalid measurment is, in order to both block it out to show that it is wrong and also show there actually was a sample there in the first place.
    Any ideas as to how I can do this? Sorry this is a bit wordy!
    Regards
    Kevin

    Hi
    I have come up with a quick fix for using a chart which might give you a few ideas. This is just a quick fix and isn’t very nice at all. The green dots are meant to represent the immeasurable data, I have just triggered them by a set of limits. You would be better of using an XY plot and an array which you constantly up date. Using an XY graph will give you a lot more options such as using cursors to mark certain points.
    I have attached my quick fix and an example of using text on an XY graph
    Hope this at least gives you some ideas
    Tim
    AE NI UK and Ireland
    Attachments:
    quick fix.vi ‏17 KB
    Text_by_Points_on_XY_Graph[1].vi ‏32 KB

  • How to extract data from Chart History?

    Dear all, I have read a lot of posts, but still don't understand how to extract data from Chart history.
    Suppose you acquired 1024 points of data every time, then use "build array" to build an array, then send to intensity chart to show, then save the history into a .txt file,  but how to extact data from the file?
    How Labview store the data in the 2D history buffer?
    Anybody has any examples?

    The simplest would be to save the 2D array as a spreadsheet file, the read it back the same way.
    Maybe the attached simple example can give you some ideas (LabVIEW 7.1). Just run it. At any time, press "write to file". At any later time, you can read the save data into the second history chart.
    If you are worried about performance, it might be better to use binary files, but it will be a little more complicated. See how far you get.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    IntensityChartHistorySave.vi ‏79 KB

  • Why do i get crashes when setting chart history length

    I am trying to figure out how to get my chart to eat up less memory. At the moment it is capturing from 4 channels at 44100 samples/sec. It is a continuous capture and after a few minutes, the computer just runs out of memory and can no longer keep up with the capture, at which point the Vi quits. Opening up task manager, I noticed that as I capture, the memory gets chewed up really quickly, but when I stop my VI the used memory is not reclaimed. Even if I set the chart history to an empty array when the VI stops. I tried setting the chart history to a smaller number but whenever I set it below 512 the whole computer crashes.

    I have seen similar problems. I created a simple VI to test this and am continously getting LabView crashes when I try and write an intensity chart history to an array.
    First frame of the vi sequence generates a 100 random number array for the intensity chart display. The next frame in the sequence has the property node for chart history (of the intensity chart)set to read mode and it is wired to a two deminsional array.
    So, I generate psuedo chart data and then try to recover the history into an array. It crashes every time. No matter where I set the chart history length. I attempted to do as you had previously suggested and store the data to a file. Same response.... Crashes LabView. Local and online help have not been very hel
    pful. Will search the hardcopy literature now.
    thanx
    WLS
    Attached VI
    Attachments:
    history_grabber.vi ‏22 KB

  • Programmatically changing chart history length

    I'm creating a VI where the user can choose the data sample rate via the wait(ms) used in a while loop. However changing the sample rate effects the time length being displayed on the chart. This is dependent on the chart history length, originally I thought I could just change this programmatically, but the history length doesn't appear on the property node.
    I've had a look at the advice in the ni support section:
    http://digital.ni.com/public.nsf/allkb/E9784F413A2269E086256F3A0064C8BB
    This method seems a bit messy (especially when I'll be doing this for a number of charts), although I couldn't open the example as its v7.1 and I have v7.0.
    Is there anything I can do?
    Help would be appreciated (deadlines approaching)

    The entire point of using a chart is that you update only the last value, so there is no point in writing the history data every loop. For that you can use a graph, which will allow you to do this without using a property node.
    The history length is not supposed to control how much data is currently displayed on the screen, but how many points are kept in the buffer, so you can scroll back and see them. When you change the length of the history data array, the chart doesn't seem to like it. It starts acting a bit crazy. Also, keep in mind that there is no point in displaying 1000 points if your chart is 600 pixels wide.
    There are problems with what you want to do, like if you add points, where do the extra points come from, or since a chart uses a constant multiplier, what happens to the old data when you change it and so on.
    I've modified your example slightly, so that it doesn't write to the property every time and so it handles the enlarging the history buffer case, but it's still buggy and needs more work.
    The main problem is that the History property doesn't change the chart length. If I understood you correctly, and you want to constantly display the last X seconds, I still think your only viable option is using a graph. The transition should be fairly simple and if you use a shift register it can handle it.
    Try to take over the world!
    Attachments:
    chart.vi ‏63 KB

  • Accessing waveform chart history collected via DAQmx

    Hello,  I'm collecting voltage data using DAQmx and I'm displaying the data using a waveform chart.  At the end of the acquisition I would like to access the entire data set stored in the chart but when I attempt to do so using a History Data property node, it only gives me the data that was collected in the last chart update, not all of the data stored in the chart.  Attached is a copy of the program, which is simply the Continuous Analog Input example.  Any suggestions?  Thanks!
    Attachments:
    Jeffs_Voltage - Continuous Input.vi ‏80 KB

    Data Flow.  You have no clue when that chart history will be read.  You need to force it to read after the acquisition is complete.  Using the error wire to force the data dependancy is a good way to do it.
    How long are you acquiring the data for?  If much more than a few seconds, I would use that logging feature to stream the data to a TDMS file and then you can just read the resulting file.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Reset chart history using chart reference

    I want to clear all the data from a chart using its reference, but this property is unavailable. So far the only way to do this seems to be by using a static property node (the one you create by right clicking the chart and selecting the desired property). Is there any other way?
    Solved!
    Go to Solution.

    You must be doing something wrong. The chart history is available if you use a reference for the property node.
    Can you attach a simplified version of your code that shows the problem?
    Message Edited by altenbach on 01-11-2009 03:49 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ClearChartWithReference.png ‏5 KB

  • Strip Chart history buffer

    Hallo,
    I have a little crazy question - is there some possibility to access strip chart history buffer?
    I'm just lazy to develop data circular buffer management ....
    Thanks a lot for any hint!
    George

    Hi, Evan,
    thanks for reply.
    My idea is use already used memory of the strip chart (not duplicate the amount of allocating memory) - mainly to export recorded traces  - e.g. when user decided: "this is interesting - let's make some analysis of this, maybe at home".
    The Strip Chart hasn't simple solution to use cursors - and by exporting the history buffer (traces) to some file / array is quite easy use standard graph with cursors etc.
    Of course, the cicular buffer is OK.
    George

  • How do I programmat​ically set chart history length?

    How do I programmatically set chart history length?

    Hi, u could try instead of using a chart, u could use an xy graph with a chart buffer and with the chart buffer defining the length/amount points needed. And this also mimics what happens in a chart.
    Stuart
    Attachments:
    XY_Chart_Buffer.vi ‏54 KB

  • Snippet: "query" the chart history length programmatically

    Would have posted to this thread, but was concerned that the misspelled subject might keep it from being found by future searches.
    I have a brute force, inelegant, very mildliy tested workaround for programmatically determining the history length of a waveform chart.  In my app, I have a single chart on my gui that is meant to display history from any one of several duplicate test stations.  To help accomplish this, I wanted each station to have its own lossy queue whose size is equal to the chart history length.  Then, whenever the user chooses to look at a different station's data, I can simply copy the entire contents of the lossy queue over to the chart.  
    Here's how I "query" the chart history length programmatically:
    Note: Some of this feels a little dubious, but it has seemed to give correct results so far.  Specifically, several of the XScale properties seem to refer to the graphical rendering of the scale rather than an index # to the history data.   Can't guarantee this'll work for all combos of other properties -- I tested with a fairly generic, nearly straight from the box waveform chart.
    -Kevin P

    Intaris wrote:
    Hmm, any reason why you can't just do this?
    If you don't modify the Array, it's just copying a pointer, right?  Or does this operation automatically make a copy of the data and induce horrendous performance problems?
    That doesn't actually do what I need.  The "History" data array size works its way up from 0 to History Length as the app runs and data is written.  It *is* bounded, but until I fill the chart all the way up, this method won't reveal what that bound is.  I need to size up those lossy queues at the beginning of the program, before any data has been written to the chart.
    As to the other comments so far:
    - I chose charts over graphs to get some of the built-in features of charts for real time monitoring rather than having to manage them myself.  Things like zooming the X range, horizontal scrolling to show different segments of the history, that kind of thing.
    - just absorbed the followup comment about writing a dummy oversized array to the chart before running the quoted snippet above.  Yeah, that oughta work.  I just don't like the general case of not knowing how big a pre-write I need to do.  I guess it wouldn't be too bad to loop while writing the same big-but-not-crazy-big array until the History size is smaller than the # of samples written.  
      The main hitch I see in that approach is that I'd like this to be  a reusable utility vi, but a subvi that works by filling up the History would need prior knowledge of the chart datatype.  (Just thinking out loud here, overall it does kinda feel cleaner than the stuff I was doing with the scale properties.)
    FWIW, a little more testing led me to modify and simplify my snippet b/c the previous one might leave the X scale looking different on exit than it appeared originally.  Seems like a side effect of the way those properties are kinda more about the display of scale information than about actual index #'s.   Anyhow, here's v2, but hopefully someone else has a better generic v3 they can offer:
    -Kevin P

  • Graph & chart history length

    I was wondering why "chart" has got a "chart history length" property for the length of the displayed data, 
    but "graph" doesn't have such a "history length" property. 
    Why!?
    Solved!
    Go to Solution.

    Hi Cashany,
    you have to make your own buffers then.
    Well, there are examples coming with LabVIEW. There ARE examples showing how to use charts and graphs!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Chart History Length

    Is there a way to programmatically change the Chart History Length of a Chart Graph Indicator?

    Hi Dude,
    no.
    Option:
    Use graphs and maintain your own buffer...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Setting Chart History

    Is there a way where I can set the chart history to a user defined value while my program is running? Example, when the program starts running, the graph history is set to 200, so the max range for the x-axis is 200, once it gets to 200 the window will start shifting. I want the user to have control over this property. If the user wants the chart history to be 500, then I want to be able to set that property of the graph to 500 through my program. How would I be able to do this?

    I'm not sure what you're looking for. The graph has a ChartLength property that will allow you to specify how many points the graph stores while charting. If you would like to make this customizable in your application, you could provide a way to do this in the interface of your application. For example, you could create a dialog that has a text box or a numeric edit, then bring this dialog up from a menu and set the ChartLength property according to what they enter in the dialog. Is there something else that you were looking for from the graph for this?
    - Elton

  • Multiple Axis Waveform Chart History?

    Hello Everyone,
    Recently I have been working on increasing my capabilities with waveform charts.  I am plotting 3 signals on 3 seperate axis.  I'd like to be able to transfer the plot history from one chart to another via property nodes.  The problem is, only 2 of my signals are making it through, and I'm not sure why. 
    For a little background why my code is structured the way it is, I followed an example from here:
    Pausing Charts
    Basically I want to be able to zoom in on the chart while the program is running.   By hitting pause, the data is transfered to another plot that isn't being updated.  Again, only 2 of my signals are making it through, and I'm not sure if there is a property node I'm missing. 
    Any help would be appreciated, the VI is attached below.
    Thanks,
    Alex
    Attachments:
    Chart Test.vi ‏39 KB

    For some reason the "Brake Temp" plot's color was screwed up. If you look at the legend it looks like it's black. However, changing the plot's color doesn't seem to have any effect. If you just recreate the "pause" graph by copying the "Waveform Chart" indicator then it will work.
    Suggestion: look into the Event Structure.

Maybe you are looking for

  • TS1398 Apple iPhone 3g, iOS 4.2.1, Wi-Fi Problem

    I have an iPhone 3g. After the update to iOS 4.2.1, my phone no longer has Wi-Fi. I can't conncet to my home network or any network for that matter. I have tried everything from resetting network settings, resetting the router, forgetting the network

  • Can't install on Macbook Air

    Hi adobe, i can't install some adobe products. These includes Photoshop, creative clouds and any trial! i already contacted the chat. OS X v10.8.4 hd details: SSD 128GB:   Cap:    120,34 GB (120.338.849.792 bytes)   available:    30,12 GB (30.115.184

  • Remote Desktop Connection Drops when opening a large file or Transferring a large file

    I am running a Dell R720 Windows 2008 R2 Server. When I open a Large PDF or transfer a large file to the server, the server drops the remote desktop connection. I do not see any errors and no events are reported. I can access the server via iDRAC 7 e

  • Can I label virtual copies?

    Hi, I'm looking for an easy way to handle virtual copies and what I'd like to do is to put a label on each VC but there is no way to do this.  Say I have an image that thas been processed to my satisfaction and I'd like to have one VC be a 5x7 crop a

  • Changing OBIEE message

    hi experts, we are using OBIEE 10g,whenever a user is entering wrong UID & PASSWORD while login in OBIEE,they are getting the following default OBIEE message Unable to Log In An invalid User Name or Password was entered." is there any way we can cust