Add plots to digital waveform graph programmatically

Hi Guys,
            This might be an easy one but I can't seem to find the right property. I'm adding "Plot Name" values for a each Plot in a Digital Waveform Graph. I select each plot with "Active Plot" property and name it. However if there are already e.g. 7 plots and I try to set eight plot active (i.e. 7 = Active Plot) I get an error cause this eight plot doesn't exist on the graph, and so can't be named.
    How can I add (or indeed remove) plots using property nodes?
    Thanks

Hello,
One thing to consider is the actual data the graph is receiving.  Choosing plot 8 in this case is perhaps attempting to choose a plot which doesn't exist in the data, which could be why you're seeing the error.
Off the cuff, one thought might be to have the following "steps" take place when you want to add plots:
on the appropriate action to create a plot, create a default data set representing that plot
package that with your overall graph data so that the new plot exists in the data
write that data to the graph, perhaps using the Value Signaling property (via a property node linked to the Graph)
trap the graph's Value Change event using an event structure (possibly in a parallel loop) and update the plot name there (much like you are today - using a property node to first set the active plot to <previous value + 1> since you just added a plot, and then set your new plot name)
Not sure what the rest of your application looks like, but hope this helps!
Best,
JLS
Sixclear

Similar Messages

  • How plotting on a digital waveform graph the bit transition in function of the time

    Hi everyone,
    I am using LabView 6.1 on a Windows XP computer. I am to plot output bits sequences on a digital waveform graph just before sending the information to a board.
    So far I can see the transitions for my 16-bit port (16 plots) but the width of a pulse is always identical, no matter what times I enter. I wired my 1-D array timestamps to the property node Xscale.MarkerVals[] of my digital waveform graph... but it doesn't seem to affect my plotting...
    Thanks in advance for any help concerning this problem.
    Jonathan Sabah

    Well here is piece of my VI with the necessary sub VI.
    I also want to hide/unhide plots... I have found how to hide.. but cannot figure out how to unhide.
    Any help please ?
    Thanks again
    Jonathan
    Attachments:
    Exemple.vi ‏58 KB
    Setup_DIO64_for_Output_1.0.vi ‏111 KB

  • Bug in Digital Waveform Graph X-Axis

    Hello,
    I am making separate queried to a database to retrieve analog and digital data over the same time period.  The data were logged at 2 second intervals.  I have verified that both result sets return the same number of values with the same t0 and dt.  I then plot the analog values on an XY Graph and the digital values on a Digital Waveform Graph.  I then use property nodes to sync the two graphs (left and right plot bounds, XScale.Range, and Cursor Position.X).  After doing this, I can see that the datasets do not line up between the two graphs.  The data on the Digital Waveform graph ends several seconds sooner than the analog data.  The x scales of the graphs appear to match but the plots don't align in time.
    Has anyone else observed this behavior?  Is there any work-around?
    Thank you,
    Peter

    There is a much simpler way to synchronize these charts. Just use a stacked chart.
    If you use a bundle function you can take two signals (almost data type) and wire them into a Waveform Chart together.
    Then on the front panel right click on the chart and select Stack Plots
    Since you only have 1 X axis now they are instrincly synched and will always write valules at the same time and update the UI together. You can skip all of the scale synching....
    Since the data you are working with has lincked time stamps, the data will need to be matched, (make sure the samples are anyched and each itteration both would have the same number of samples.
    The last allternative would be to strip the time stamp off of your data then build a new data structure, with the digital data, analog data and 1 set of matched time stamps. You can then plot this on an XY chart using the time stamp for the X axis for both of your other plots.  Let me know if you have other questions.

  • How do I graph more than 8 bits on the Digital Waveform Graph?

    Greetings,
    Does anyone know how have a Digital Waveform Graph that graphs Unsigned 16-bit numbers (rather than U8)?
    Thanks

    Just wire your array of U16 right to the bundler. The Digital Waveform Graph will just create 16 plots instead of 8.
    Alliance Members are here to help. We do this stuff every day.
    Daniel L. Press
    PrimeTest Corp.
    www.primetest.com

  • How do I determine the number of plots on a waveform graph?

    How do I determine the number of plots that have previously been plotted on a waveform graph? I am loading dynamic data from a file. If I convert to an array and size it and there is only one plot, I get the number of data points and I don't know how to tell the difference.

    Usually by reading the graph terminal or a local of it and determining the first or second dimension (not sure which at the moment) size of the resulting 2 dimensional array. If it is a 1 dimensional array you have either only one plot or an array of clusters each representing one plot. But as these data types are determined by compile time, there shouldn't be a problem with this causing ambiguity.
    Rolf K
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Digital Waveform graph with a lot of samples

    Hi,
    I have to display in a Digital Waveform Graph a lot of data read from a file(2.000.000 of samples for 36 signals). If I read the file and I try to display all the data, the Vi became unusable. For example, to zoom a graph region, it may take 30-40 seconds, scroll is impossible ecc, ecc..
    Apparently LV doesn't perform a decimation of points. In measurements studio 8, this problem doesn't exist...but I have to use LV 7.1..
    any suggestion ?
    At the moment I have developed a DLL in VC++ that perform a decimation of samples, but performance are not very good !
    Thank you for any idea.
    Regards.

    Hi Garraty,
    Excuse me but I have several questions for you.
    1)     Have you tried some kind of incremental approach, starting from 1 waveform and increasing towards 36? Do you experience some kind of on/off degeneration between, les’s say, 34 and 35 waveforms?
    2)     How can you decimate a digital pseudorandom sequence of 2M samples without loosing information?
    3)     Is this 2M samples an unavoidable constraint for your application?. Actually, it seems very difficult to extract some kind of visual information from a pseudorandom pattern of this length?
    Thank you very much.
    Kind Regards
    FiloP
    FiloP
    It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong.
    Richard P. Feynman

  • Digital waveform graph switch between hex and binary possible?

    hello,
    is there a way to have a digital waveform graph switch back and forth from binary to hex data display?
    Thank you

    ok, thanks Nathan
    Attachments:
    Mixed Signal Graph1.vi ‏26 KB

  • Is it possible to print a waveform graph programmatically from within Labview 7.1.1 Base Edition?

    I would like to be able to print the results of a test from a Waveform Graph programmatically in a Labview 7.1.1 vi.

    Hi
    There is a way of doing it.
    1. Create a sub-vi that will act as your report page.
    2. You can then populate the Front Panel of this sub-vi with all the controls and decorations that you want to print. Make it look like a report page. The controls will need to attached to the connector pane so that you can pass the data into the sub-vi from you main vi for printing.
    3. In the sub-vi, Go to File->Properties->Print Options and make sure that you check Automatically Print Front Panel every time VI completes execution.
    4. Modify your Main VI so that it calls the  "Print Report" sub vi that you have just created on demand e.g. in response to clicking a button.
    5. Remember to include the Front Panel if you build this into an application using app builder. The builder will normally strip front panels from sub vi's.
    Hope that helps
    David
    Message Edited by David Crawford on 11-25-2005 02:44 AM
    Attachments:
    Print Options.jpg ‏30 KB

  • In Digital waveform graph

    Hi
    Apart from 0,1,H,L,Z  I should input other alphabets like C,D,J,X,G in Digital waveform graph.(No annotations or Masking)
    Please Help!
    Thanks

    Please stick to your original thread.

  • Is the digital waveform graph supported in Measurement Studio?

    I have an application that could really use the LV-style digital waveform graph in Visual C++. Are there any plans to support the digital graph in Measurement Studio?
    Thanks, Bob

    Unfortunately, there is currently not an equivalent of LabVIEW's digital waveform graph in Measuremeht Studio for Visual C++. You can fake some of the features with CNiGraph. If you have Measurement Studio for Visual Basic 6.0 installed, you can see some examples of this in the VB DAQ\Digital\Digital Waveform and Digital Waveform Continuous examples. Also, attached is a sample Visual C++ 6.0 project that demonstrates how you can simulate some digital graph features with CNiGraph. There's also a screenshot attached that shows what this looks like. Hope this helps.
    - Elton
    Attachments:
    DigitalGraphExample.png ‏16 KB
    GraphDemo.zip ‏19 KB

  • How can I programmatically remove a selection of plots from a waveform graph?

    I have a waveform graph to display a number of plots, which I need to programmatically add and delete to as selections of data are chosen by the user for display.
    I've looked under the VI Server Property node and cannot see anything suitable for adding extra plots, or removing existing plots. I expected to see a Plot Data array variable, with each element containing the data for each of the plots on the graph. There is such an array for the annotations, which I can easily edit by Removing Subset for Array, or Insert into Array, but nothing for the plot data. The Value property is a Variant, which I'm unsure how to handle. Should I be working with this perhaps? Can this be done by creating a Local Variable read node? Or am I missing something simple here??
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

    Hi Mike,
    I was trying to use the Property Node (Value) to read the waveform graph, but I was getting a Variant type back, not a 2D array of DBLs as I expected. Turns out I was passing the graph control reference to a subvi whose control refnum had the Include Type flag unchecked. As a result of this explicit definition, Value was of an uncertain (undefined) type and couldn't be natively provided. It would have had to have been cast into a more specific type to work. Have solved the problem by ensuring all my references are of a strict type, and now (as you recommend) the Property Node (Value) is useful
    Many thanks for the response!
    And many thanks for the demo too! You put that together remarkably quickly!
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • How can I add axis to an XY-graph programmatically (in LV 6i)?

    I am currently using LabVIEW 6i to make a flexible graph window, which can be called and controlled from another VI. It's easy to send commands to the graph window over a queue interface (enabling things like adding and removing plots, changing the names, etc.)
    However, I would also like to add/remove/assign axis like this (i.e. when the program is running). It seems to me that there isn't an attribute or method available on the XY-graph that will allow this.
    My best solution so far is to have a maximum number of axis present, and then hide/show them when axis are removed/created. However, this triggers a bug in LV (AFAIK) when the axis are shown/hidden out of order (they will be shown
    on top of each other). Now this can be solved by setting the positions/sizes of all axis every time, but that seems like a lot of work...
    Is there a way to add/remove axis to an XY-graph programmatically (in LabVIEW 6i)?

    I have not found a way to programmatically create/remove scales in LabVIEW.
    In regards to the error, I would suggest updating to LabVIEW 6.0.2. I wrote a simple VI that tested this funcitonality and did not have any problems. The link to the 6.0.2 update is:
    http://digital.ni.com/softlib.nsf/websearch/F983BDA17B8F401B862569EC005A11C2
    Chris_Mitchell
    Product Development Engineer
    Certified LabVIEW Architect

  • Keeping Digital Waveform Graph Channel Name constant

    Hello All,
    I have currently run into a problem where LabView decides to change all of the channel names in my waveform graph to some type of default setting, e.g. Line 1, Line 2 etc.  I was wondering is there a possible way to keep the channel names on the digital wave form constant even if I change some of the digital waveform parameters, or pass a null digital waveform constant through one of the channels?  Any help on this would be much appreciated.
    Example:
    Problem
    Digital Channel Name Before:                                 Change Parameter:                              Digital Channel Name After:
    Valve 1                                                                     Only Channel 1&2 used                            Line 1
    Valve 2                                                                                                                                       Line 2
    Valve 3

    Hi di_1,
    Are you trying to add more elements to a property node?  Just grab the bottom and drag it down...check out the pictures.
    Stephen S.
    National Instruments
    1 Test is worth 1000 expert opinions
    Attachments:
    propertynode.png ‏83 KB
    grab the bottom of node.png ‏65 KB
    drag it down for more properties.png ‏96 KB

  • Digital Waveform Graph refuses to edit Bus names

    I am trying to display digital waveforms on graph whose lines are grouped. It looks like the functionality exists to group the lines into "Buses". There appears to be a way to rename each Bus from its default "Bus 0, Bus 1, etc." since there is an Express VI called "Group Digital Signals" that does it. It looks like the express VI is editing the attributes on the waveforms in order to rename the Buses. The attributes are NI_ChannelName for the Bus and NI_LineNames for the lines that make up the bus.
    When I code it, the Line Names are renamed according to what I want, but the Bus names remain default Bus 0, Bus 1, etc. Is there something I must do to rename the Buses?
    (see attached VI)
    Thanks,
    Dan
    Solved!
    Go to Solution.
    Attachments:
    Digital Graph.vi ‏26 KB

    So Young Daniel, do you mean like this?
    All I did was select where is said Bus 0,1 or 2 and typed in a new value.
    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

  • Problems in plotting wave in waveform graph

    I am trying to plot the wave in wavefrom graph. So to plot the graph i tried to bundle the values that i am getting as per the context help of waveform graph VI. Now according to VI i should have x & delta x value in double 64 bit real format, y should be in wavform data type (y array) (as i want to plot single plot). But the values that i am having, x value in 1D array double 64 bit real format, y value in 2d array double 64 bit real format from my VI named as "Agilent 36570 lvlib.Data Coord Trans Data.vi". I got this VI by adding the driver for Agilent DSA hp 35670A. But finally when i tried to connect the wire from cluster out terminal to input terminal of graph VI its showing error. I have also attached the snapshot of my error so as to clarify my problem. So how should i get rid of this problem.
    Thank you. 
    Attachments:
    Query_2.png ‏29 KB

    A wave form is not like plotting points on an x-y graph. A 1 dimminsion array is a waveform. But we usually want to look at the wave form over time. You have to set two additional values for the waveform.   It is a start time (T0) a sample frequency (delta T) in seconds and the the sampled points of the measured signal.  (1-D array of values)  This will display the waveform vs the correct time . To plot 2 or more signals make the array a 2 dimension array. See attached example vi . 
    Attachments:
    Graph.vi ‏18 KB

Maybe you are looking for

  • How to Sort Date in RTF template

    Hi in my report i have name, date_arrival, Time_arrival, Hotel. I created a report grouped by hotel. On the screen it's working OK. when I print yusing RTF created template, the date is not sorted as expected. Thanks, Ribhi

  • Ipod classic games paid for no longer in past downloads

    I had to reboot my computer and in doing so I had to reinstall itunes. After loading everything in and transfer to my ipod 160gb I kept getting an error message saying the games I have aren't authorized for this computer so it won't put it on my ipod

  • Java applet load status

    Hello, thanks for any help. Is it possible to predict how long an applet will take to load and with this info devise a status bar to inform the user of the load status? Jaco

  • Viewing comments by default; finding files with comments

    I searched the various preferences but did not see this: Is there a way to tell Acrobat to open files with the comments list showing? Also, I have a folder of PDFs that have been indexed with catalog. Only a few of the files have comments. Is there a

  • New owner of macbook pro wants to transfer to it control and info from pb

    Hi there, Wanting to run my new machine exactly with the setup of my old one and using the migration assistant, I have done the target mode with firewire. At the end there was a warning saying some files didn't transfer. (They were music plugins. Is