Programmatically disable the controls on the front panel

Hi all

I have a case in which I need to activate the control of front panel during scanning or taking data and when this case is false / when not not taking data. I try to make the Subvi usng vi reference, the node property, making the label controls and disbaling it. I want to disable the control listed in the table during the real deal and allow them to return to the case of fake. But right now, it of not working and hangs my main program. Please see the vi attached and help find where I am doing wrong.

Thank you

The best way would be to create an array of references to the controls you want to mess with beforehand.  I say that because I'm guessing that you have several groups of controls you will be turn on/off at the same time.  If you have a table of these controls already created, then just run the table in a loop FOR and use the Disable property.  I made a few minor cleanups in your current VI.  I got rid of the outermost case structure since the two cases are essentially the same thing.  A selection function allows to choose to enable or disable.

NOTE: the forums are screwing again and not let me post a VI.  Change the extension back to vi to open it in LabVIEW.

Tags: NI Software

Similar Questions

  • Hide / disable the front panel

    Long story, long:

    I created a little utility like a VI.  The utility accepts command-line arguments, reads a file, outputs (using .NET) on the console, and then must close.  The front panel is empty, and the program is expected to completed in a fraction of a second.  In fact, I bet that "demand" fresh General takes longer than the actual program.  I would have coded in another language, but I can read only the cluster in a binary file with LabVIEW.

    Environment:

    Windows XP, LabVIEW 8.2.1, .NET Framework 3.5

    Short story:

    How to prevent a LabVIEW program displaying the front panel and appear in the taskbar?

    There is also an option to simply close the front panel, try with 100% transparent option also

  • Disabling the controls on the front panel

    Hello

    Currently, I am working on trying to disable/gray out between 10-20 controls on the front panel when you press a start button and then allowing them the end of the test. Currently I use the property nodes, all of which are connected to a constant of the State in which I want that works perfectly. My question is that there is another way other than having a bunch of knots of padding property to the top of my structure of the event. Ive read where people had Subvi, which has used references to make this same feature, but is there a way of doing things in the block diagram of my current VI? Thank you!

    Need references of your controls on the front panel, so this can be fast, because you can select more than one, and with a right click you create references.

    I have attached a version LV2010.

    Edit: another review:

    Must be created only once these references. Usually, it's comfortable group all the references in a cluster, use this thread through your entire code. This way you can just ungroup references to the actual location, you have to play with, put them in a table and use the above FOR loop to change their properties...

    Like this:

  • Binding the controls on the front panel programmatically

    It seems that Programmatic binding the controls on the front panel do not work when they are located in a tab control.

    Is this a known problem in LV 8.6?

    If the control of the façade is already bound to a URL of PSP you can link to another URL using DataSocket URL property during execution of the VI.

    If the front panel control is not bound to a URL of PSP, then you cannot attach it to the URL of the PSP when the VI is on. You can use the method AttachDataSocket of VI to change the link while the original VI is stopped (in edit mode).

  • Can I programmatically change the default property to create for all elements of the front panel?

    Can I programmatically change the default property to create for all elements of the front panel?

    I need to make the logout button, when click on, takes care of all the default values of my fron Panel.

    There is no way to programmatically call the functionality of an editor 'Use default' or 'Load Default'. To do it yourself, you will need to write your default values for each control explicitly in the diagram, when the user press the logout button.

  • A way to group controls and indicators on the Front Panel and that they can be made Visible or not as a group?

    I would like to combine several orders and LEDs on the front panel in a group in a way that allows me to do the whole group Visible or not.

    I tried to use a Cluster, but it has a side effect that all elements must be inside the controls or indicators, but not mixed.

    Is there any graphic element, like a panel that can contain other controls and indicators on the inside and make them Visible or not as a group regardless of whether they are commands or the LEDs?

    Good suggestions on how to do this?

    Thank you.

    The tab control is still not my favorite, appearance but it's a way fast and effective to show and hide groups of controls and indicators.

  • How to make non-visible control on the Front Panel appear at Design time?

    I have a few controls on the front whose visibility is changed (on or off) at run time. The problem is that if I stop the Run time, the visibility of the control remains in the running in design mode state. So I am not able to see or find the control to make changes in design mode.

    How can I make all the visible front-panel controls, or find and make it visible to a control on the front whose visibility has False?

    Thank you.

    It is documented in the help of LabVIEW.

    Hidden front panel display


    Perform the following steps to display a hidden front control or indicator. You can also hide the indicators and controls on the front panel.

    1. Find the terminal block schema for the object. "If you have multiple devices with the same type of data, right click on the terminals and select visible elements" Label in the context menu. Find the object with the label that corresponds to the object hidden façade.

    2. Right-click in the Terminal, and then select Show Control context menu if the object is a control or indicator to show if the object is an indicator.

    You can also use the Visible property to display the controls and indicators by program.

    You can also view all hidden front panel controls and indicators.

    Path: Fundamentals-> build the façade-> how-to--> configure the objects-> display on front panel of the façade hidden object.

  • How to disable together them on the front panel lights

    I have a VI that the front panel is shown below where an indicator of the chain is having a problem. The witness here shows the value "Please save the value of Temp Air [C]".

    Problem

    When the indicator is clicked on in the front panel the text box becomes 'editable' in appearance (only) and I did not want this

    Question

    How to eliminate the behavior stated below in the second picture, when the indicator also displays editable? How can I simply leave the system in a State of photography ?

    -Normal front photo

    Photo of Two - front with click on channel indicator

    Justin,

    Try to turn off the indicator. Node property or right click Advanced-> checked-> disabled state.

    Steve

  • Using the 'current default values do' as a control on the front panel

    Hello

    I'm building a VI that uses a lot of digital controls. I want to use "do current default values" as a control Boolean on the front panel for the user.

    Is it possible to implement when the program is running? What would be an alternative, if this was not possible?

    Thank you

    Mhaque


  • Best way to reset all controls on the front panel except one?

    Hello world

    I have an interesting problem, whereby I need to run successive tests using a test station which has several indicators on the front panel. At the end of each test, I need to reset all to default values, with the exception of a control (Test ID) who needs to keep his information - its value is used in an initialization status for test to ask for information from a database, so it can not be reset with the rest controls.

    I post all orders at a time using a reference ThisVI and VI Default Vals.Reinit All method, but this will obviously reset my control values (Test ID) as well. Any suggestions on how to keep properly or may store this information control while resetting all others. I can reset individually others but there is a little and more can be added as this system is developed.

    I don't really know what is the right way to proceed, and Labview has maybe one trick in his bag that I know to work around this problem.

    Thanks in advance for your suggestions,

    Alex

    Flank the node invoke with two nodes in the value property of the control to maintain the value. To the left we read as well as a right and the wires together. Connect three nodes with a thread of error to establish the order of execution.

    First reading place value on the wire, which is then written after the values have been reset to the default value.

  • Controls on the front panel does not work

    In the attached vi (I've stripped down to simplify things), I have a problem with the controls on the front panel does not when you click on the control to acquire it. It of probably something obvious but got me to loss.

    Thank you

    It is probably because you are in the State to acquire until you're done absorbing.  Meanwhile, none of your other events can run.  You have events to acquire: let the mouse.  There is a setting for "Panel before locking up the end of the occurrence of the event.  Given that the event cannot process until your State acquisition is completed, the façade will be locked.

    I would recommend another loop for the acquisition of your data.

  • 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.

  • missing controls on the front panel

    Hello

    I'm getting a GUI and I'm having a problem with the front panel, I saw miss some controls:

    See the attachments, please.


  • Conflict of flow of data on the front panel

    Hello

    My vi is almost done, but I still have a problem with the front panel. I think that there is data traffic conflicts in my vi.

    When you run my vi, you will see the pop-up window asking you to set a path of file, control devices, selection of data to record and trace. Then, you might want to change the units, turn off all the buttons light and ok to select what data you want to save. Then click on RUN.

    The problem is; supposedly all the buttons are on by default, if you disable certain economies or tracing buttons to choose not to save, and then click RUN, after that all the buttons are again even if you have turned off before the race. They must stay off, if you have selected to save. The condition of main data flow is always the same be before running (only light buttons and ok).

    Do you have ideas of how to solve this problem?

    Thanks in advance

    You have what is called a race condition that usually slips in programs that use local variables.  If you look at your first while loop to read in the current value of the 'steam data hand' control and store in a shift register.  After the structure of the event outputs you write this offset value to register in the control and in the process of replacement of the changes that the user can do.

    A quick and dirty solution would be to manage the main event to change the value for 'Stream' in the structure of your event to update the shift register whenever the user changes the values in the control.

    A better solution would be to get rid of the shift registers and move local variables in the structure of the event.  As long as the option "lock the front until the end of the event" (I'm not sure of the exact wording and I work in the LabVIEW Base at the moment so I can't check) is selected it will ensure that you do not work in a race condition (you know the value cannot change inbetween you value reading, and you update the control).

    Even better would be to avoid local variables wherever possible.  This is general advice only and not not something that I can do much more tangible without knowing the details of how you want your application to behave.

    Hope this helps,

    Simon

  • Satellite A200-1N1: "Satellite" LED on the front panel does not light up

    Hi people!

    I noticed that my LED with the word "Satellite" on the front panel lights.

    You have all the hypotheses on the causes?

    Hi Maresha,

    The front 'logo' LED is enabled or disabled using a BIOS "Display front Logo" option that can be set on IT or OFF you need. Access your BIOS settings (F2 at startup) and check that this setting is set to 'ON '.

    Kind regards

  • How to add a record button on the front panel to save waveform data

    Hi, I'm new kind of LabVIEW and I worked on a code for an agilent oscilloscope communicate via GPIB and so far it works well on the collection of these two analog channels one by one, "Not UNLIMITED" but it does the trick (vpp, Vrms, frequency, etc.).  I've added the feature to add data to a .csv file waveform (problem: opens a dialog box until the user gathers all the data.) Solution: I want the user to save the. File CSV whenever he wants to use later on the front panel). I've added another feature to get a snapshot of the curve waveform (problem: opens a dialog box.) Solution: I want the user to save the JPEG file, whenever he wants to take a snapshot ("take snapshot" button on the front panel)).  I work with the agilent hp54645d driver. I have attached my code, if someone can tell me please how do I do this (maybe cabling and structures are solutions do not know). Thank you in advance.

    I would recommend adding a case structure just around the two record VI and a button to check the condition of the structure of each case. If you want a button to control both save functions you can put the two record functions in the same structure of business controlled by a single button. You are right in saying that the loop will cause your code runs until the stop button is pressed or until the stop condition is met. If you are wanting the while loop to stop once the recorded information you can use the button that you use to control structures case to also stop the while loop. I hope this information helps.

Maybe you are looking for