Trouble getting a subvi to update a graph in real-time on the front panel

Hi All,
First post here, so play nice =). I am trying to update a graph on the front panel from within one of my subvis, however it does not update it in real-time. It will only show the completed graph after the subvi finishes running. I have tried to use references/property nodes and I have also tried using my chart as a global variable, but neither of those methods have worked (I am probably doing it wrong). Can anyone provide a detailed walk-through of how to do this using either one of those methods? Or perhaps even a different method?

ModusPwnens wrote:
This is how you do it, right?:
Try this for a quick demo of the reference method:
Create a VI as shown in the image.
Select only the while loop and do "edit...create subVI" (as shown). (you will get a subVI that contains the needed connectors and is alread wired to the reference)
Run the main VI, and the chart will update every 200ms.
Note that this is only a draft and many things are missing. (For example, the subVI cannot be stopped at the moment. Also, you want a graph, and not a chart.)
LabVIEW Champion . Do more with less code and in less time .
Attachments:
updateViaSub.PNG ‏32 KB

Similar Messages

  • How can I call the SubVI like a child window one or more times in the front panel of my main VI ? See the example atached...

    I would like to create a aplication where I call dynamically the same SubVi many times in the front panel of my main VI ... I saw this kind of programmation in other languages like Delphi, C++ Builder and Visual Basic.
    For explanation: I have 10 channels to read in the list, but I would like to see only 3 channels ... Then I will click in the channels choosed of my list and will open the same SubVI 3 times, where each one will show the individual channel.
    Thanks for attention...
    Cleber
    Attachments:
    Opening SubVi many times.jpg ‏118 KB

    TiTou certainly pointed you down the right path... For a few more details, refer to my post to this thread:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=141811
    You could use the same technique, except instead of opening the clone's front panel, use the VI reference you have to it to poke it into a subpanel. Please note: I have never actually tried building a VI with more than one subpanel on its front panel, but it should work. Also you will not want to close the VI references because you will need them to stop the clones when you shutdown your application.
    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

  • I've got the labview vi written to read my IMU data from a serial port in COM1 and it displays onto the table on the front panel. I'm having trouble getting this data onto an excel spreadshee​t. Any ideas?

    I've got the labview vi written to read my IMU data from a serial port in COM1 and it displays onto the table on the front panel. I'm having trouble getting this data onto an excel spreadsheet. Any ideas? Right now my data will collect one reading instead of continuously reading my IMU which displays data in a continuous stream.
    Thanks
    Attachments:
    Read_IMU_Drew.vi ‏21 KB

    Hi
    Your vi is in 2009 version, which i am unable to open in 8.6
    However, if you want your data to be saved in excel sheet, here is the VI
    Somil Gautam
    Think Weird
    Attachments:
    save to excel.vi ‏12 KB

  • I am having trouble with my iphone, I updated it and when I turned on the screen the ituns and USB icon appear. I've tried to restore it but it sends me to the ituns icon right away and I dont know what to do.

    I am having trouble with my iphone, I updated it and when I turned on the screen the ituns and USB icon appear. I've tried to restore it but it sends me to the ituns icon right away and I dont know what to do.

    you may have to do these stepps a few times http://support.apple.com/kb/HT1808

  • Having trouble getting Skype to work.  It did when I first got the computer about a yr ago but then quit.  I've trashed and reinstalled the program and set the preferences to allow Skype but nothing is working.  Any suggestions?

    Having trouble getting Skype to work.  It did when I first got the computer about a yr ago but then quit.  I've trashed and reinstalled the program and set the preferences to allow Skype but nothing is working.  Any suggestions?

    all I can suggest is completley unistall as here
    https://support.skype.com/en/faq/FA12073/how-can-i-completely-uninstall-and-then -reinstall-skype-for-mac-os-x
    Then reinstall
    http://www.skype.com/en/download-skype/skype-for-mac/

  • How can I display a changing variable in a subvi on the front panel of the main vi as the subvi is excuting

    In the document attached the vi on the right is sub to the vi on the left. On the subvi on the right the variable "Field Reading" is continuously updated on the front panel of the subvi as the "for" loop is executed, but only the last value of the variable is updated on the main vi front panel which is what is expected. My question is how can I display the changing value of "Field Reading" on the main vi front panel as the "for" loop in the subvi is running?
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    Doc2.docx ‏554 KB

    Hopefully I can explain it well enough. It really is simple.
    1) Create an empty global variable and call it something like User Interface References.vi
    2) For each and every control and indicator on your front panel, right-click and select Create/Reference
    3) Place these references wherever you like (I use a series of Event cases to perform my initialisation and these all live in one of these event cases). They can be placed anywhere in the main vi.
    4) For each of the references, right-click and select Create/Indicator
    5) Moving to the front panel, Cut all the indicators and Paste them in the global variable (eg. User Interface References.vi)
    6) Moving back to the block diagram, wire the global variable to each of the references and select the same named global variable.
    All the hard work is now done (until you add another user interface terminal). You should now have something that look as shown below, [except the reference labels would be to the left (not sure why the snippet put them above)]. In my latest program I have 82 references!
    Done. You can now access all your front panel controls and indicators anywhere in your program as shown below.
    You can just select Value in most cases, but in this particular case I wanted to fire off an Event to do some things (log the alarm) as well as just update the value. So, this is another bonus with the method.
    Hopefully this all makes sense. If not, let me know.

  • How to display the status of a SubVI on the front panel?

    Hi,
    I am writing a program to control an instrument through a serial communication port. The control and communication functions are integrated in a SubVI and they work fine.
    In the front panel of the main VI, I want to add some indicators to display the status of those controls in real time, such as using some LEDs to show whether the program is running in some loops of the SubVI, or use some indicators to show some variables in the SubVI.
    I tried using global variables, but I can't make them work in real time (or maybe I didn't do it right). The values of the global variables are actually changing on the fly, but the indicators on the front panel wouldn't reflect those changes until the program return
    ed from the SubVI.
    Is there a way to do this in Labview 6.0.2?
    Your earlist help is very much appreciated.
    Best regards,
    Hua

    Hua,
    I have attached an example in which a front panel boolean indicator is toggled in the subvi. Also, a front panel stop button is used to stop the loop execution in the subvi. References are passed to the subvi instead of the actual control values.
    Without seeing your code I'm not sure what was going on with the globals, but you had to have a data dependency somewhere which was keeping the code from running until after the execution of the subvi. The code must be totally independent of the subvi in order to run. Also, in order for the update to work it would have to be operating in a loop.
    Attachments:
    Main.vi ‏13 KB
    subvi.vi ‏20 KB

  • Looking for a way to programmatically set the visible portion of the front panel when a subVI opens

    I am looking for a way to programmatically set the visible portion of the front panel when a subVI opens.  Haven't found any posts that relate, but I'm not sure how to ask the right question.  To be clear, I want to write a helper VI to go through a list of subVIs to make sure the background images are all in the same place when their respective subVIs open.  I hate manually playing with scroll bars before I save each of the VIs...  I'm figuring I need to find the top/left location of the background image (know how to do this already) and then set a VI FP property to  these values or some offset, but I can't find the relevant property. FP:run-timeposition:custom looked promissing, but only affects the location of the window, not the area of the front panel the window is displaying.
    Solved!
    Go to Solution.

    Cool.  Getting closer.  The way I implemented your suggestion affects the subVI only if it is open.  I can use this to do what I'm after, perhaps putting the code into each subVI.  Maybe open all subs, run the helper, and save.    Seems like I'm missing the elegant version...
    My proof of concept code:

  • How to/Is it possible to get the front panel's VI icon?

    Hi
    I want a sub-vi to get the front panel's VI icon image of other VI,
    example, the subVI can have the image return based on VI refnum, is
    there any function to do this?  I try to search the "Application
    Control ->  Property Node" and could not find any of it.
    Thank for any suggestion.

    This method also exists in 7.0
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How to run a subVI without poping up normally, but when clicking a button, popup the front panel?

    I know pop-up the front panel of a subVi when called by selecting VI Properties>>Windows apperence.
    But what I need to do is: always run the SubVI inside the parent VI as the nornal subVI do without poping up. But when I click a button"show front panel", the SubVI popup the front panel.
    Is there anyway to do this?
    Thanks,

    ossoo,
             You can use a static VI reference to the subVI and then use the Front Panel Open invoke method to show the front panel when you want. I have attached two VIs that show this. I saved these VIs for LabVIEW 2009 so you should be able to open them up and run them in 2009 or later. Add.VI is the subVI that you are calling. The Caller.VI is just a While Loop that contiually calls the Add subVI. Inside of the While Loop is also a Case Structure with a Static VI Reference (you might need to change the path this is pointing to after downloading the VIs to your computer for this to work) and the Front Panel Open invoke method. You can run the Caller.VI and interact with the main Front Panel as normal and see the subVI but then you can click the Open subVI? boolean button and it will open the subVI's front panel. You can continue to interact with the main front panel and see the values update on the subVI's front panel as well. You can just close the subVI's front panel when you are done viewing it. Does this help?
    Grant H.
    National Instruments
    LabVIEW Product Marketing Manager
    Attachments:
    Caller.vi ‏19 KB
    Add.vi ‏23 KB

  • How can we get an image of selected area of the front panel

    i am plotting some graphs and want a group photo of all those in one shot is it possible????
    n i want to get the graph coordinates on the mouse click.....
    i.e when i click on the graph at any place the values corresponding to it must be retrieved. how do we do that,,...
    i have tried with the labview help but didnt get any help
    help please????????

    Here's a start.  This will get the front panel image and display it as a picture indicator.
    You could use an event structure to capture the mouse clicks on the picture control to set the image area.  Then using the mouse coordinates (referenced from the image coordinates), you can get the image subset "Get Image Subset.vi".
    Message Edited by vt92 on 04-20-2010 08:30 AM
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

  • How to read updated data from a real-time generated file?

    I have a question:
    I want to read the 10 mostly updated data from a real time generated data file. The data in this file is accumulated. how can i read mostly recently data to an applet? and further to using this data to draw a real-time graph? pls help
    kelvin t.l. tse

    Hi,
    I think there is no "typical" way. You will have to define a convention on how the new data are stored into the file, so as to know how to accessthem. If new data are simply put at theend of your file, you may use a RandomAccessFile to read only those lines that interest you (the 1 final lines).Otherwise, you should at least know how the data file is written.
    You can know if thedata file has been modified with the File.lastModified() method. This retrurns a long value corresponding to the date and hour the file was last modified. Store that value ito you appl. and perdiodically (use a Thread), compare that value with the value returned by lastModief(). If both value are NOt equal, then the file has been updated
    it's all a question of knowing how the data are stored into the datafie generated.
    Be also aware that you will probably have problem when your java appl. tries to read the file at the same time it is updated by the other application. I guess when theother application writes data into the file, you will not be able to read it. So, use try{} catch statements and first check to see if you can read the file with File. canRead(). If not, simply delay the reading process by asking a Thread.yield() or Thread.delay (1000)...
    vincent

  • How to get rid of the reference lines on the front panel

    I forgot how I created a couple of horizontal and vertical reference lines on the front panel. It looks like the origin lines on the front panel. When I move my program to another monitor with different resolution, all the layout is messed up because of the reference lines can not change with the resolution. Did anybody meet this before? How to get rid of them?
    Attached are the 2 creen shot of front panels.
    Thanks in advanced.
    Solved!
    Go to Solution.
    Attachments:
    front panel.png ‏63 KB
    front panel2.png ‏42 KB

    You will have to click on the top menu and choose options see below
    when you do this window will pop up and you scroll down until you get to the front panel options. See below
    Tim
    Johnson Controls
    Holland Michigan

  • How to add new row and update existing rows at a time form the upload file

    hi
    How to add new row and update existing rows at a time form the upload file
    example:ztable(existing table)
    bcent                      smh            nsmh         valid date
    0001112465      7.4                       26.06.2007
    0001112466      7.5                       26.06.2007
    000111801                      7.6                       26.06.2007
    1982                      7.8                       26.06.2007
    Flat file structure
    bcent                       nsmh         valid date
    0001112465     7.8     26.06.2007  ( update into above table in nsmh)
    0001112466     7.9     26.06.2007  ( update into above table in nsmh) 
    000111801                     7.6      26.06.2007 ( update into above table in nsmh
    1985                      11              26.06.2007   new row it should insert in table
    thanks,
    Sivagopal R

    Hi,
    First upload the file into an internal table. If you are using a file that is on application server. Use open dataset and close dataset.
    Then :
    Loop at it.
    *insert or modify as per your requirement.
    Endloop.
    Regards,
    Srilatha.

  • How to get the position of the stem in control valve using slider control in the front panel

    I have created a calibration program for a control valve. Signal (4-20mA) is generated from labview using slider contorl which is given to the valve via DAQ(module 9265) and again the feedback signal from the valve is acquired using DAQ(module 9203).. . There is an input ISO/ISC(Increasing signal to open/ Increasing signal to close) in the front panel.
    ISO would set the output to increase from (4-20)mA further opening the valve
    ISC would set the output to increase from (4-20)mA further closing the valve
    I have doubt, how can i get the position of a stem

    Ravens Fan wrote:
    If the position of the stem is being sent to the PC through a 4-20 mA signal into your DAQ 9203 module, then you just need to do an analog input read in order to get the signal.
    When reading this post, that is what came to mind...  So let's see if both RavensFan & I are trying to understand the same thing...  Are you saying that the position of the stem is linear (or scaled) to the amount of current sent to it?  Meaning a 4mA signal would move it a certain distance, and 10mA would move another given / known distance?  Or are you saying that it is calibrated so that a 20mA signal for a certain duration (ms) would move it a given distance? So the scale would be time and not current unless a lookup table is used to adjust the time duration based on the current being drawn...
    It's just that I am not familiar with solenoid / drive devices that related to current..  To voltage, yes.  To time, yes..  To current, I'm simply saying that I am not familiar with that.  Can you tell us more about this stem (mfg / model designation)?

Maybe you are looking for