Scalar to graph

I am running a while loop that takes a  reading from an external analog channel. I want to plot this reading on a graph each time the loop runs.  I thought this would be a simple matter but this doesn't seem to be the case.  I've tried several methods without success, a few being:
- my reading (double) into "to dynamic data" control to a graph
- my reading into an "build array" control wired to a shift register on the While loop.  I was unable to find a graph that would accept the data.
- bundle an the array from above with an array that contain a count of the loops, errors about mismatched data types or graphs that still wouldn't show the data.
Is there some method to take a scalar reading and get it into a graph?
CLD Certified

Of course, the Wavechart graph!   Yes, that works perfectly.  ::: Major slap to the forehead :::  I've been programming with Labview 8 for a few weeks now and got so immerse in the function screen that I complete forgot about the Control screen palette.  And the searches never clued me in.  Sorry to have bothered you guys with this post that has such an obvious answer....
CLD Certified

Similar Messages

  • SSRS 2008 R2 Column Graph, Scalar Axis, Columns Take more than 1 Category

    In SSRS 2008 R2, I have created a stacked column graph with two data columns, using a scalar axis with dates.  If I have two columns next to one another, everything is rendered fine.  If all of my columns have space between them, then the columns
    will take more than just the day that they fit.
    Here is a pastebin
    with a simplified report that exhibits the issue.
    When I render the chart, this is what it looks like.
    Whereas, I would expect something like this.

    Hi clcrutch,
    After testing the issue in my own environment, I can reproduce it. Just as you said, if there are two columns next to each other, then all the columns will be displayed on their own location; if all the columns in the chart exist space between each other, then
    they will expand as wide as possible until there is no place to display all columns. This is by design.
    Besides, if in the second scenario, we can manually add one record in the dataset, and then hide the additional record in the chart to work around this issue. For more details, please see:
    Add one new record with adjacent date of MyDate field and unique value of MyStackedValue field in the dataset as below:
    INSERT INTO #Temp (ID, MyDate, MyStackedValue)
    VALUES (100, '11/24/2013', 1000)
    Right-click the series to open the Series Properties dialog box, select Visibility in the left pane.
    Using the expression below to control the series Visibility:
    =iif(Fields!MyStackedValue.Value="1000",true,false)
    If you have any other questions, please feel free to ask.
    Regards,
    Katherine Xiong  
    Katherine Xiong
    TechNet Community Support

  • Realtime graph of non-array scalar XY pairs

    I am currently working with a VI that monitors temperature and I am trying
    to feed XY pairs of time v. Temp to an XY graph. The problem seems to be
    that the graph will only accept arrayed numbers and I want to input the
    numbers realtime one pair at a time. Has anyone had any luck doing
    something like this...it is not in any of the books that I have.

    Mitch-
    Put the whole thing in a loop with a waveform chart inside the loop for
    display. If you wire it to outside the loop it will automatically create an
    array for it (e.g. for storage after the loop completed). Does that make
    sense?
    -David
    Mitch wrote:
    >
    > I am currently working with a VI that monitors temperature and I am trying
    > to feed XY pairs of time v. Temp to an XY graph. The problem seems to be
    > that the graph will only accept arrayed numbers and I want to input the
    > numbers realtime one pair at a time. Has anyone had any luck doing
    > something like this...it is not in any of the books that I have.

  • How do I select more then one channel to view in tdms file viewer graph panel

    I have a TDMS file that I can view with the labview 2013 TDMS file viewer and I can select one signal out of 15 signals to view on the graph panel. however I would like be able to look at 2 or 3 signals
    on the same graph but can't seem to be able to select more then one signal at a time. Is there a way to select more then one to view?  

    I've modified the TDMS viewer in the past to allow selecting multple channels.  It's a little bit of a pain because the tree control in the viewer only allows you to select one item.  You have to edit the tree to allow multiple items.  Now your selection is an array instead of a scalar.  This means the rest of the code has to be updated, and the references to the tree in subVIs need to be updated.  Not impossible but it takes some time.  Alternativly open it in Excel with the free add-in then you can select the two columns you want and insert a graph.  Not as simple for the user but using Excel, which users should be familiar with might mean users need less training on data files.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How do I make an XY-Graph plot points over time?

    I am building a program to plot and take data of a relationship between two voltages.  One is voltage is uniquely dependent on the other.  So far I have successfully built an XY-Graph to plot the voltages against each other (Voltage1 along the x-axis and Voltage2 along the y-axis).  However, the XY-Graph only diplays the point (V1, V2) at the instantaneous time I am looking at it, and does not continuously plot different points as I vary the independent voltage.  I need the graph to display all the points that occur as I vary the independent voltage.  As of right now, all I see is one little cursor that moves all over the graph as I vary it.  My program consists of a While Loop that contains all of the following:  two seperate data anolog input functions that take both voltage separately from my board.  The the output samples from each 'AI Sample' function are then bundled into one cluster using the 'bundle' function.  The cluster output from the 'bundle' function is then wired to a 'build array' function.  The 1-D array output from the 'build array' function is then wired to my 'XY-Graph'.  How do I get the XY-Graph to plot a point every millisecond or so?

    Bundling and then using the Build Array is not correct. Yuo can see the correct method in the help for an XY Graph below. In order to use the normal XY Grpah, you would have two shif registers. One for the X array and one for the Y. Bundle the two arrays and then wire to the graph.
    The other way is to use the Express XY Graph. With that, you can just wire your scalars to the X and Y inputs and set the Reset input to false.
    Message Edited by Dennis Knutson on 11-12-2007 06:32 PM
    Attachments:
    XY Graph 1.PNG ‏21 KB
    XY Graph 2.PNG ‏6 KB

  • What is the data type for the Data Dashboard XY Graph?

    Hey all,
    I am playing with the new Data Dashboard (!!) on my iPad 2 and am having trouble setting up the shared variables that host data to the XY Graph.
    On my PC, in my Project (inside of a variable library) I have set up shared variables for all of the other controls/indicators available in the app; They all work great. However, I have not been able to identify the data type that is for the XY Graph in Data Dashboard. Of course, inside LabVIEW, I use a cluster of 2 arrays; this is not an available data type that I can select while creating a new variable on the hosting side. I have even gone so far as to create a custom control from my XYGraph in LabVIEW and then creating the data type "From Custom Control..." with no success.
    What gives? Am I missing something obvious? Thanks for the help!!
    Tom
    Solved!
    Go to Solution.

    Great question, Aerogoob.
    The XY graph can be bound to a 1d array of "points", where each point is a cluster of two numerics (X and Y). To create a shared variable of this type, you can set the data type to "From Custom Control..." in the shared variable properties dialog. Of course, first you'll have to build the custom control of the correct type: array of cluster of two numerics.
    If any of that doesn't make sense, please post back and we can walk you through it in more detail.
    Also, just for completeness, the chart indicator can be bound to a scalar numeric or to an array of numerics. The graph indicator can only be bound to an array of numerics.

  • Multiple plots in Express XY graph

    Hello,
    I'm trying to have several plots in an Express XY graph and use it without clearing data on each call - like a chart.
    On the Y Input, I'm inserting an array with 2 values (1 for each plot) and in the convert to dinamic data I choose 1D array of scalars - multiple channels. The problem is that there's only one plot in the graph.
    See attached example test.vi
    Can anyone help?
    Thanks.
    Attachments:
    XYtest.vi ‏117 KB

    Hi Paulo
    You need as many x arrays of values as y arrays of values.
    See attached doc
    Cheers
    Alipio
    "Qod natura non dat, Salmantica non praestat"
    Attachments:
    XYpairs.doc ‏46 KB

  • Most efficient way to extract the amplitude of a signal and display on an intensity graph

    Hi All,
    I am having difficulty to display the amplitude of an voltage signal (voltage picked up by NI DAQ card).
    what I am trying: Voltage signal (Dynamic data type)--> 2D array of dynamic data type (using 2 nested for loops) --> normal 2D array with scalar values --> intensity graph
    I have difficulty to convert the dynamic 2D array to scalar 2D arry.
    I only want to extract the amplitude of the imcoming signal.. any body can give some advice? thanks in advance..
    Charlie

    Hi Hillary,
    Thanks for your reply.
    Yes, I did tried to use Amplitude and Levels Express vi, it should be the one I am looking for, but I found it not work in my case, I need to put the value of amplitudes into a 2D array.
    If I use Amplitude and Levels Express vi, it will give me a 3D array, I have found the solution, just convert the dynamic data to single scalar. (see pic attached)
    Anybody can help me to solve the following 2 problems:
    1. The speed of this program is too low, i think ii due to the DAQ assistant in the 2 for loops (for creating 2D array), it should be able to re-write using DAQmx (as "centerbolt" told me), I am working on this now, if anybody can help, I will appreciate that.
    2. Is there any other way to creat the 2D array (for purpose of increasing speed also).
    Thanks,
    Charlie

  • Charts and graph shown as --array and cluster datatype in block diagram

    Hi friends,
    I new user...
    I have a basic doubt...
    In many examples the graph and charts are shown as "array data type and cluster data type "------in the block diagram panel...
    Please tell me, how these data types are shown as graph and charts in the front panel window.....
    regards
    raja

    These are very basic issues and it should be clear once you study the online help and examples for a while.
    Waveform Graphs
    Plain waveform graphs assume equally spaced data. The x-values are implicit from x0 and dx of the x-axis. By default x0=0 and dx=1, meaning the x-values are the array indices. You can change the offset and multiplier from the properties dialog or programmatically via property nodes.
    If you give a 2D array, there will be multiple graphs. Transpose if needed.
    Alternatively, you can give a cluster of [x0, dx, y-array] and the x-axis will adjust accordingly.
    As another alternative, you can built a waveform datatype and feed it to the graph.
    You can also graph dynamic data.
    XY graphs
    xy graphs are needed if the x-vlaues are not regularly spaced.They take a variety of data formats, so pick what is most approriate for the data
    A cluster of an x-array and a y-array
    An array of clusters, each containing an xy pair
    A complex datatype (it will graph imaginary vs. real or similar).
    Charts
    Charts are different, because they maintain a data history buffer an retain a certain amount of data. Some examples of data inputs:
    A single scalar: it wil be appended to the existing chart data, possibly throwing out the oldest existing point.
    An array: The array data will be appended to the existing chart data.
    A cluster of e.g. 5 points: The chart will have 5 dividual plots, one point gets appended to each plot.
    etc.
    The express xy-graph can be configured as xy chart, etc.
    Sure, it is a bit complicated at the beginning, but the complexity also gives you flexibility to do exactly what you want. Just play around with various scenarios and look at the outcome. The best way to learn!
    LabVIEW Champion . Do more with less code and in less time .

  • Variable, Multi-plot XY Graph?

    Hey all, first text to the forums so here goes:
    The issue I have deals with processing data from a number of strain gages.  My goal is to do the following:
       -  At the press of a button ("Push to Snapshot XY Points"), I need to collect a "snapshot" of the strain data that is continuously flowing out of the DAQ Assistant
       -  This strain data is currently being pulled from DDT and converted to a 2D array "Collected Data", which holds the current value of each channel in its own row.
       -  I want to take each individual channel of this information and pair its "collected data snapshot" value with the current Load Case (a double value I control), creating an (x,y) coordinate pair for each channel (all channels will be assigned the same "Load Case")
       -  I want to then Plot & Store these (x,y) pairs of data for each channel.  When I proceed to then change the "Load Case" and take another snapshot, I want to create a new set of coordinate pairs for each channel, corresponding to the new load case.  The overall goal is to enable the code to produce a XY Graph that looks like the one shown below.  I want this XY Graph to "build" to the right each time I take a new snapshot.
    I currently have some code that takes the "Collected Data" Array, and moved it through a FOR loop setup with auto indexing enabled (I imagine I will need some sort of smart FOR loop to handle the variation in channel count).  From here I am having trouble organizing the data into the correct arrays/clusters such that I can store and plot it.  Any help would be much appreciated, thanks!
    To Note: LabVIEW 2014, Windows, cDAQ Hardware
    Desired Output Graph:
    Current Code:
    Current Front Panel View of Arrays Being Built:

    Without getting too hung up with the correctness of what you're doing (or what I did for that matter), attached is a VI that should do what (I think) you're asking. The values get appended to the storage arrays and those get forward to the start of the next loop iteration via the shift registers.  The transpose array functions are there soley so that I could use auto indexing on the FOR loop when creating the 1D array of clusters for the XY graph.
    couple points about your code:
       1] set you "from DDT" signal conversion to 1D array of scalars so you don't have to auto index and then index array inside the FOR loop.  The data is 1D already.
       2] inside your FOR loop you create a cluster and then convert from cluster to array.  Use a single "build array" instead.
    Attachments:
    display_XY.vi ‏101 KB

  • XY-Graph TORQUE AND POWER IN FUCNTION OF ROTATE SPEED

    Dear,
    I have  made a program in Labview for my endwork so i have now one problem ; i read data (torque,temperature,power,speed of an engine with an USB-6009 daq-kaart.) now i want to make a graph of the torque (koppel in dutch) in funtion of rotate speed and also power(vermogen in dutch).  i have used xy graph but  i get nothing  . What do i wrong can some one help me? I send the program also as attachement ; on the y i will torque(=koppel) and x i will rotate speed (toerental)  
    thank you
    Attachments:
    Eindwerk_data.vi ‏346 KB

    Hey Drayton,
    Please have a look at the attached VI.  
    Left
    of the While Loop I created a 2 dimensional array.  Column zero is
    representing the RPM, column 1 the Torque (koppel) and column 2 is the
    Power (vermogen).
    Then I am simulating the measured data of RMP,
    Torque and Power.  As I would like to limit the number of elements in
    the array, I used the "Remainder and Quotient" function to round to a
    nearest lower multiple of 20.  This means you will have steps of 20 RPM
    in your graph.  The lenght of the array is in the case: 4000 RMP max /
    20 = 200 elements.  Of course you can change this but then also your
    array size will become larger (more processor time needed to analyze).
    Next
    step is to get the index number in the existing array which equals the
    current measured RPM.    This index is needed to replace the
    corresponding torque and power values in the array.
    If the newest
    torque or power value is greater than the already available value for
    the corresponding RPM,  then this value will overwrite the existing
    value. If not, then the existing torque and power value will be kept.  
    Finally I will extract the complete columns of the array for RPM, torque and power to apply them to the XY graph.
    You can almost copy/paste this into your VI.
    As
    your data is coming from Express VI, the wires contain waveform data
    which also inclused timestamp information.  As you cannot use waveform
    data with arrays and actually don't need it, you have to use the
    function "From DDT". This is also an express VI to convert the Dynamic
    Data Type from the Express VI into a scalar datatype.  You can show to
    analyze only one point at a time of by using an array.
    I have also seen that you have place additional numeric indicators on your front panel beside the meters.
    This is great. You only used an additional object to do so causing also an additional terminal appearing on your block diagram.
    Actually,
    the numeric front panel objects have already an numeric indicator
    related to it.  This way no additional block diagram terminal will show
    up.
    You only need to enable it.
    Right click on the object to open
    the shortcut menu ---> Visible Items --> Numeric Display.  There
    is your numeric indicator directly related to the object.
    If you do this for all you front panel objects, your block diagram will look much nicer and easier to read.
    Best regards,
    Joeri
    National Instruments
    Applications Engineering
    http://www.ni.com/ask
    Make our forums great:
    If you like the answer, don't forget to "Kudos!".
    "Accept the Solution" if your question is answered!
    Attachments:
    Arrays.vi ‏18 KB

  • Multiple XY graph

    Hi, in a control and simulation loop,  I am making an xy graph that combines data from two wires for the x values and data from two wires for the y values.  I have attached a picture of part of the code.  When I run using some variable it works ok (picture 1) but when I change the variable to a lower value it looks like the signal stopped and the rest of the curve is not drawn (picture 2, green line which should go until about 42 in the x axis).  Am I inserting the right functions for making this sort of graphs or am I missing something like a build array function or something similar?
    Thanks
    Attachments:
    XY graph.JPG ‏26 KB
    Picture 1.JPG ‏41 KB
    Picture 2.JPG ‏41 KB

    For the untrained eye it is impossible to tell what you really want and what the significant difference between the two images is. On both graphs that you show, the green curve does not go to 42 on the x-axis. (one goes to x=~12 and the other to x=~15)
    Maybe you should have a look at the real data. Could it be some values are NaN? I don't have this particular toolkit (simulation?) installed, but if you attach your program, somebody else might be able to troubleshoot further.
    I am not a big fan of dynamic data and expres VIs, because they hide too much information when looking at a diagram picture. What is in the arrays and scalars that build the dynamic data? Is the express VI set to retain data between calls?
    LabVIEW Champion . Do more with less code and in less time .

  • Ploting 2 Scalar Numbers at The Time

    Hi Everyone,
    I have a main and a sub-vi to plot 2 scalar numbers at the time using the graph control (LV8.5), and is not working correctly as I will expect to work.   Basically the main vi has a graph that is updated everytime its sub-vi is called.   However it looks like the shift registers keep "its memory" alive even though the sub-vi has finished or stopped.
    At the sub-vi level, I don't reset the shift registers because I don't want this operation to happen everytime this sub-vi is called.  I was hoping that Labview will reset the shift registers every time that the main vi has finished and re-started again.
    Could someone suggest a different technique to make this vi work? 
    Basically, the main vi calls its sub-vi 10 times and updates its graph properly.   However the main graph keeps plotting more than 10 numbers. . .
    I know that I could use a chart and fix this issue but I would like to use a graph control if possible.
    Thanks,
    Frank
    Attachments:
    ChartingTwoNumbersAtTheTime_SUB_VI.vi ‏15 KB
    ChartingTwoNumbersAtTheTime.JPG ‏83 KB
    ChartingTwoNumbersAtTheTimeMainVI.vi ‏15 KB

    Since you are using LabVIEW 8.5, you can use feedback nodes in the subVI without the need for any while loop. Now use a case structure connected to the "first call?" primitive as e.g. in the attached modification.
    You should not place a wait in the subVI, this make no sense. There is no reason for the sequence frame. You also don't need to zero the graph in the main VI as you currently do.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ChartingTwoNumbersAtTheTime_SUB_VIMOD.vi ‏15 KB
    ChartingTwoNumbersAtTheTimeMainVIMOD.vi ‏14 KB

  • How to graph the counter frequency

    Hello, does anyone know how to make a graph from a frequency signal that comes from a counter?
    It seems that I first need to convert the frequency signal (scalar) into a waveform type.
    I do not know how do this. Any suggestions for me?
    As a basis I use the "Meas Dig Frequency-Low Freq 1 Ctr.vi" example from NI for the frequency measurement.
    Thanks,
    Peter

    Peter,
    I can't look at the example you mentioned from the PC I'm at now, but I can describe the way I've always done it.
    I'm assuming that the incoming frequency varies, and is calculated by timestamping the incoming edges. This would mean that the hardware is doing something like period measurement and the sample rate varies with the varying periods. Such data wouldn't be suitable for the waveform datatype which assumes a constant interval time dt.
    I would recommend graphing on an XY Graph. The Y data is your frequency array. The X (time) data is derived from it pretty simply. First send your frequency array through a 1/x function block to create an array of individual interval times. Then perform a cumulative sum of the interval array to produce a Time array for your X axis.
    The cumulative sum can be obtained with a For loop with a single shift register initialized to 0. Auto-index the loop with the interval array. Sum each element with the left-hand shift register value. Send the sum to both the right-hand shift register and to an auto-indexed output for cumulative time.
    -Kevin P.

  • Multiple AIs on separate graph

    Hello,
    I am acquiring data from several accelerometers (10 Analog Inputs channels) at the same time upon the trigger of a digital rising edge input. I was wondering how to separate each channel or plot each channel on separate graph.
    regards
    don
    Solved!
    Go to Solution.

    Hi DAQ_Newbie,
    If you are using Express VIs, your acquired signals would be Dynamic Data (blue-white stripes). You can separate each channel by using Split Signals.
    If you are using DAQmx VIs, your acquired signals can be scalar (thin lines), arrays (thicker lines) or waveform (brown-white stripes). You can separate each channel by using Index Array.
    After separating the channels, you can plot each of the channel to the different graph.
    Hope that helps,
    Sincerely,
    Krisna Wisnu
    Message Edited by Krisna Wisnu on 10-11-2008 12:46 PM
    Sincerely,
    Krisna Wisnu

Maybe you are looking for

  • Install R12 on a Virtual Machine hosted on Windows Vista

    I wanted to install Oracle EBS R12.1.1 on Windows Vista Home Premium 64-bit but used to get .\jre\nt\1.6.0\bin\java error. Hussein Sawwan helped and said that this is not certified. He adviced me to create a VMWare Server. Following is my experience.

  • I Bought a Macbook Ae1811 and it keeps saying there is no camera connected

    I bought a macbook ae1811 and i've had it for two days. When I go to open photobooth or try to use any app that requires the camera it says there is no camera connected. I have restarted it, I updated it to Yosemite I even opened Terminal and copy pa

  • Bad Connection to French Servers

    Hello, I am pretty satisfied with my BT internet normally, however, there seem to be a problem when i connect (play) on french servers, on any game. I did some tests with Windows CMD, i traced the ip. http://i.imgur.com/VNoLtPn.png I am not really go

  • Requried data

    Dear Team, Can anyone let me know, what are all the basic\necessary data required for Spend performance management reports? It would be really helpful, if you provide the relavant Datasources from ECC and other systems. Thanks.. Regards San

  • What's up with Java Zero Day, and is Snow Leopard endangered?

    That.