Binding controls reference

Hello

I would like to know if there is a possibility to bind controls of the same type of reference data, so that they contain the same data.

This means that when you write to a property "Value" of the reference it automatically updates bound control without having to update "manually" go in a loop or using 'value (signalling)' / combination of the event.

I would use it for a central display (one man control formatted) which can be activated to display one of the multiple values will cause updated (currently by the value property). For example allow a user to choose between analog input 0.7 then display the value accordingly (and keep up to date automatically).

Best regards, W@Work

Nope, no such construction. A better solution would be to pass data around, rather than controlling the references. In the loop of data generators, instead of write control references, to group the values and put the cluster in the notifier. Then, in another loop, pull the last notification, select the appropriate value and connect directly to the indicator. Control references are inefficent (they need a switch to the UI thread).

Tags: NI Software

Similar Questions

  • Properties through control reference

    I have a group of digital controls. I would like to control properties of these individual controls (persons with disabilities, Visible, value, NumText.Format, and NumText.Precision) by passing a reference to the cluster on the main vi, to one under vi.

    Breast of my Subvi I wire my reference to the Controls property of [] cluster to get an array of references to elements within the cluster following the order of the items in cluster.

    Using this table of references I find properties available for the disabled, Visible properties and value options, among others. However, there are no options, to control NumText.Format and NumText.Precision.

    Suggestions, or perhaps another way to address the issue?

    Thank you!

    Table of control references will be a generic class and therefore cannot be defined specific propertiies. To access the specific control properties, you must cast to a more specific class first. If all controls are of the same type, you can simply throw all, using the "most specific type", for numeric types. This should make the NumText available properties for the parameter.

  • Control reference 1055 error when you use a loop for

    Hello

    I'm having a problem using control references to accomplish the following: I a VI that reads data from a text file, and then uses that automatically update the value of a control on front panel on two live different, then set the default values, and then save them. Comes from the array of control references, I tried looping on text labels until I have find the one corresponding to the order, I want to change and then update its value. The problem I have is that if I use a loop for, then 9times of LabVIEW 10 complains error 1055: "LabVIEW: object reference is not valid. If instead I the wiring to the index table and manually extract the reference, then it works every time and for each index of the reference of the order.

    Can someone take a look at my code and just see if its obvious what the problem is? In this case, I have a simple solution, but I would really like to understand what I did wrong. I have included as a code snippet, but also attached the files if that helps (Its Import_Colormap.vi, which is the problem). Persons with disabilities code fails, the active code works but I can't see what is really the difference between them - I can change the index of array 0,1,2, 3. and no mistake.

    Thank you.

    Your "Colormap.ctl" is a strict type def that contains a ring.  You define the elements programmatically, make the default values, and then save the "Colormap.ctl"?   I was never practicing this but here is a thread that covers this in detail. I do not understand what you expect reach by running.
    The next thing: at the same time (at the same time!), you open the Colormap.vi (this is what we see in yout PNG) that contains an instance of the Colormap.ctl on the front panel. I'm not pretty sure if LabVIEW can handle this correctly. This could be the reason why you sometimes get the error 1105.
    I prefer StringsAndValues and eventually the value of the ring running.  There is no need to do it with a def of strict type.

  • control/references file closed and re-used

    See attached example.  I realized that you can reuse a reference control, even after it is closed, and it is not applied to the file reference.  Why is this?

    Only the need of refs dynamice closed, see here.

    Ben

  • Reference VI return of the object of control reference

    Dear all

    I was wondering if there is something that acts as the opposite of "to a more specific class? I mean it returns the reference of the VI of a reference to one of her control object? I think it's as moving upwards in the hierarchy.

    Is it possible to implement who?

    Best ragards

    Afshin

    The property OWNER allows to climb on the tree.

    Ben

  • control references; need help

    Im having a VI with control, let's say some Boolean control. Since another VI running, I want to be able to adjust the value of this control. How do I do that? I remember something about creating a reference the command and calling

    the reference to an another VI.  If I'm wrong, can someone clearly explain what they are for?

    Second, is there a way to call a Subvi and display the pabel before in a tab of the VI which I am the appellant?

    Thank you!

    1. in your control panel before the local VI go the modern-> Refnum-> Refnum of control and place it on your Panel. Then create what refnum control you need (in this case a Boolean value) and drag ' not drop it in the refnum of the front panel. Now, you will have a refnum your Boolean control in your block diagram. You can adjust the value of this control in an another VI (foreign) simply by placing a property node of your control (overseas VI) and the wiring of the reference already created for her. So basically, you pass the reference of the local VI abroad. The adjusted value can also be passed or, if it is static, it can be placed on the foreign VI.

    Sorry, I could not not to edit my previous post. Just thought I would elaborate on the first point a bit more.

    Please ask is that something is not clear enough.

    Jeff Bohrer says:

    On the block diagram, select the terminal you want to update right click > Create > Referance.

    Do not understand how I managed to forget this one, including the fact that I use this method in most cases

  • How to define the range of data to a strict typdef through the control reference

    Hello world

    I'm trying to define the range of data to a strict typdef through the reference of the order, when I do, I get an 'error of property node.

    Is it possible to set the range of the strict typdef.

    Thank you

    Vignesh

    Vignesh1987 wrote:

    I'm trying to define the range of data to a strict typdef through the reference of the order, when I do, I get an 'error of property node.

    Is it possible to set the range of the strict typdef.

    Try to set the original control (type-def) and not its instances... to open the reference of the original type-def command, use 'Open VI reference'.

    Published:

    These properties are not available with STRICT TYPE DEF.

    a. data entry limits: increment property

    b. data entry property of limits: Maximum

    c. property limits: Minimum for the data entry

  • property nodes, controls reference

    Hello

    I just want to know what is the difference between the two approaches below to see in the excerpt. Both work. What is the real role/reason for the conversion? Both are OK to use?

    Thank you!

    It depends on what you are feeding into it.

    If really you are breast-feeding refs control CREDITS, then the TYPECAST does nothing.

    If, however, you are breast-feeding in mixed references (Boolean, string, I64, cluster), then the TYPECAST throws everything in GENERIC refs.

    I would NEVER recommend doing this, however.

    1. If all you do changes the ownership of persons with DISABILITIES, and given that the DISABLED property is common to all controls (i.e. Generic), generic Ref is fine as it is.

    2 - If you need to cast, use the MORE GENERIC TYPE CAST or the SPECIFIC TYPE CAST MORE and let them tell you (error) if there is a problem.  The TYPECAST will take whatever you give him and spit out a reference, but it will not necessarily legitimate.

    Using the MORE SPECIFIC TYPE CAST is useful when you get an array of controls from a cluster, but you KNOW they are all list boxes, then you can throw in a type of list box and do things specific to the ListBox on each of them.

  • Get FrontPanel control references via ActiveX

    Hello

    I tried to get the references to controls frontpanel via LabVIEW ActiveX Server, equivalent to the LabVIEW code:

    but I can't find the ActiveX methods / propertis to use.   Is there a way to do this?

    / LeifS

    The ActiveX Automation Server interface to the LabVIEW VI server exposes only a very small subset to the real VI LabVIEW server. Basically, it's enough to load and run special and pass the values to the controls on the front panel by name, but that's all.

    The reason is twofold. When VI Server was introduced in around LabVIEW LabVIEW 5.0, it was especially exposed total VI server functionality. He was not at all script and controls only limited access to the hierarchy of the objects of the façade. Even in this case the ActiveX interface not only exposes all methds and VI server properties, in part because exposure of LabVIEW internas would have required a vast typelibrary ActiveX, in part because it was not a major concern to be able to do more than launch screw through it. It was better than the DDE interface already by a long stretch.

    VI server was then extended in later versions, but the ActiveX interface was really changed much, also because Microsoft had .net and declared the exaggeration of the ActiveX from a few years earlier to be discouraged anyway.

  • Redesign of the object of control reference

    I think that this question is probably answered elsewhere, but after days of research, I couldn't find an answer. Sorry if I'm missing the answer in a conspicuous place.

    I am a reference to a cluster control and said that the elements of the cluster are all children of the parent a. using the [] controls property class, I get a table of the elements, and the value property of each of these elements gives a variant which can be converted into class A. At that point, all of the oriented object substitution and data private thing works as expected.

    So far so good.

    But a single method, that I call on these objects change the private data, and I need to update the control with the updated object. There is, I have a runtime error because the control is not A, but some children in class.

    I think it's to preserve runtime class comes into play, but since I only get a reference to work, what should I do? It's particularly frustrating because the debug probes show that LabVIEW knows the child class on the wire, but I do not see how to tell LabVIEW to cast down to the class that she knows that she needs.

    For example, is it possible to use the ClassName property of the control to cast the object of class A in the kid waiting for the control?


  • How to bind controls through two fxml from the PDC

    I need to link different fxml controls in the PDC.

    I have 3 fxml files named MainView.fxml, ChildView1.fxml and ChildView2.fxml.

    MainView.fxml

    " < AnchorPane fx:id = 'see' prefHeight = '280.0' prefWidth = '500.0' xmlns:fx = ' http://JavaFX.com/fxml/1 "xmlns =" " http://JavaFX.com/JavaFX/2.2 "fx:controller ="binding.example2.MainViewController">

    < children >

    "< prefHeight VBox = '280.0' prefWidth = '500.0" AnchorPane.bottomAnchor = "0.0" AnchorPane.leftAnchor ="0.0" AnchorPane.rightAnchor = "0.0" AnchorPane.topAnchor ="0.0" > "

    < children >

    < fx: include source = "ChildView1.fxml" / > "

    < fx: include source = "ChildView2.fxml" / > "

    < / children >

    < / VBox >

    < / children >

    < / AnchorPane >

    ChildView1.fxml is

    " < AnchorPane fx:id = 'see' prefHeight = '78.0' prefWidth = '464.0' xmlns:fx = ' http://JavaFX.com/fxml/1 "xmlns =" " http://JavaFX.com/JavaFX/2.2 "fx:controller ="binding.example2.ChildView1Controller">

    < children >

    < HBox layoutX = we '32.0' = '14.0' prefHeight = "51.0" prefWidth = spacing "200,0" = "10.0" >

    < children >

    < button fx:id = "button1" mnemonicParsing = "false" prefHeight = "37.0" text = "Button1" / >

    < button fx:id = "button2" mnemonicParsing = "false" prefHeight = "37.0" text = "Button2" / >

    < / children >

    < / HBox >

    < / children >

    < / AnchorPane >

    ChildView2.fxml is

    " < AnchorPane fx:id = 'see' prefHeight ="244,0"prefWidth ="568,0"xmlns:fx =" http://JavaFX.com/fxml/1 "xmlns =" " http://JavaFX.com/JavaFX/2.2 "fx:controller ="binding.example2.ChildView2Controller">

    < children >

    "" < fx:id TableView = 'tableView' prefHeight = "244,0" prefWidth = "568,0" AnchorPane.bottomAnchor = "0.0" AnchorPane.leftAnchor ="0.0" AnchorPane.rightAnchor = "0.0" AnchorPane.topAnchor ="0.0" / >

    < / children >

    < / AnchorPane >

    Button1 is disabled by default in ChildView1Controller. I want to enable it, when a raw in my other point of view (ChildView2.fxml) table is selected. Turn it off again when the raw table is deselected. Basically, I want to link the button and table if this button is enabled when a raw table is selected.

    Please help me with the code MainViewController to bind the button and the table Raw.

    This thread help me?

  • Conflict table chart control reference

    My vi has 6 graphics, and I need to change them through nodes of property through on my vi, then I wanted to store all references to graph in an array and pass it.  When I do that, I'm a class conflict between my entry table and a table in the cluster.  They are two waveform signals Refnum (strict), so I don't know why there is a conflict.  See the attachment for more info.

    I will usually use a group instead of a table so that I can access all the properties, but in your case...

    Unplug the broken wire, create an indicator of the output of the generation of table.

    Copy it and go back and change your type def and replace the stone with your new version. He should associate after that.

    Note:

    In your Subvi (if you stik with the table) you may need to perform the wire (more specific) class get the properties you need.

    Ben

  • Create the control reference

    Using the Terminal type setting is the best way to get the type of a control. If you try to do something like ' get the value of the control, and then ask the type of this ", you have problems with the LV classes and types of refnum where the type of the value can be a child class of the type of the control.

    This question is answered.

  • Configurable custom control of reference for NI VeriStand

    I'm working on an application of VeriStand where I'm modeling more than 100 pieces of similar material, each demanding a set of controls and indicators on the VeriStand workspace. Because I have a few hundreds of orders and total indicators to configure VeriStand workspace, it was recommended to me that I should look at using reference varied Custom Control (http://zone.ni.com/devzone/cda/tut/p/id/11123), which is much more efficient to configure.

    The main problem I have with varied Custom Control reference is that when it is configured on the workspace, the full channel path appears in the legend next to the indicator/control form. As I have a simulation model complex faily using several levels of submodules, the complete track path is very long (for example. ("Controller/Simulation models/models/CCH_v1_0_bad/Inports/Islington 220kV Bus EAD/CB668/host_close") and tend to clutter the workspace and also make the workspace very ugly looking (more space is used to display the text of the legend that occupied by buttons/lights).

    Is there an easy way to remove traces of full path display, while allowing the user to verify the path full path required by say, right click on the object? Or at least it is possible to display one or two levels of the path of the canal, rather than the full path?

    Thank you for your attention.

    What do you think makes a lot of sense.  To do this, you will need to modify the source code of LabVIEW and recompile (build) the proposed model to screen with the right mouse button.  You need LabVIEW 2009 for this.

    The text of the legend is set to 2 different places in the right-click main-model VI: Init control legends VI and VI of data update.  They are presented below:

    You need to change both of these screws to do some string manipulation to cut parts of the path that you don't want until it is written in the Caption.Text property node.

    I recommend creating a Subvi, which makes the string manipulation, in this way you can insert it just in the two screws you need to change.  Use a while loop that traverses the chain from the end forward, find the 11th ' / ' end, then only retains the final part and coming out of the slot - VI.

    These two images highlight the places where you should put the Subvi said:

    You will need to add your Subvi in the folder Source Code/sup screws, and then recompile the project (run the specification building called "Right-click"). Then put the Library.llb to control newly updated with the right button in the model display VeriStand folder, as you did initially. If you want instructions on how to proceed, see the video embedded in this page:

    NEITHER VeriStand module-control custom Configurable reference

    If you still want to help get started on this, let us know.

  • Node property/reference for the image and 'Create VI' inconsistent control?

    Hello

    I encountered this problem several times already and although I have worked around him, so far, I would really like to understand what is it:

    If I have an image display control on the Panel before (IMAQ Vision, not the image control type) and drag a property node or a reference to it on the block diagram, it seems impossible to create a Subvi diagram if the selected objects are equipped with a knot of property image or an image reference. Select 'Create Subvi' won't do anything, don period. No warning, no beep system, no nothing.

    A related issue is that if I have a view control reference on the diagram and try to create a control from it (for example to use as a control on one dimension of connector VI entry), same thing, "Create control" will not do anything.

    Why is this?

    Thanks for your comments.

    X.

    Xavier,

    This was reported to R & D (35835) for further investigations. A possible workaround is to make the Subvi LabVIEW 7.1 and open it in the new version of LabVIEW.

Maybe you are looking for