dispplaying data on the graph of waveform inside/outside while loop

I create a vi using the random number generator, entering the number in the function(express>>arithmateic>>maths>>trig>>sine) fishing and connect the output of the function sine waveforms. Table of waveform show no problem. If I replace the with graphic waveform table, I get an error that the source type is differenct type of sink. I then put waveform chart outside loop everything hoping that tunnel would act as a table, but still I get the same error. I then put build table palette between all border and loop waveform graph which is placed outside the while loop. I get no error, but no data is displayed on the graph of a waveform. Theoretically, if I press stop I would see a distorted sine wave on the waveform graph, but this doesn't seem to be the case. I am wondering how to view data on the graph of a waveform in such cases!

Thank you in advance for reading and help!

See you soon

First of all, you can take a part of the basis of LabVIEW tutorials.

Since you need to work with a chart and it is the preferred method to display data point by point, I don't know why you try to use a chart. In any case, you cannot use all simply a table of generation because that would be just the result of the last iteration and your graph indicates it is a single point. If you activate autoindexing, then you get all the values, but not before the end of the loop. If you were to use a shift register and the build dashboard, you might place the graphic inside the loop, but then you would face performance issues that the table would grow uncontrollably.

Tags: NI Software

Similar Questions

  • Data for the graph economy waveform

    Hello

    I'm trying to collect the data of temperature with the attached VI. Everything works fine until I open the exported file that contains only the last point of the chart. I already had this problem and I think that it is quite common, but I can't find how to solve it.

    Thank you very much for your help!

    Here's what you do.  The central loop is where you get several waveforms.  You want to write each waveform in the output file, which means you want the wave form to write to the worksheet in the Central loop.  Look at its inputs and outputs - put three of them, the file Path/New path, add to the file? and the header? on the shift registers.  Initialize (wants to say wire the register shift outside the While loop) the path of the file to "data\test" (as you've already done), with the new path towards the "output" Shift Register Terminal.  False (the default) of thread to add to the file? and true (if you want headers) to headers?  On the side of the "output" of these two SHIFT registers, wire to 'Add to the file?' "True" and "False" to "Headers?

    For the first time you run the intermediate loop, the file will be opened in a new file (since add to the file? is false) and a possibly written header.  All subsequent calls will add data in the same file (because you wired "True" to add to the file on the output terminal) and no header.

    And to get rid of the unnecessary frame at the end – data flow will be responsible for sequencing.

    Bob Schor

  • How to remove header, time and date of the Subvi "export waveforms to the spreadsheet file?

    I use 'Export waveforms for spreadsheet File.vi' in order to export the labview data into a file.

    However, the default format is the following:

    waveform [0]
    T0 13/11/2009 14:54:34
    Delta t 0.001000

    time Y [0]
    2009-11-13 14:54:34 - 2.441406E - 3
    2009-11-13 14:54:34 - 2.441406E - 3
    2009-11-13 14:54:34 0.000000E 0

    Yet I am interested in only the actual data without header or stamp date and time, for example:

    -2.441406E - 3

    -2.441406E - 3

    0.000000E + 0

    Could someone help me please with the adaptation of the Subvi to my needs?

    Transposes set to true.

  • How can I write the data on the graph xy

    I want to write the values of x and y... how can do that... I tried with the independent cluster.but the sons weren't told connected.it that the dimensions are not same.why my watch 3 xy dimenssional table? He must have a 2d painting.

    can someone help me please...

    Ignatius

    Normal, 'Write on worksheet File.vi' required a simple table 1 d or 2D as input and not a specific type in the cluster (because the XY graph is a cluster).

    So, given that your [X] data is the same for every [Y], you could build a 2D data table to use (by implementing the 'build picture' with [X] & [Y]).

    If it is not the case (same [X] for all [Y]), you will have to proceed to another method-online 2 files or the conversion of custom text before writing.

  • SQL query to represent the data in the graph bar

    Hello

    JDev 11.1.1.5.0

    We must create a dashboard to track the translation. We have created the ADF table with buttons 'Create', 'Update' and 'Delete' to manipulate the table.

    Our DB table structure is

    File_id (PK), File_Name, ToSpanish - ARE (YES/NO), beginning of the ToSpanish, ToChina(YES/No), ToChina-Date... etc.

    Once the translated file required language then user must update the DB table using the button "Update".

    So far, we have implemented the requirement above.

    We need represent the status of the translation in the graph bar with the language as X access and file count get access Ex: Spanish-100 China - 200 files files

    Please suggest the sql query to retrieve the necessary info from the DB table that can be represented in the graph bar. Also, it would be great, if you can provide a pointers to create a bar chart.

    Thanks in advance,

    MSR.

    If you set your major increment and minor than 1, then you won't not show decimal points.  You can try setting these 10 or 100 to reach your goal.

    Subtype = "BAR_VERT_CLUST" >

                 

  • How can I put an upper limit and lower limit on the chart inside a while loop?

    Need some help here. I'm working on a project, I collected data thru OR myDAQ, draw a waveform graph, is possible to add a limit upper and lower the table on waveform? I tried ways but can't seem to work. Any help is appreciated thank you.


  • How to make a graphic inside a while loop to maintain the previous values

    At first I tried to use a the VI Express XY graphics to create a track of points.  However, the chart is a trace linear between the first point in the new line and the last point of the previous line.  It then creates the new line as you wish.

    I tried to use a loop with group a cluster for the chart, but the chart resets the plot at each iteration (as expected) and I can't find a way to maintain the previous data.  I tried using shift registers, but was unable to find a way to do it, and I tried also the cluster of a painting company, but can not find a way to make the cluster to a 1 d of a cluster of 2 elements array.

    One option is to have is to find a way to maintain the previous data, but the preferred option is to create a new path to each iteration to see the color change for each new parcel.

    I take stabbed it because I don't know exactly what you want. But I think that's what I've shown here. You must use a shift on your outside register while loop, as I showed. Your image where you tried to use a shift register shows a misunderstanding of the shift registers and how well they work, then I'd take a peek at these tutorials.

  • How to set up the execution in a way independent while loops?

    Hello

    I hope someone here can help point me in the right direction for that.  My system at this stage is still quite simple, I just data collection of 2 resistance probe and a pressure sensor, their output in the Panel before and sometimes to write.  I have put architecture in place to call parallel loops running at the frequency I would ideally like to do.  that is, I want the RTD to update every seconds and the pressure transducer for updating chaque.5s, I want to write to the file at a rate defined by the user and I want the Panel before updating a half second (correspondence with the pressure transducer).

    Now, in the structure, I wrote, it should run all the while loop once before it can restart the sequence.  Technically, the code works, but it takes ~1.5s to the RTD to collect and update and so the whole VI takes ~1.5s to complete.

    I don't care if the RTD is slow to update, but as I use the sensor as a gauge of the cell pressure I need to know at a high frequency that the pressure is in the cell, and I don't want to wait 2 seconds for the information.

    I know I'm starting to get into a much more advanced architecture for this and ive spent the last googler 6 hours trying to find a procedure for how it works but I can't figure out a way to have the whiles stop waiting for RTD loop finish.  I guess that this is to divide the VI in several screws and construction of a library, but the resources I could find about it were not very useful for a beginner like me.  If someone could point me in the right direction on where I should look then that would be great!

    Thank you

    Zach

    Zach,

    Because you created the tasks of data acquisition elsewhere, we do not understand how you have set up. Continuously, starting and stopping tasks may be slower than setting up of a permanent task and let it run.

    You have not indicated that you use the DAQ hardware.  It is often better to leave in the DAQ hardware clock set ignition rather than rely on software distribution. The pressure loop reads 1000 samples at a time and calculates their.  If you're not sampling at 2000 s/s or faster, the loop ends late due to waiting for data.  In two loops DAQ, you do not use the calendar information.  Acquire the data in tables rather than waveforms.

    The Dequeue functions in the loop at the bottom have no wait times for this loop will not iterate until all three queues have data. As the pressure loop runs faster than the loop of RTD, the queue of pressure slowly fills.

    The upper and lower loops are vying for the data.  The preview queue item does not delete data from the queue, but the functions of the Dequeue elements in the loop of the low fact.  If data is deleted form the queue before the upper loop resembles it, it will never be saved. With your installation there is no way to ensure that you get all the data or that you do not read and record the same data more than once.

    You don't have anything set up to stop one of the loops.  You use the Cancel button to stop your VI?  If Yes, STOP! Other aprticpant on the Forums said: "using the button abandon to stop a VI is similar to the use of a tree to stop a car.»  It works, but can have unintended consequences. "Things like closing of files, freeing up the queues, by closing the task of acquiring data, and other things can occur when the program is interrupted.  You do not shut down your computer by pulling the plug.  Stop your program also neatly.

    Ok.  I have highlighted some of the things that can keep your program to run as desired.  What can you do about them?

    1. you probably don't need call loops.  Normal so the loop should be good enough.

    2 put a stop button on the front panel. Put the terminal in loops (bottom) and connect it to a function to send a Notification and the status of the Terminal loop (stop sign).  Put wait Notification functions in each of the other loops.  Put a period shorter than the time loop minimum on all of them if the lops can work.

    3. see the comments above regarding the DAQ bed material.

    4 use the Dequeue timeouts to adjust the pitch of the loop the loop where the data is used.  Also make sure that all data is removed.  You need to think about your time together and what are the bottlenecks.  Except if you expect this system to grow to much larger dat sets, I probably acquire ALL data (pressure and RTD) at the same rate and reduce the displayed amount by the average like you do for pressure data now.  If you want different final data rates, just average different amounts of data.

    5. it might be useful to learn how to work the State machines.  Display, averaged and recorded files could be managed in a loop by a simple state machine while allowing for more flexibility in the calendar.

    6. Another good reason to consider a state machine is that initialization and shutdown processes can easily be handled in the corresponding States. At this point you do nothing with errors. A state machine would enable you to handle errors (for example, the cancellation of the selection of the user files) without stopping the program.

    Lynn

  • Why the execution time increases with a while loop, but not with "run continuously?

    Hi all

    I have a problem of severe weather that I don't know how to fix it because I don't know exactly where it comes from.

    I order two RF switches via a data acquisition card (NI USB-6008). One job at the same time can be selected on each switch. Basically, the VI created for this feature (by a colleague) resets all the outputs of acquisition data and active then those desired. It has three entrances, two chain simp0le controls and a cluster table, that contains the list of all the outputs and some practical information to know what is connected (specific to my application).

    I use this VI in a complex application, and I have some problems with the execution time, which increased whenever I said the VI, so I did a test VI (TimeTesting.vi) to determine where the problem came. In this special VI I record the execution time in a csv file to analyze then with excel.

    After several tries, I found that if I run this criterion VI with the while loop, execution on every cycle time increases, but if I remove the while loop and use the funtionnality "Continuous run", the execution time remains the same. In my high level application, I have while loops and events, and so the runtime increases too.

    I someone could explain to me why execution time increases and how can we avoid this? I have attached my VI test and the necessary subVIs, as well as an image of a graph that shows the execution time with a while loop and «run permanently»

    Thanks a lot for your help!

    Your SetReset_DO VI creates a channel whenever it is called.  And that you never delete a task.

    When running continuously, that it's as if it only runs once and LabVIEW has internal mechanisms to close references that will not be used again.  When a VI is used as a Subvi, LV does not know if she will be called again, and lacks these things until the first level VI stops. You have a memory leak.

    Just as you open and close your file outside the loop for, create your channel out of the loop.

    Lynn

  • Type of input data for the graph waveform

    Waveform graphs do not change the type of input data according to the wire. When I create a new chart that is set to double data type and does not change what I connect to waveform, so I copy graphics to another VI for appropriate indication. But the graphics don't accept complex data. How can I change the type of input data?

    The graphics in vi you have posted behave properly on my machine.

    Change according to the type of data that connect you to them.

    Maybe something wrong with your installation?

  • Problem writing data to the file that is inside the SD card.

    Hello

    I am trying to write the data to a text file that was inside the SD card in my application.

    Everything worked well. If once I connect my camera to the PC via a USB port, then unplug the unit that also data are not added to the file system. Please can someone help me solve this problem.

    Thank you

    Schott Perfecto

    1 single source can access both microSD card.  So if the BlackBerry Smartphone is connected to a PC and mass storage mode, your application will not be able to access the microSD card.  Mass storage mode allows your PC watch the microSD as a drive on your PC.  It is configurable in the Options of the device.  You can set it to on, off or invites.

  • Transpose the row of columns inside a FOR LOOP

    Hi all


    I'm on 11g R1 and I have 2 tables
     
    select * from table1; 
    
    PRODUCTNO   PRODUCT_NAME STATUS 
    --------------     -------------------- -------- 
             1          TV 5 
             2          CAR 5 
             3          COMPUTER 5 
            4      Accessories 5 
    
    select * from table2; 
    
    PRODUCTNONO                 PART_NAME 
    ---------------------       -------------------- 
              1                 ANTENNA 
              1                 CABLE 
              2                 BRAKES 
              2                 TYRES 
              2                 SPARK PLUGS 
              3                 MONITOR 
              4                 PRINTER 
              4                 KEYBOARD 
              5                 MOUSE 
    In a PL/SQL block, I have the cursor
     
    cursor cur_1 (P_name varchar2) is 
    select a.productno,a.product_name,a.status, b.part_name 
    From table1 a, table2 b 
           Where a.productno = b.productno 
    and b.part_name = P_name; 
    a l_col collection that stores the values of part_name little, something like

    ANTENNA
    CABLE,
    BRAKES,
    TIRES,
    SPARK PLUGS,
    MONITOR

    I now have in the pl/sql block
     
    for j in 1 .. l_col.count loop 
    For L_Carq In cur_1 (L_col(j).part_name) 
                    Loop 
                      Dbms_Output.Put_Line(L_carq.productno || ' | ' || 
                                             L_carq.product_name || ' | ' || 
                                             L_carq.part_name || ' | ' || 
                                             L_carq.status); 
                      Dbms_Output.Put_Line('-----------------------------------------------------------------------------------------------------------------------------------'); 
                        --/* 
                             Update table1   
                                  set status = 0 
                                  Where  productno = (l_carq.productno ); 
                             Commit; 
                        --*/   
                  End Loop; 
    and the dbms_output is
     
    PRODUCTNO PRODUCT_NAME    PART_NAME STATUS 
    ------------------ ----------------           -----------------   ------------ 
        1 TV            ANTENNA   5 
        1 TV            CABLE   5 
        2 CAR            BRAKES   5 
        2 CAR            TYRES   5 
        2 CAR            SPARK PLUGS   5 
        3 COMPUTER      MONITOR          5 
    You have an idea how I can get the dbms_output as
     
    
    PRODUCTNO PRODUCT_NAME    PART_NAME                STATUS 
    ------------------ -----------------------    -------------------                                 ---------- 
        1 TV            ANTENNA,CABLE 5 
        2 CAR            BRAKES,TYRES,SPARK PLUGS 5 
        3 COMPUTER      MONITOR                 5 
    On SQL, I could format the output very easy, but unfortunately I'm forced to use the loop for.

    Any help is appreciated.

    Thank you
    Dani

    The collection must be extended "manually":

    -- initializing with the default constructor (you can do it in the declaration section) :
    l_col := sys.odcivarchar2list();
    
    For K In D Loop
      l_col.extend;
      l_col(l_col.last) := k.part_name;
    End Loop;
    

    I can't specify each part_name in where clause

    Where do you source?
    If there is another table, you can use BULK COLLECT, but maybe I don't see the whole picture here?

    Published by: odie_63 on August 2, 2010 16:45

  • Sub - VI with nodes of feedback used more than once inside a While loop

    All,

    I have a Subvi is a set of operations and using 3 feedback nodes. I use this Subvi inside a loop While 4 times in total. I noticed all instances used to share the same result in each node for your comments, but I would like to have an individual result of each of them. Is there an easy way to work around this problem? I find ways to avoid this: a) create a different vi for each time the Subvi has been used. (b) use global variables instead of feedback nodes. Is there an easier way to get around this problem?

    ExamplePlease note that the two sub - VI are the same) If on my first Subvi I calculate a maximum value and get 1.29 (then goes to the crux of feedback) on my second slot - VI 1.01 my feedback to the Subvi second node records still get the maximum value or 1.29. (and I want it to be 1.01!)

    Hope, that it is not too complicated, I was scratching my head with that for a while, can't find the "easy" button Thanks in advance.

    -Pop

    IM using 9.0.

    It would be useful to join the code. Anyway, I'm not sure how several knots of comments are supposed to work so I will defer to others to answer that. As far as being able to use separate or instances values if you are using a Subvi, you could mark it as reentrant. In this way, each call to it will behave as it were a copy of the VI and it will have its own memory space. This should include the feedback node. You end up with a single slot - VI and in reality a single node of feedback. If you need pass data between calls that simply data through wire. You can also use a motor of Action to store and retrieve values. An EA is MUCH better than a global variable.

  • Mixed signal graph - data digital unable to see on the graph

    Hello

    I'm tracing analog and digital data on the graph of mixed signals. I'm not able to see numbers on the graph, but when I export data to excel it shows all digital plots also. According to me, Miss me some settings.

    Please check attached VI for reference and let me know if anyone knows the solution

    Kind regards

    Jaysha

    I changed the frequency of sampling to '1 '.

  • data is plotted on the graph of absolute time delay

    Hi all

    I'm plot data on a graph of absolute time and I find 2 hours difference between the data displayed by the debugger (left) and data on the graph (X - SCALE AUTO).

    The time saved in ptTime, was acquired by using the function 'time' and the PC has Amsterdam, Berlin, Rome as time zone.

    Here, under a screen shot that implemented the code, the debugger and the result.

    The debugger is also showing the version in good time!

    Can anyone suggest me how to process data in order to have the same result on the debugger window and on the graph?

    A big thank you and best regards

    Sergio

    Question: in the CVI debugger show you, the time_t variable appears as a double, while its definition in 'time.h' is ' typedef unsigned int time_t; "so I am a little confused.

    Response: I did something nonsense in this screenshot: I took a variable of type double (it happened to be a UIDateTime, actually) and configured the debugger to format as if it were a time_t variable. The formatted values that the debugger shows me, therefore, are not valid, of course. But I just wanted to show the time_t format, because it corresponds to what you have in your screenshot, and I was already suspicious that you use time_t variable to pass to the curve.

    Furthermore, if you are not familiar with the way in which you can change the formatting in the debugger, this is how you do it:

    Usually, the debugger can automatically pick the best format to use, based on the data type of the variable (for example, with variables of time_t). But in this case, what the debugger calls a variable "Date Time" is all just a double. The debugger cannot assume that you want to display all your double variables as a 'Date Time', and so you need to replace yourself.

    Question: I was not able to find UIDateTime using the ICB type, this is the value returned by GetCurrentDateTime(double *)?

    Response: There is really no such thing as a type of data "UIDateTime". I've been a bit remiss with my terminology. Unfortunately, when you're dealing with dates and hours, there are several possible representations of these quantities in the world of C, and it is important that you use the correct the intended variant you use for. In this case, the chart controls expect that you pass the time format used by the library of user interface, that is, one that is returned by the GetCurrentDateTime or MakeDateTime functions. The underlying C for this representation of the time data type is simply twice, and so it is not a good name to refer to it. That is why I used UIDateTime, but I should have been clearer than that.

    Question: Y at - it a function to convert time_t values UIDateTime values

    Response: Yes. You can use the functions of the programmer's Toolbox following two, in exactly this order:

    CVIAbsoluteTimeFromCVIANSITime (time_t ansiTime, CVIAbsoluteTime * absTime);

    CVIAbsoluteTimeToCVIUILTime (CVIAbsoluteTime absTime, double * uilTime);

Maybe you are looking for

  • How to remove a user name?

    I have user names that I use no more and I want to delete them. They appear on the login screen when I start to use my browser.

  • Strange wifi network

    Hello This is the first time I have ever written to anywhere, so bare with me if I can't explain the question very well. In addition, because English is not my native language, I may have a few questions of grammar and. So, here's the thing. whenever

  • drop-down list with the names of users is gibberish

    When I have a user name or a field that remembers of that list of drowdown with him shows all sorts of gibberish, I can click on it and he will choose, but it is not displayed correctly. This has started happening since I've updated to 22. I tried to

  • How to change sound on Tecra S11?

    The sound sounds aweful! Which speakers could buy and replace in my Toshiba Tecra S11?

  • How can I share my PC Internet on my Symbian phone

    Please give me the way that I can be able to share my PC Internet on my phone via Bluetooth symbian.