Subvi front bearing

I developed an interface for monitoring of experiences, but require a separate VI of control of pump equipment. The problem is that I've implemented the pump VI as a Subvi is called from the interface of surveillance with a button. After the call to it, I want an another button press to display the VI pump forward if open, if it isn't I would like to reopen it.

Thank you

I guess I misinterpreted what I said earlier. It is irrelevant whether or not you have a thread of error. This happens because your main VI will not continue execution until your Subvi. Run with peak performance, you will see. You must call your VI using a node to invoke as if and also a node for the fp.open method invoke (not shown). Set to wait until done to false.

Tags: NI Software

Similar Questions

  • Open and close the Panel the Subvi front

    Hi all

    Run LabVIEW 2011 on Windows 7 x 64.  I am trying to get a Subvi front to open from my main PC with the touch of a button, then close with a button press in the Subvi.  Here's the piece of my main FP who calls the VI and opens the FP

    Locations is defined in another loop and all loops are in a flat order.  I made this way because I want to start with the first press and not stop my main loop to run.  So I don't know if I can run in the same line as the event or not, I've moved the element to the left loop around a lot.  Anyway the VI of openness seems to work very well.

    The problem arises when you try to close the Subvi for the SECOND time.  The code is here:

    As I said, the first time I open and close the VI everything works as it should, hopefully.  Then, I am able to reopen but now 'empty' button does not work and I can't close the window or even to open the block diagram to probe anything.  I tried to understand this point for a while, any insite would be greatly appreciated!

    Thank you

    Found my problem, I had the wrong boolean on one of my other events.  If this seems to be a good way to open/close a Subvi if anyone is interested!

  • Open Subvi front shows its current state

    Hello

    I have a Subvi in my MainVi which calculates and displays things continually. In the MainVi, I have a button which, when pushed should open the Subvi front panel and display what ever he did at this point in time.

    I am able to simply display its façade but not able to display the calculations he made.

    Thank you.

    H

    If you your not reentrant VI, you need to change the input reference VI open to match options. You have specified '8' and as explained in the help, it will generate this error if the Subvi is not reentrant.

  • Reference to the control on the main façade fails the Subvi front is closed?

    Hi all

    I meet a strange bug. In my code, I use a Subvi to control a piece of hardware. The Subvi has commands for all functions of my hardware.

    I changes the value of one of these controls in my main façade by running a reference to a button on my main façade in the Subvi, grabbing the value of the button with a property node, then update the value of the Subvi control using a node property signage.

    This works very well when my Subvi front is open, but does not work the Subvi front closing.

    I am new to labview, so any help is appreciated.

    Thank you

    Rachid

    This event triggers a series of writing for the real hardware. The material is sent only a command when something changes.

    My code is made up of handlers inside functional global variables. In this way, I can send different parts of code of different orders (example: reset and reset) with the events generated by programming.

    The value of the wheel of the page main itself, according to my probes, getting through. It's the Subvi button that is having a problem.

    I work under a certain pressure of time pretty important, so I managed to convince the boss that the front panel of the Subvi open does not violate the requirements of the application. I guess this has solved my isse.

  • Update of already opened the Subvi front

    Hello

    I am creating a message from the user who is being updated so that the countdown of the time not yet finished. Its façade must remain open until the press of the user "Ready".

    Can I do without reopening the façade in the loop (during the call to the Subvi) again and again, but the only update on front panel of the Subvi already open?

    Can I use a refnum at the Subvi somehow?

    Thank you

    Something like this should work.

  • Open the Panel front of the Subvi, which is called by reference in the EXE

    I want to open the façade of a Subvi when it is called. This sub - VI will open the façade of a Subvi third level. So, I want to go back to the main.vi the output of the subVIs.
    I can do successfully in the development environment.
    I call on the reference asynchornously screws. If the screw load when they are called and the calling VI awaits the release of the subvi.

    I am attaching the screenshot of the window subVIs properties customize.

    When I build the application, the executable file could not be opened the Subvi front panel, even if the paths of the subVIs are related.

    I also put the subVIs in the field "Always included" the build properties and the box "Remove front panel" is not selected.

    I join the project and screenshots of the parameters.

    If you had used the dialogues of error, you would have seen the paths of access to the VIs you build are not valid.  The screws are always included in the EXE file, so you don't have to do any special stripping of the VI EXE path.  A fake wire to your case structure determine the path, and it works perfectly.

    Just dual-band is the path if you try to get the EXE directory.

  • Outsourcing of the controls on the front panel for a panel floating Subvi

    Hello!

    I already found a few similar topics, but I still don't know which is the best way to solve my problem. I will try to describe my problem in detail first: I have a main VI that acquires data from a device and displays these data in a large waveform graph. I have also a few controls on the front panel to control my device. First, I placed all of these device controls (digital, sliders, etc.) as well as the chart inside the front of my main VI. However, due to limited screen space now I would like to make the largest possible graph and so decided to "outsource" some controls out of the main façade of VI to several panels front-end Subvi.

    I would then press a button in my main VI and it would open the Panel before the floating of the Sub - VI corresponding with outsourced controls when required. However, everything must be absolutely transparent. It is important that floating panels to run in parallel with my main VI, that is the main VI must continue to operate. That way I'll have my data constantly updated in the chart in my main VI while I can change some settings of the device through the controls placed in my SubVIs. These changes will be immediately applied (for example as soon as the main VI calls this slot - VI in its main loop).

    It is important to the visibility of the outsourced optional control panel, i.e. If the Subvi front panel opens with the user that it will pop up and the user will be able to change the paramers device using the. But then the user should be able to close the front panel (hide) the Subvi to see the entire chart again without the Panel floating in front of her (of course control values must be maintained when the Subvi front is not visible). Then the new button is pressed in the main VI that opens the dialog box not modal Subvi containing controls and it can redefine new values of device.

    Advice how to do this are welcome. I don't know if I need something complex like VI server or asynchronous screws or I can solve my problem by changing some settings simple Subvi? Thank you in advance for your help!

    Best regards

    Anguel

    AStankov wrote:

    How about using a global variable for the VI at VI communication instead of a queue?

    A global variable will, also.  Write you in one place and read the value frequently to somewhere else (in the election). So you can see easily to any value change.  However, mark will waste a lot of time processor.  This is why I have proposed to use a queue or a notification utility.

    AStankov wrote:

    Would be the last option that you mentioned, i.e. finish the Subvi at each change of value, I would keep the Subvi front open as needed until things from the user to hide? Or would there be inevitable flickering Panel or any other drawbacks?

    Yes, the Subvi can keep the façade open until the user closes. And there should be no flickering.  The biggest drawback I see right now is that when you expect an event in the Subvi, the mainVI cannot stop without talking to the Subvi to stop.  So you'll need another channel of communication (again a global, a queue, a declarant or an event) to tell the Subvi that she must stop.

  • Run Subvi dynamically

    I read a lot of post on this, but for the life of me I can't figure out how to do this.  I want to do is create a pop window of my main vi that is currently running.  Pop up to if poster select indicator values but in a zoom State so they will be visible from a distance.  So I need the values in the pop up for update with main vi that is running.  An attempt, I did the information gathered from messages is attached.  The problem is that the Subvi front is not displayed when the zoom button is pressed.  There seems to be a problem with how I'm passing the reference to sub - VI.

    First of all I am doing this correctly?  Secondly, how can I connect my reference in primary vi to the Subvi?

    Thanks in advance

    Terry

    Here is a photo illustrating what nathand said you:

    I added the ' FP. ' " Open in the Subvi method, but as he says, you can do it here or in the main VI.  I like to have in the Subvi, so that the user can click on the 'X' to close the Subvi Panel instead of click on 'stop' red) and the Subvi ends always correctly, but it's a matter of personal preference.

    He has a good point about the reentrancy.

    I also prefer to use queues or the authors of notifications to pass data between the screws, instead of control references, but it is also a matter of personal preference.

  • Showing the façade unqiue for several instances of appeal Subvi

    Hello

    I have a Subvi, which resembles a table 2D data and graphs of the plots.  I call the Subvi and he opens the subVIs Panel to display plots.  Now I would like to put the Subvi in one for a loop and call several times with various 2D charts.  I'm trying to figure out how to make multiple instances of the Subvi front panel appear. Essentially a front for each table 2D.  All I can get it to do is to open and close the user interface for each Subvi call and for the last table display the user interface for the data.

    I tried to make the VI reentrant and selected the option pre allocate the memory for each clone.  Maybe it works, but I need the front of each Subvi call to stay open.

    Thank you

    Gary

    Thank you both for the help.  I used the open VI of reference and call by reference and created a strictly typed reference VI to call the Subvi dynamically.  Is attached a screenshot of the block diagram.  The link below has guided me to created the strictly typed VI reference required by the "reference" entry of the reference function call.

    http://zone.NI.com/reference/en-XX/help/371361H-01/lvhowto/create_strict_type_vi_ref/

  • Control of first level VI by using controls Subvi indicators?

    I'm still learning LabVIEW, so apologies if this is pretty basic.

    I'm trying to declutter the façade of my main VI by moving some controls less frequently used in a Subvi. The idea is that when the user wants to set these controls:

    (1.) the user presses a button on the main VI to launched the Subvi front.

    (2.) the Subvi front opens and the user adjusts the values of controls Subvi.

    (3.) the user presses a button to close the Panel front of the Subvi.

    Ideally, the relationship between indicators of higher level and the Subvi of control must be the same when all the controls and indicators have been on the main VI - i.e. when the user plays with the controls in the Sub - VI the main VI must always be running and its indicators should respond to changes on the Subvi real-time controls.

    I guess it's possible, I'm not sure that eactly how to build this relationship between the main VI and the Subvi.

    I just need a little nudge in the right direction on this one, thanks!

    Mike

    You must create references to controls in your top level VI and pass them in the Subvi.  Then have the Subvi write property as the value nodes using these references.

  • Problem running Subvi after construction of .exe

    Hi all

    I've seen much related to this topic but you have not found anything specific to my situation.

    I built a simple wrapper to launch different Subvi depending on whether it of Saturday or not.

    The vi works perfectly well as a vi in LV2012. But when I build the application, run two cases-in other words, both Subvi front panels appear and I get a message warning me that I can't run multiple instances of the same Subvi.

    I hope it to be run true or false case and open the correct Subvi once and be done with it. Not sure why both trying to run more than once only after I have build the application. Ideas?

    I thought about it when I went to go back and create a sample project to download for you (which worked fine).

    Has proved to be a mistake in the original specification, I did. I accidentally included the vi in the structure of the case as a source of start-up files. They opened the performance, then we tried to open again after the code that was not allowed due to restrict re-entrant execution, giving me the warning.

    I corrected the issue in new versions by resolving to drink more coffee beforehand.

    Thanks for the support!

  • Subvi event management

    Hi all

    I register an event (change in value of a boolean array) in a Subvi.  I connect the refnum with connector dynamic event (event loop) the in the top-level VI.  If the loop is triggered when the Subvi Boolean change table.

    It works well if the Subvi front is open.  I don't want the Subvi running with the open front.  Can someone help me understand what needs to be done?

    Thank you.

    This is the expected behavior. I would recommend that instead of using the value change event, create your own user event. Then have your Subvi raises this event when it changes the table. The structure of the event in the calling VI will receive your user event and take appropriate action. Based on a value change event is not the best way to do this kind of things. An event using user contributes, to separate the user interface from the processing tasks. It is a good design preferred because it is more flexible and easier to change one side or the other. As long as the event data are composed, you are free to change or put in work.

  • Subvi display is not updated is open

    I have a USB data acquisition application, I want to put all the graphs on a Subvi front.  When a user clicks on the button "Chart" on hand Vi, the Subvi should open and keep up to date while it is open.  But I can't the Subvi to update when it is open.  It's a program that I wrote to simulate the problem I attached.  The second loop in the VI main will not run as long as the Subvi is open, that's why the new data are not withdrawn.  Can someone please take a look at my code and see how I can solve this problem? Thank you.

    Here is a very primitive example that illustrates the main idea. Remember, you do not need to query the queue. Just wait for the next item (always!). The loop stops once the queue is destroyed.

  • Open FPGA reference FPGA VI

    I'm learning the FPGA.  I have a few simple question.

    1. I tried to use the open FPGA VI reference configuration.  I selected the file bit on my PC, and I checked the run option VI FPGA.  Why I select the bit file on my PC?  The file bit is not supposed to be on my FPGA target?

    2. once I open FPGA VI reference, I fed to an invoke node, but it won't.  It is said that the sources and sinks have given different type, but he also says that they are both FPGA interface.  I'm a bit confused.

    Please see attached picture.

    jyang72211 wrote:

    1. I tried to use the open FPGA VI reference configuration.  I selected the file bit on my PC, and I checked the run option VI FPGA.  Why I select the bit file on my PC?  The file bit is not supposed to be on my FPGA target?

    Not quite sure what you're asking here.  A FPGA target has no local storage.  When you open the FPGA VI reference, LabVIEW support the bitfile on the FPGA.  The VI that calls open FPGA VI reference is one that opens the bitfile, the bitfile must be local to this VI (in this case, on your PC).

    jyang72211 wrote:

    2. once I open FPGA VI reference, I fed to an invoke node, but it won't.  It is said that the sources and sinks have given different type, but he also says that they are both FPGA interface.  I'm a bit confused.

    The FPGA reference on the Panel before you must match the configuration of the reference that you're passing to it.  Right-click on the front panel control and configure the FPGA reference to point to the same bitfile you open.  Better than that, bind the FPGA VI reference open to a Type definition and the place that the category definition on the Panel the Subvi front.  Note that if you do this, it works at the back of what you would expect.  Update of the baseline open FPGA VI changes the type definition; you never directly change the type definition.

  • Euler integration back

    Hi all

    I am writing a VI to simulate the response of a hydraulic system. Most of the program works perfectly, but some sections require integration which has proved to be a problem.

    I tried to use "Digital Integration.vi" and wrote a Subvi front of Euler, who both fail to converge the nature of hydraulic systems. It seems that the rear Euler integration is the solution, but I was unable to find a way to implement.

    I tried to evaluate the module "Control Design and Simulation", which has a range of integration methods, but the module itself seems inappropriate.

    I was hoping someone would have a better understanding of the equations than me, because the rear of Euler implicit character causing me difficulties.

    Edit: I have attached an extract that I used to test possible solutions. It provides data tests and compares the result with the value I aim, which was generated using different software.

    Thank you

    Cameron

    Hi CamW,

    You can do the rear euler integration in labview using integrative funtion discreet from the design and simulation of control module, as shown below:

    Thank you and best regards,

Maybe you are looking for