Contact a Subvi in a secondary

Hello

I'm creating an application in which I have a main program running under three - VI with their visible facades in sub-panels on the main program.

I want the main program to be able to send data to the Subvi for initiation settings where each message to each Subvi would be different and a common stop etc.  (it will be a group of initialization parameters and a stop ctl Boolean)

I don't know it's probably subjective, however what is the 'best' way to transfer this data to or from a Subvi, lacking access to the connector pane?  I tried currently Global Variables and method of Ctrl Val.Set and do not know what are the benefits of a more than another's? Or is it a better overall solution - I've heard people speak of notifies on globals, but do not know how this could be implemented without the connector pane?

Thanks for your time,

Mark

I generally use the queues and the authors of notifications when dealing with the sub-panels.  You can get a reference to a queue or the notifier without using the connector pane by plugging in the name Terminal on the function get.  I sometimes destroy the queue to force an error in high school to get out by an error state.  controlValue.Set is good for the initial values of the parameters before the subpannel is executed and could be used for the infrequent control changes. Controlvalue.set access to the UI thread and is relatively slow compared to the transmission of the data via a queue or the notifier.  If several values at once uses the property "reporter Panel" updated (set to true during the changes) to significantly improve performance.

Michael.

Tags: NI Software

Similar Questions

  • Drag-drop Subvi on selected secondary

    Hi all

    I have an application where the user creates a 'follow-up' layout by dragging the desired data from the tree. In the front panel, I have several sub-panels allowing users to drag & drop data to any as they wish. Attached VI indicates similar stuff.

    However, deleting data, I can't filter what school must be used (in the vi attached, I try to move the data to the two sub-panels but even couldn't handle success that is) should be used to determine what school should show the Subvi (in this case, it is a waveform graph)? Filter mouse events? If I use the mouse enter, I can't use the event filter to drop at the same time.

    How can I feed the data, that are generated inside the second loop, while in these sub - VI that I loaded to the sub-panels? I have to do in case of timeout I suppose, but how can I join the Subvi from there then?

    Ask if you need more questions. Sorry for any possible incomprehensible sentence above

    BR, Palazzo

    Well Yes, there are many different options to pass data to the slot - loaded VI. At some point, you need to store the reference to the loaded VI and use this reference to manipulate the VI. Here's a quick and easy way to make using a local variable of the table:

    It is not very scalable and it certainly has a disadvantage right off the bat. This table will always grow and never get more small, so you'll get overlap VI references. It should still work, but if you kept Drag and drop you would possibly have a memory problem. With a few adjustments, you can solve this problem (specific table indices may be designated for each school, so clear you always the current reference to this specific location of table before loading the secondary).

    FYI, your 1ms waiting is too small. Isn't that nobody have CPU for this.

  • How to view Subvi on the secondary monitor with remote panels?

    I try to have a Subvi, called from a VI hand open on a secondary monitor.  I use panels remote to control my main application, which is open in a web browser on the secondary monitor.  I tried to adjust the monitor properties VI - Position of the immediate window - to '1' and also tried to set this value programmatically by using the node property of front panel, but doesn't seem to work.  My Subvi always appears on my primary monitor.

    I use LV 8.6.1 RT and my application is running on a CRIO.

    I'd appreciate any help.

    Thank you

    Dan


  • extract data from a Subvi in a secondary

    Hello

    I am changing a huge existing vi-program (Subvi 300 +). Among other things, I want to change the main vi and the user interface. My main goal is to have a menu bar (listbox) to the left and the Group of experts to the right where the subvis are open whenever the user change the selection in the menu bar. With this, I invoke nodes.

    The challenge for me (and for you - if you agree) is to save the changes made by the user, so they reappear when the user to reselect this particular point in the menu.

    Secondly, I would like / need to extract the subvis settings (when the user makes a selection in the menu) to main vi so I can use the settings in the other subvis.

    Third, I like the Subvi, would open in high school or in run mode, the interface be interactive.

    I eat to a vi project, but I'm afraid that there is too much power of the computer and the memory when it should be able to call 30 different subvis. I also think that data extraction or the definition is somewhat awkward and could become quite messy when it is expanded. My solution for the interactive called Subvi is pretty simple, but I hope that another solution could appear during the debate.

    FYI, the program must be made executable at any given time.

    I really hope that someone can bring my some inputs or comments to my project-vi.

    eskrut

    You have a very good idea. I've used several times myself. But let's think things through a bit more:

    1. You want to be able to pass data between the modules plugin - which is a good thing.
    2. When you get this race, it would be another good and something useful to be able to reuse architecture. Reinvention of the wheel is a bad thing.
    3. If the UI knows what data looks like is passed between the screw plugin, it will limit your ability to achieve the Point #2.

    So let's take things a little further and say that the data transmitted between the plugins are given private plugins to hide the user interface (now to be known as the reusable application framework).

    In this scenario, the reusable application infrastructure has only one job: opening of plugins, their departure in running and put them in school. (ok, so that's three things - person is expected to the Spanish Inquisition).

    So, how do pass you data? Globals functional, databases, events, authors of the notification, depending on the details of what do the plugins, there are a lot of alternatives.

    Mike...

    PS: The event to manage the selection should have all the code to manage the plugin. You can trigger the event programmatically during initialization to get things started. Similarly, the list of selection options can be filled by programming when the application starts.

    PPS: now that reusable application infrastructure has so little to do, give some think other things he might have the time to do - such as the provision of a mechanism; standard error report to implement a standardized menu structure that plugins can cling to if they wish. or by providing some common on-screen keys that can be used by plugins.

    PPA: databases are a very good thing.

  • How to adjust the placement of the façade of a under VI secondary school

    OK, so I learned how to use the tabs and how to set of Sub VI in the tabs. Finally, I would like to change the position of the front of some of these sub VI

    because they are not laid out for my taste 
    What is the way to go?
    Thank you!

    by default, a VI loaded in a secondary will appear with the same position of FP only when you saved it last.  It is not often you want, and it's easy to move the public Service inside the window and forget that you change it.  But it should be good enough to go.

    a trick I use is to load the Subvi in the secondary with the same origin in each.  If the façade both the part he is in have their own contact information.  For the pane (which is normally the limit of the window, and this is the secondary limit) is the origin 0,0 in the upper left corner.  On the façade, are looking for a small point with the visible grid.  It is (0,0) on the PC.

    So what we can do programmatically is to use nodes property to set the origin of part of the façade:

    (LV2009f2)

    OK, so the food extract my constant, but there should be two 0 (I32) in this cluster.  Simply create a constant on the original property, and it will.

    B

  • The call of a Subvi without stopping the execution of the main thread

    Hello everyone, I have a rather simple demonstration VI, which opens a menu where the user can call a few screws, signal generation, reading and analysis, each contained in a Subvi and with their own front panel and chart controls. The idea is user just click a button and the required Subvi is in charge, I use a structure of the event to ease.

    Problem is, after I opened an option, said Subvi hogs the thread of execution and does not allow for new bodies until it is closed (this is inside a while loop it is so logical, I guess), the queue of events and the next before Panel charges only after that I have stop the Subvi. I would like to be able to simply open the front panels and let them run in parallel, without them in the meantime another at the end, is it possible?

    natasftw is right.

    A high school is a "hole" in your main panel.  You "insert" a separate VI in this 'hole' and then you see the Panel of VI inserted through the hole and mouse clicks through the hole of the Subvi below.

    You will need to run the Subvi separately, even if - by inserting just can't run.

    Aynchronous call will begin a Subvi running and then return to the calling thread with the Subvi running in parallel.

    You can then insert the Subvi in a secondary, or let it have its own window, as you choose.

    There are examples of both techniques.

  • reference not valid error 1026 to the runVI call the hand method exe-> slot - VI-> secondary

    Hello

    I have a main VI who Subvi inside case structures put in place to show FP when called and be modal.

    These subVIs have a secondary that will pull up a call using RunVI method dynamicVI. The dymaicVIs is built using the constant application directory + name of VI to the invoke method.

    now the main VI is built in exe with the dynamicVIs in the list always included.

    When I run the main exe I get error 1026 VI reference invalid.

    Help, please

    Thank you

    Choose the layout of the 8.X file will change the path that your screw referenced are when you build your executable file.

    http://zone.NI.com/reference/en-XX/help/371361K-01/lvconcepts/referencing_files_in_applications/

    If you choose this option of layout, you adress just the vi you are calling where having the option deselected will mimic your file structure layout it is developing.

  • View the graph of Subvi to component Panel before the VI

    I have a Subvi, which manages the my main VI XY graph. How do the Subvi show graph in the face before of the calling VI? Thank you

    Perform an output terminal for your Subvi chart.  Lead to a graphical indicator on the main functional schema of your VI.

    Otherwise, use a main secondary on the front of your VI.  Load the front of your Subvi in the secondary.

    Or use the 'CtlValue.Get' method and the output of the method to a graphical indicator on the diagram of your VI main wire.

    You may also transfer the data to your main VI with a queue.

    There are many ways to do so, as you can see.  Seen the precious little information on exactly what it is you really want to do, it's hard to tell which is the best answer for you.  I would go with my first suggestion, however, as well the simplest!

  • Adding contacts in Windows Mail

    I am the administrator on my PC.  Have no harm to add to my contacts in Windows Mail.  Secondary accounts on PC cannot add contacts to their contact book.  They get the message "an unknown error has occurred during the execution of the action requested on this Contact".  Any idea?

    Hi Mark Go cards,

    Are a. you not able to add contacts at all?

    B. from when what happens?

    C. an error with the message code?

    D. recent changes made on your computer?

    Try this step.

    1. open Windows Contacts
    2. right-click anywhere in the right pane.
    3. Select "Properties" at the bottom of the list
    4. click on the tab 'Customize' on the 'Properties' page that opens.
    5. change the 'Type', 'Contacts' folder
    6 try to add a contact and check if the problem persists.

    Manage your contacts
    http://Windows.Microsoft.com/en-us/Windows-Vista/managing-your-contacts

    Previous post: the result.

    Bindu S - Microsoft Support

    [If this post can help solve your problem, please click the 'Mark as answer' or 'Useful' at the top of this message.] Marking a post as answer, or relatively useful, you help others find the answer faster

  • PCM 14 - update project Contacts

    For all my projects, I use the list of contacts for project. I updated a contact group to add a secondary number/address.

    Is it possible to update all or several projects to contain adding contact information already in the list of contacts for project, without manually enter for all projects?

    It is a tool that was written by www.morpheustechgroup.com. I know they sold since then, but I don't know who. An e-mail to [email protected] you will probably get this information.

    Standard WARNING: otherwise that as a customer of the Morpheus technology group I am not otherwise affiliated with them.

  • Data merge several people on one page

    I create a file of data merge to create a travelogue of emergency contacts. The previous file was done in Publisher (YUCK) and needs to be rethought. I'm trying to set up the file properly in InDesign to perform a data merge in which there are 3 contacts per page (one primary, secondary and substitute for each county in New York). See below

    Publisher File Screen Shot.jpg

    Currently, I can't figure out how to get multiple contacts on a single page. The way it is set up now, I can get information for a person to appear on each Board.

    InDesign Screen Shot.jpg

    Any ideas on how to help?

    You have the same problem with which I tried to help in this thread: repeat pages

    As you've found data merge InDesign really only merges a record of several sets of fields... OR (what you want)... multiple records to a set of fields.

    So what you need is just a set of fields; one. Follow these steps:

    And delete everything except the first page.

    1. Now, with emphasis on the page of the document (and not his mistress), choose Create a merged Document in the data merge Panel menu.
    2. Tab records the dialog box create a merged Document, choose multiple records in the accounts rendered by menu Page of the document.
    3. Check the box saw several shot record.
    4. Switch to Multiple record layout tab and set the controls to set folders as desired (3 per page) while previewing in real-time.
  • Load a component of a Subvi in secondary of a hand of Vi

    I know it's possible to load all the Subvi in the subgroup of experts, however, is possible to load a component or an individuall chart a subvi in the vi secondary main iti?

    I think you can stop it by focusing on the "sub", just put any VI in a secondary school. You can just put a VI in a secondary, nothing else.

    Your problem is maybe just for the redesign of your initial VI to also have a sup Panel which includes a VI showing that your chart VI you will be able to put in any school of different voluntary initiatives.

  • subVIs does not function when it is called by main secondary to vi

    Hi all

    I have a main.vi that loads the façade into a secondary four subVIs when selected. Like most applications, everything works fine up to come to build the project (.exe). Program works as expected when run it from .exe but when all the vi.lib functions (for example reading png Subvi) is included in one of the subVIs called, the façade is loaded correctly, but the Subvi is not running and the invoke node (perform a VI generates error 1003).

    I've included the subVIs in 'Always include' in the specification to build under the heading Source files.

    Help, please

    Thank you

    I made a significant change to your "called" sub - VI (I created an icon for it - you'll see why it's important in a minute) and again your main VI.  This code snippet is saved in LabVIEW 2015, but it is simple enough that you should be able to recreate it in any LabVIEW version you are using.

    I like to use references static VI (the first thing on the block diagram) because, especially if they are associated with a Subvi with an icon, they provide a mnemonic, robust and easy to get a lot of useful sub - VI 'properties' (for example the path) without worrying about the execution environment.  In particular, they work very well with the Start function Asynchronous Call, I think it's much simpler to use than the VI server method.  I'll walk you through it...

    1. Start with a static reference of VI to the Subvi to run asynchronously.  If your Subvi has an icon, it will appear (as shown here) in the body of the static VI reference, which makes it slightly better documented.  Notice the Red Star on top of the static reference - which indicates a reference strictly - type (right click and choose strictly typed), you need to the asynchronous call start.
    2. This reference gets first wired to a property node - the unusual appearance of the node ('VI Interface Type 2') comes from the strictly typed reference.  We choose the Path property.
    3. The path gets plugged into an open VI reference function.  Because we use asynchronous Start Call (Forget), we specify Option 0 x 80 (glance using reference VI open for further explanation).  We also wire the Strict Type of step 1 at the entrance to this function Type.
    4. The VI reference resulting is wired to Start Asynchronous Call, which starts the called sub - VI.
    5. We also spend it to Insert Secondary VI method, which shows the sub - VI running in the Sub panel.
    6. Now, we interact with the sub - VI in the Sub panel as much as we want to.
    7. In the main routine, we now run the while loop, waiting simply Stop pressing.  I placed a 100 msec waiting here to give priority to the Subvi.
    8. When leaving us, we remove the sub - VI of the Sub panel, he abandoned and get out.  I see no need to put a function exit here - if you want to automatically close the main façade, just do it.

    Bob Schor

    P.S. - I've tested (LabVIEW 2015) and it works fine.

  • Opening Subvi in secondary and manage events

    Hello

    I'm trying to run a code where I have a "hand VI" with a header and a secondary. I change the value of the selector in the header, the secondary should show a Subvi. In the Subvi I buttons that will generate random numbers for indicator 1 (slot 1 - VI) and for indicator 2 (2 slot - VI). The idea is, as I push the button for the generation of random numbers, the indicator will be updated even if the Subvi has currently shown in the main VI high school is not the one that contains the indicator which will get the new random number.

    I created the cluster of references (type strict def) to make things easier. Find attached a zip file. Decompress all the files in one folder and run the VI.vi initialization file. An error message (1001 - front panel is not open) will pop up and the hand VI.vi doesn't open, that it could supposed to.

    I changed 'Appearance of windows' by default, dialog box etc and almost all tried, but I don't get the desired result.

    Of course, this code is just an example to show what I want to achieve, that is why it is so simple.

    Thank you all.

    Dan07.

    You definitely need this structure?  Normally I would expect main to be the top-level VI and initialization to be a Subvi.  If you are not restricted to this particular structure of the VI, you could perhaps describe the effect you want to achieve and let others think about how you might accomplish it, rather than describe the desired implementation.  For example, in your current structure, you know how much possible subVIs you can embed in the secondary.  Given that, it may be easier to place a control tab on the main façade and hide tab selectors.  Assign a single page each slot - VI - either integrate a Subvi to each page, the controls for each page that correspond to those required by this Subvi is implemented.  Use the enumeration as the tab selector.

  • Subvi in secondary

    Hello

    I have a program works well, but when I loaded from a higher level of a panel of sup

    Display FP but orders does not seem to work

    a way on how to get the same behavior as the direct use?

    Concerning

    Tinnitus

    Hello tinnitus.

    Her VI "insert" invoke node loads only the façade of a VI in the Panel, it does not actually the VI.  That's why loaded in the secondary interface does not work, you must also run VI.  You can either run it statically by as I did in your example I am reloading or you can call it dynamically.  See the examples in the Finder of the example, there are 3 decent examples that show you how all the screws dynamically.

Maybe you are looking for

  • Satellite L20-119: need a SM bus controller driver

    Hello I still have an uninstalled component called SM bus controller after installation of XP prof, satellite L20-119. Tried the toshiba to the bottom of the page load, but could not find a driver named SM bus controller. So a certain could clarify t

  • Start game from Taipei of WEP original games under Windows 7 (64-bit)

    I have a new 64 bit Windows 7 pc and will not play the game of Taipei since the original games of WEP.  Win7 reports that this game is not compatible.  This game is great on my previous 32-bit Vista & XP pro systems.  I tried different compatibility

  • Not able to install windows xp SP2 or sp3

    Hello Initially, I tried to install windows xp service pack 2, but got an error.I have a solution for this in the internet and applied forums following the steps as suggested. ---Click Start, run, type the following:regsvr32 licdll.dllClick OK, then

  • Why my sansa clip itself turning on and off

    When I turn my Sansa clip with side switch, it waits 2 seconds then turns back on itself. After 15 seconds, it is empty, but then after about 50 seconds it starts again. The only way I found to save batteries from the apartment is to run to the last

  • Restore system to a Pavilion 304w disc

    Hello, I am renovating a HP Pavilion 304w for the original owner so that her daughter can have its own computer for school.    Apparently the system disk that came with it is long gone.     I spent time and money on modernization of this machine, I t