Dynamic front

Hello
I'm working on a VI that will be used to control a number of cars and RC Quadcopters.
VI Gets the amount of tools tracking vehicles, then executes a loop and learn for each vehicle if a quad or a car.
Now that this step is completed, I want the front panel to display a line of control and indicators for each of the vehicles and have a different line for quads or cars (that is to say for the quads, I need indicators for x, y, z coordinates and a 'take-off' button, while for cars, I need indicators for x are coordinated as a speed limit control).
Is there a way to create the façade dynamically according to the entry?
the best way I have found so far will use the invisible tabs, so I'll have a tab for each number of vehicles containing said that the number of lines, each line would be then two tabs (car/quad) and the tabs to view would be picked up during execution.
The problem is that I would have to set a maximum number of vehicles and it would take a lot of work if I will introduce a new type of vehicle, so I'd rather have a more modular system.

I'd like some fresh ideas on this issue.

Thank you!
Shayelk

shayelk wrote:

looks great, I'll try it!
In the example that you have attached the various controls are displayed in a number of windows, is there a way to display them in a single FP?

Thank you!

Yes!

Use the sub-panels.

I guess you're LVOOPing class "RC vehicle" with children's classes of 'RC car', "RC Plane", "Submarine.Yellow"... etc. RC?

Just dynamically methods 'vehicle control RC' shipping in a school.

OK, 'JUST' is an oversimplification, but that's how I would look into if it was my project.

Tags: NI Software

Similar Questions

  • Is there a more efficient way to use the visible property node to make the inactive/hiding controls on the front?

    I just inherited the labview code to run a system of imaging optics mamography.

    It has 32 sources 128 detectors and 2 games of light and the user has the possibility to control the parameters of gain for each sensor to each source for each source of wavelengths, so as you can imagine there are a lot of orders and LEDs on the front panel.

    The user also has the possibility to choose the number of sources and that they would like to use detectors.  v: * {behavior:url(#default#VML) ;} O'Bryan: * {behavior:url(#default#VML) ;} w\: * {behavior:url(#default#VML) ;} .shape {behavior:url(#default#VML) ;}}}} Normal 0 false false false MicrosoftInternetExplorer4 / * Style Definitions * / table. MsoNormalTable {mso-style-name: "Table Normal" "; mso-knew-rowband-size: 0; mso-knew-colband-size: 0; mso-style - noshow:yes; mso-style-parent:" ";" mso-padding-alt: 0 to 5.4pt 0 to 5.4pt; mso-para-margin: 0; mso-para-margin-bottom: .0001pt; mso-pagination: widow-orphan; do-size: 10.0pt; do-family: "Times New Roman"; mso-ansi-language: #0400; mso-fareast-language: #0400; mso-bidi-language: #0400 ;} "}

    Depending on how many sources are entered labview code through a loop For which in fact a 'smooth box' visible or invisible, on the adjustment of gain control depending on whether the current detector is greater than the seizure of the number by the user.  This loop slows down the program because it works 128 times (max number of detectors) and has 4 structures deal (2 sets of wavelengths, 2 for each breast) with 64 nodes of property each where it is visible property to enabled or disables the box with that covers the detectors.

    I was wondering if there was an easier way to enable or disable controls for unused detectors, not only that slows down the program but to reconfigure the data to use more sources, I stop the program and restart it.

    Any advice on the creation of a dynamic front would be appreciated


  • Using the dynamic keyword in front of a class

    Hello

    I have seen a few examples on Flex, where when you create a ValueObject with ActionScript, they specify the dynamic Word before

    the class.

    See, for example, the code below.

    public dynamic class Employee
    {

    private var name: String;

    private var age: String;


    public void Employee()
    {
    }

    }

    Thank you.

    If your question is probably what is the dynamic keyword?

    Flex 3 livedocs is your friend: http://livedocs.adobe.com/flex/3/html/help.html?content=03_Language_and_Syntax_10.html

  • How to make the button whith a dynamic textfield on the front?

    Hi, can anyone help?

    When I put a dynamic texfield in the face of a button, it blocks the action.

    If I include the textfiel in the button, I have can´t change the text later.

    Thank you!

    disable your button mouseChildren property.

  • Can I probe a member of class reentrante clone dynamically shared a reshipment vi?

    Please, there must be a way.

    Currently, I am forced to change the execution not reentrant VI, to debug and then go back to running reentrante shared clone.  Of course, there is a reason, so it's not ideal I on re-entrant execution.

    Any ideas?

    AnthonV wrote:

    It seems there is no way to probe an overloaded dynamically dispatched Member vi if it is reentrant?

    No, it's easy probing such a VI, If you can open the front panel.  You cannot open the FP in the usual way, but there are several ways to do so.  Putting a breakpoint in the "original copy" of the VI will also breakpoints in clones, forcing them to open their public Service.  Also, try clicking the Subvi and selecting the menu option "call Subvi Setup...". ', then 'See the façade when it is called' (or do it for all the clones in the VI properties).  You can also use debugging tools "Step by step" to "enter in" the Subvi call.  And VI master, you can select "view > navigate relationships > incoming points" to open clones.

    Additional caveat: unless your on in real time, in which case ur stuck.

  • How to view the last element in a dynamic table 1 d

    Hello..

    I want to display the value of the last element in a dynamic array 1 d... / I mean... If I stop the vi race, I need to display the last element of the array... How can I do this?

    and is it possible to use a button to start the vi... instead of using the Run button on the face before of the vi?

    An array of index!.  Size of table allows to determine the size of your array, subtract 1, that feed into the terminal array of Index index.

    You start the VI running somehow.  It can be assigned to run when opening.  Assuming that what you want is a way to type values in a front panel, press a GO button you created on the front panel, then have the real part of the VI to run.  You can use a structure of the event.  Or put a while loop at the beginning with a small wait next statement which basically just asks the GO button.  When you press this button, the Boolean value true stops the whole loop and allows the program to move on the main body of your program.

  • Dynamic screen low level Sub vi high-level VI main road

    I have a program VI that inturns calls a lot under vi mode step by step. I need to display the path of lowest level vi in the top level vi main. (here in my program, I have 3 levels of void / vi) and I need the path least void level vi to be disaplyed on the façade of the main vi (constraint: I should not hardcode the path), the time particular VI is selected. The other constraint is that the path must be posted before the sub vi runs, (reason: I need to get the path before, dynamically, such that I can view the slot front of the vi in the main vi Panel pane Panel) the raison d'etre to display exectuion of lowest level under vi... Y at - it an option in Lab mode that allows this feature. I also tried reference variable, but it displays only after that the VI is completely executed. Help, please! Thank you..

    I wrote code examples to explain what I meant in the previous post.

    The only catch is that you must know the name of the Subvi low level before you run the highest level Subvi.

    If this isn't the case, you might get away with reading the name of the Sub - VI low level of an indicator of the (default) string at the edge of the Subvi toplevel Panel using 'get command value' invoke node or something.

    I hope this helps.

  • Return of dynamic loading vi loses focus

    Following the example of NI Loader.vi dynamic, my vi charge, runs and returns properly.  Howerver, when you use the same code to call from my main program, vi of the same load and runs, but in return, emphasis is not on the original vi.  A click of the mouse on the screen is necessary for the development of restoration.  Given that my program is heavilly keyboard based, it is a nuisance, and users may think that the program froze.

    Looking at the appearance of the window, showed that, in the Example.vi of dynamic load display front panel and narrow Panel have been verified.  These were not checked in my program.  When activated, this seemed to solve the problem.

    It seems that the first vi needs both to take focus on return of a vi loaded dynamically.

    Thanks for the tips.

  • VI front panel does not close when it is done executing, when this vi was called by reference.

    I created a simple vi set to indicate the problem I'm having. I run dynamically under vi to leave a main application. Simply the main application is my test exec and the Subvi I call dynamically is different tests. In the example I have write here the criterion vi is called Test electric 1(vi). I configured this electric Test 1 vi to see the front when it is called and close later while initially closed.  Problem is that it doesn't close before.

    Other things to keep in mind

    • I want to be able to run the vi test and do not wait until it is done.

    I'm using LabVIEW 2012 SP1.

    Basically the fence after that call questions only if the VI is called as a Subvi (as if you open you a VI and run it, it does not close when it's done).  Are two ways to work around this or have your app high lvl close the VI when it's done, it's explained here:

    http://digital.NI.com/public.nsf/allkb/987B2026B41BD39786256CF800032E8C

    or having your VI close when it's done.  A reference of the VI and the front panel: Close call node.

    I hope this helps.

  • Why can I not use Get LV class Default Value in a dynamic VI?

    I'm trying to substitute a VI that uses 'Get default class LV value' and get an error that I do not understand.  My parent, 'Message class of ANT' class, has two children - "Class ANT from the command" and "ANT-class response.  Children participate a lot of data and features, including the factory pattern that implements 'Load Message class' VI of the superclass (see image).  I would replace this VI with a version of command and a version of the response, which would simply call the version of the Message with their respective classes of the substitution of dynamic input and output terminals.  However, I get the error "Front Panel"ANT Out class Message"Terminal: type of execution do not spread of dynamic input to dynamic output.»

    Don't know how to get around it.  Any ideas?

    Thank you

    -Jamie

    That sounds like a strange thing to do - what you will do is to return the default value for the entry class. What is the reason for the class loader of the disc? You SHOULD have already loaded the class in memory, because the output type MUST be the same as the input type (this is a requirement of dynamic distribution work, because the error is telling you). Since you already have the class that is loaded in memory, there is an easier way to get the default value: wiring a loop For iteration 0, and the entry class through wire directly to the output class, with tunnels on the inputs and outputs (NOT shift registers). As the loop never executes, the output is the default value for this class (see https://lavag.org/topic/15354-testing-for-the-same-class/#entry92502).

    Replace "to more specific class" with "class of Run-Time to preserve" will also work, but still, I can't understand why you try to do it at all.

  • Dynamically short VI of the executable

    I try to run one of the screws of a source distribution that is outside the main executable file. When my program is not an executable (only source code), everything works fine. But the VI does not run when it is called executable, unless I open the front panel of the VI before running the EIS.

    Is it possible to run the VI without actually opening the front panel? I can probably hide after that opening but it would be better if he never shows up.

    abdel2 wrote:

    [...] -Now manually open dynamic Vi.vi. You will see that it is not executed. [...]

    And this is expected behavior. The reason is simple: you open a new vi, not that what we called the executable.

    LV uses "Instances of the Application" in order to distinguish between the different contexts of execution.

    The executable is running in another instance of the application then the VI in the development environment.

    If you want to transfer data between the development environment and exe, you must follow the instructions of this KB.

    hope this helps,

    Norbert

  • registration of dynamic events - FP not in memory?

    Hello

    I have the problem that I do not understand the event registration Dynamics trhw.

    In my application, I have multiple threads that are initialized when the application starts and I switch between them using secondary.

    In one of this module, I want to register some dynamic event to find whitch controll cluster has been pressed.

    Why do I get error 1001?

    I have a static reference for all modules in the main thread. I start modules, but I don't open their FP.

    Well, your image is confusing because you cannot run without wiring this reference.  But if you did that then the error comes from the fact that your VI does not have a front that is open when you sign up for it.  So that the control reference isn't really exists.  I mean there are but you cannot reference a control that has not been opened.

    I think that what you want to do is open the front panel, and then set it to hidden.  Then after that the front panel has been open and hidden, to join the control event.

  • Functional global variable home (RFGV) is cut off by the controls on the front panel

    Hello

    I though that I had found the ultimate way to dynamically manage memory in a system of Exchange. I read on RFGV here: http://labviewwiki.org/Functional_global_variable and put together a static FGV normal to follow the references for each created instance of memory which I then could easily remember just by name. But now I found that all the RFGV completely stops whenever a front panel with a menu control is used, i.e. 'enum', 'ring' or 'control path. I tried to put in different delivery systems, but not luck. I read about that guy who could have fallen into the same problem: http://forums.ni.com/t5/LabVIEW/Do-I-need-to-use-a-semaphore-when-reading-writing-a-functional/m-p/1... but he got no help what I could see.

    I have not tried semaphores. Don't know what that is. Check my little test code and tell me what I am doing wrong. Or maybe there is no solution in this case I have to abandon the idea of the use of RFGV for anything. Maybe memory held all the VI will be assigned statically.

    Run the code (in LV2009) and watch the 6 LEDS Flash. Then click on anyone of 'enum', 'ring' or 'path' (the file dialog box) and watch off LED when dynamic memory is used to write or read while the continoues to static VI.

    Any suggestions?

    Best regards

    Kai

    If the memories are good, what you're running against is not the user interface thread, but an internal mechanism of LV called the loop of the root, which must run in some things. Specifically, in your case, the method run a VI and showing a menu (a menu real, or a context menu of a ring).

    You can work around this problem (and greatly simplify your code) If you use the call node of the reference instead of the method to execute a VI, but I wouldn't recommend it anyway, since I assume that your code is not what you think it does. In LV memory management can be quite complex if you want to be able to control it, so if you feel you really need, I suggest to start by searching for existing materials on the management of memory in LV

  • Lock the front until the end of the matter of events for this event

    A filtered event is a dynamic event? This is why "lock the front until the end of the matter of events for this event" does not appear on the dialog box edit the window tΓche? I use dynamic events so I can Subvi the structure of the event.

    I need stop my app does engage the FP, whenever the user double-clicks the (value of digital painting<-- the="" fp="" freezes="" the="" mouse="" and="" renders="" it="" useless)="" and="" stops="" the="" value="" from="" ever="" being="" changed.="" this="" event="" is="" registered="" for="" value="" change="" (not="" mouse="" up="" or="" down)="" and="" i="" get="" a="" locked="" mouse.="" as="" yet="" in="" the="" ui, no="" value="" changed="" occurs="" but i="" get="" a="" locked="" mouse.="" a="" lv="">

    Trying to FUCK, I can see this solve this by moving ONLY the event changes its value to the top-level VI instead of a dynamic event recorded in a sub - VI. This will give me the possibility of NOT 'façade blocking until the end of the matter of events for this event ".

    For dynamic events, you must click on the node for event registration (when the event is actually registered) and choose to not block the FP.

    Yes its not easy but its there.

    Ben

  • Question about the Manager of messages in queue and dynamically load/close Subvi

    Hi, my dear LV users

    I learn how to use the machine in queue Sate Architecture. I created a simple project, including a "main.vi" to dynamically load a sub vi 'sub_Vi2.vi' in the case of "initialize". The sub vi simply open a configuration file and load affecting some control and write these values in the configuration file. If the configuration file is not created, the sub vi creates until the user closes the Subvi.

    In the case of "Get out" of my "main.vi", I send 'true' to the Subvi stop button to stop running it. But the sub vi did not write these values back to the configuration file, or created a new when I delete the configuration file.

    There is another vi I made 'main1.vi', which loads dynamically and close the Subvi. And it works as well as I expected: create the file and write data!

    Can someone help me understand the code? I've also attached the front of diagrams and source code. It's in 2012 LV.

    Best regards

    Li CQ


Maybe you are looking for