Property node example

can someone show me a strait forward example of using a property node and a reference node... thanks

Strait forward ?
A reference node contain a reference to a labVIEW object (control or indicator). You can modify a number of properties of the object, using a property node. The property node can be ascribed to an object either at creation time (rightclick on the control/indicator, then "create...") or later (rightclick on the property node, then "Link to)". Alternativelly, it can be wired to a reference node...
Why use ref nodes, since a property node can be linked directly to an object? You can pass the reference to a sub-vi where all the work on the properties will be done, leaving a clean diagram in the calling vi...
See the example below.
More ?
Chilly Charly    (aka CC)
         E-List Master - Kudos glutton - Press the yellow button on the left...        
Attachments:
Example.llb.zip ‏14 KB

Similar Messages

  • Example of how to modify a control using a property node

    Hello, I am new to labview and I would like to be able to modify a front panel control in the block diagram. From reading up on this I realize I need to use property nodes but I am having a hard time getting this to work.
    I would like to have select action ring change from Hard Reset to Idle when the loop finishes running. I think I am on the right track but at this point I am stuck and an example of how to do this would be greatly appreciated. The VI is attached.
    Attachments:
    eps_state_machine.vi ‏20 KB

    No, LabVIEW is EASY!
    All you need is write to a local variable if the control.
    I assum you want to reset whenever the loop iterates. If you only want to reset after the loop finishes at the end of the run, you would do it in a sequence frame after the loop.
    Some notes:
    your shift register is completly useless, because the carried value is never used by your code.
    Your idle case spins the main loop at an infinite rate, using all CPU while not doing anything useful. (place an indicator on the iteration count to see.
    Use an event structure to spin the loop only if it needs to.
    Here's a quick draft:
    Message Edited by altenbach on 06-26-2008 01:07 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    eps.PNG ‏18 KB
    eps_state_machineMOD.vi ‏20 KB

  • What is difference between local variable and property node ?

    What is difference between local variable and property node ?
    " 一天到晚游泳的鱼"
    [email protected]
    我的个人网站:LabVIEW——北方客栈 http://www.labview365.com
    欢迎加入《LabVIEW编程思想》组——http://decibel.ni.com/content/groups/thinking-in-labview

    To make things clear, here are two small examples that show how nasty locals and value properties can be to the naive programmer.
    - Open the diagram of the race condition.vi before running it and try to predict what will be the values of the two counters after the third run.
    - Use the Compare Locals Properties and Wires.vi to find out how slow locals and value properties can be (times 1000+).
    This being demonstrated, I must add that I use globals and value properties quite often, because they are often very convenient
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Race condition.vi ‏9 KB
    Compare Locals Properties and Wires.vi ‏18 KB

  • Is there a way to reference the property node value of a control in another VI?

    Let's say that I have a situation like the one shown in the attached image.
    I have an interlock system which is basically a bunch of booleans
    If for example the "RF Enable" button in the "interlock VI" is true, then I should be able to flick the ON switch in my other VI (in the back), but if the value is FALSE, then it shouldn't allow it.
    In other words, how do I check the value of a control across 2 separate VIs (running simultaneously)?
    Thanks!!
    Attachments:
    sample.jpg ‏295 KB

    Is one VI launched by the other, or are they launched independently? If it's the former then you just need to pass the control reference to the subVI via terminal node. If it's the latter there are a variety of ways to handle this:
    Use a global variable - somewhat "sloppy" as it requires a global variable, and can lead to race conditions. In the "Interlock" VI you just set the value of the global variable when you change the value of the Boolean. In the other you're just reading it.
    Action Engine - Ben wrote a Community Nugget a while back. Similar concept to a global variable.
    Queue - The "Interlock" VI simply pops an element onto the queue with the value. The other VI just monitors the queue for a new element. It just needs to have something like a shift register to keep track of the last state.
    Use the VI Server to access the controls of the "Interlock" VI. You can do this by accessing the "Interlock" VI's pane and get the control references. With the control reference you just need to get the value with a property node.
    ... (I'll let others chime in)

  • Just checking on another odd feature: Typedef enum Property Node "Value" not reflecting changes in the Typedef?

    Just encountered this odd behavior in LV 2011 which I reduced to the following example:
    - create a new VI and drop an enum control on te FP.
    - make this control a typedef and open the corresponding typedef
    - create a "case 1" item and a "case 2" item
    - save the typedef (I used the name Typedef Control 1) and CLOSE it (this is to allow updating of the original control).
    - drop a case structure on the diagram and connect the enum to it:
    So far so good. Now create a "Value" Property node for the enum and use it instead of the terminal:
    If I now go back to the typedef and add a "case 3" item, save the typedef and close it, the control is updated, but the Property node is not.
    How do I know that? For one, the Case Structure contextual menu does not offer to create a case for every value. Also, if I add a "case 3" case manually, it turns red.
    Luckily, the magic Ctrl-R key stroke actually does solve this problem.
    Tested in LV 2011.

    By Ctrl-R trick do you simply mean running the VI?  That is one way to force a recompile, but if you hold down Ctrl while pressing the run button you can recompile without running.  This should not be "dangerous" in any situation.
    As you have drawn your example, I see no reason not to use a local in that situation (ok, maybe for vanity).  Still, I view the behavior you describe as a bug, and it should certainly be fixed for the benefit of local haters out there.  You have to be a little careful where you draw the line between what gets handled in real time and what gets handled only at compile time.

  • NI 845x USB: Error -301713 occurred at Property Node (arg 2) in General I2C Read.vi

    Hello,
    I am currently working  with digital accelerometer LIS35DE from ST Microelectronics. I want to start with tests of this device. For that purpose I used NI 845x USB to connect with accelerometer via I2C. Unfortunately, when I made electrical connections and set up parameters of communication and run the program (I found it in examples) the following error occured:
    Error -301713 occurred at Property Node (arg 2) in General I2C Read.vi
    Possible reason(s):
    NI-845x:  An input parameter, or combination of parameters, is invalid. An example of this error may be setting an invalid baud rate or enabling I2C ACK polling while using 10-bit addressing.
    The code can be found in attachements. I couldn't find any extended description of this problem. What could be a problem: incorrect device address, register address, configuration parameters?
    Any help is appreciated!
    Best regards,
    Michael
    Attachments:
    General I2C Read.vi ‏24 KB

    Hi MicMac89!
    First of all could you please post which version of LabView are you using?
    Could you please tell me which version of 845X hw are you using? (8451 or 8452)
    I opened the example you attached. As you wrote the error occurs at the second argument of the property node. (I guess this is the first property node where the error occurs.)
    This argument of the property node enables the onboard pull-up resistors. But not all NI-845x hardware support pull-up resistors. (Because of this is important to know which hw version are you using.)
    Did you try the example with disabling the pull-up resistors?
    I suggest you to go through the Manual of this product, (if you did this not yet) This could make it clear where and when to use what kind of pull-up resistors.
    For example: If you are using 8452, you must enable pull-up resistors, for Vref ≤ 1.8 V for the FPGA to properly detect a low-to-high transition
    Manual: http://www.ni.com/pdf/manuals/371746d.pdf
    HW specification: http://www.ni.com/pdf/manuals/290598a.pdf
    Please post if my suggestions helped. Of course if you have any questions, don't hesitate to post them.
    Best regards, 
    Balazs Nagy

  • Error 1073807202 occurred at Property Node (arg 1) in VISA Configure

    I am working with the 30-day evaluation version of LabVIEW
    (Version 9.0 32-bit).  I am attempting to perform the serial loopback test
    described in NI's Developer Zone Tutorial, executing Basic Serial Read and
    Write.vi.  When I click the Run arrow a dialog box appears with the
    following legend:
    "Error 1073807202 occurred at Property Node (arg 1) in VISA Configure
    Serial Port (Instr).vi>Basic Serial Read and Write.vi.  LabVIEW: VISA or
    code library could not be located.  ...required drive not installed..."
    I can find the "smplserl.vi" driver in the /examples folder on my PC.
    What's wrong?

    Did you do a search for that error? Install NI-VISA.

  • How to show/hide sliders on a slider control using property nodes?

    If I have a slider with multiple sliders on it how do I change which sliders are visible using property nodes? The only property I have found is making the entire control to be visible or not.  This is a possible solution to have two different controls, one slider with only one slider and another slider with two sliders overlapped, but not desirable.
    I found on a thread in the forum that it is possible but the user did not provide any specifics about which property it was. (http://forums.ni.com/ni/board/message?board.id=170&message.id=181279&query.id=34404#M181279)
    I would appreciate an example VI if possible (Preferred version is 8.5 but versios 8.2, 8.0, and 8.6 are available to me).
    Thank you in advance for the help,
    Aaron

    Just make them transparent! Here's a quick draft.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    HideSliders.vi ‏20 KB

  • How to use Property nodes?

    Hi everyone,
                           I am a beginner of LabVIEW. So I want to know about Property Node in detail. Please Please someone help me know the function of each property node......
    Thank You in Advance,
    Solved!
    Go to Solution.

    Achuthaperumal wrote:
    I am a beginner of LabVIEW. So I want to know about Property Node in detail.
    Property node allows you to programmatically read/write that particular property of associated object. For example, say you have a String Control, and you want to modify its 'Display Style'... for that you need to create and use that particular property node (of the String control).
    Check the attached example.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.
    Attachments:
    Example - Using Property Node [LV 2009].vi ‏11 KB

  • How can I make a "property node" for a VI?

    Hello!
    If I add a boolean button on the FP then I am able to make a property node for that button in the Block Diagram. But how can I make a property node for a VI? I have several VI:s an that together is one program. What I need to do is to verify what kind of VI some of my VI:s is. I need to verify if it is .exe or .vi-file, and if it is .exe then I want to disable run, abort, run continuously bottons otherwise not. I have hard that this is possible to do programmaticaly but I can´t figure out how. I am aware that I could do that manually in the File->vi properties->customize->windows appearance but theese choises makes it last forever.
    I want to be able to stop and run and everything if it is a .vi file, but if it is .exe-file then all those buttons should be disabled.
    Anyone have an example on this?
    In an other message at this Forum I read "You can use the `Front Panel Window. Allow Runtime PopUp`" property to disable run-time shortcuts menues programmaticaly, but still I dont know how to create this property node.
    /Amir

    You really shouldn't open a new thread. If you don't understand something, ask and we will explain it.
    Like I said in the other thread, you can check if you are running in LV or an EXE by using the Application>>Kind property. To get it, place a property node (from the Application Control palette) on the diagram, click it and find the property.
    To set the properties for the VI, place another property node, right click it and select Select Class>>VI Server>>VI. You should have the properties you want under Front Panel Window.
    To learn more about LabVIEW, I suggest you try searching this site and google for LabVIEW tutorials. Here and here are a couple you can start with. You can also contact your local NI office and join one of their courses.
    In addition, I suggest you read the LabVIEW style guide and the LabVIEW user manual (Help>>Search the LabVIEW Bookshelf). I believe chapter 17 of the user manual explains about programmatic control of VIs.
    Try to take over the world!

  • How can I change the precision of a numeric array indicator using property nodes ?

    I want to change the precision of a numeric array indicator programatically using property nodes. I tried to see all the array properties but I couldn't find it. URGENT !!!

    If you want to change the precision of an element in an array you must first get the reference to the array element. Then raise the reference to the more specific class of a digital numeric. Use a property node connected to that reference to set the precision. See the attached vi for an example.
    Brian
    Attachments:
    ArrayElementPrec.vi ‏27 KB

  • Property nodes are severely affecting performanc​e

    LabVIEW Gurus,
    I am continually running into some serious performance hits using property nodes to update attributes of FP objects. Attached is a classic example.
    I have 8 XY plots that are being fed 600 SGL points every 200 msec - a very modest data rate. Each plot is a dynamically instanciated .vit placed into one of 8 subpanels in a container VI. The container VI also acts as the data server for the charts, sending each one their data in their own single element queue. The entire architecture runs great (~4% CPU load, see attached picture) until I being updating a property node to display the value of the cursor y-value. When I enable the "Caption.Text" property node of the XY Graph to display the cursor value, the CPU usage soars to over 30%.
    As an aside, I am developing on a dual core 2.1GHz platform with 4G memory with LV8.5.1, and the target machine is not nearly as beefy. That's why 30% CPU on my powerhouse is an issue - it basically brings the embedded target to its knees.
    I have included an example VI for you to run on your machine. Consider it "representative" of my bigger issues. The VI runs about 10% CPU without the caption update, and 20% with the caption updates.
    Finally, I have tried putting the VIs into the UI execution system. I have also tried Defer Panel Updates, but this actually slows down performance.
    Best regards,
    Jack Dunaway
     With Captions
    Without Captions:
    Message Edited by mechelecengr on 10-10-2008 11:23 AM
    Message Edited by mechelecengr on 10-10-2008 11:27 AM
    a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}
    Solved!
    Go to Solution.
    Attachments:
    WithCaptions.png ‏102 KB
    WithoutCaptions.png ‏96 KB
    GraphPerformanceProblems.vi ‏23 KB

    Yes, property nodes force synchronous execution and if you do that too often, other things suffer.
    The above solution is good. You can simplify things even more by removing all that unneeded extra code that just complicates things.
    Here's a quick draft. Let me know if you have questions.
    Message Edited by altenbach on 10-10-2008 09:58 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    samewithlesscode.png ‏9 KB
    GraphPerformanceProblemsMOD.vi ‏19 KB

  • Using a property node of a menu ring to generate a secondary address does not work in a subvi unless the subvi has been or is opened. Why?

    I am writing drivers for third party equipment using LabView 6.1. I am using the property node, digdisp.text, to get the item number of menu ring. This number is being used as the GPIB secondary address for the equipment. This vi is one many subVIs like it in a main vi.
    The only way the main vi works consistently is if I open all the subVIs, otherwise the secondary address isn't picked up and I get a EARG and ENOL error in NISpy and a GPIB write error in the Error Out cluster.
    I have attached an example of a NIspy capture of a failed attempt.
    Attachments:
    Capture.spy ‏9 KB

    Hi,
    EARG (4)
    Error Condition: Invalid argument to a function call.
    Description: EARG results when an invalid argument is passed to a function call.
    Possible Cause: The following are some examples: you call ibtmo with a value not in the range 0 through 17 (possible timeout values correspond to a table of values ranging from 0 to 17, where the default is 13, which represents a 10 second timeout); you call ibeos with meaningless bits set in the high byte of the second parameter; or you call ibpad (or ibsad) with invalid addresses.
    The reason you are getting the error is because not only is your secondary address invalid, but your primary address is also invalid. Lines 14 and 16 of your attached NI-SPY capture set
    the primary address (ibpad) and secondary address (ibsad) respectively. You need to make sure that you are passing the addresses properly to the subVIs using a connector. It seems like your programming when sending and receiving data (like the addresses) from your subVIs is not correct. You have to be sure to pass the data back and forth in the proper method using connectors.
    A.S.
    Anu Saha
    Academic Product Marketing Engineer
    National Instruments

  • Can we change the property of each element of an array using property node or by other methods?

    Hello all,
    Can we change the property of the elements of an array. For example:
    I have an array of combo-boxes. Can i have such a scenario that different combo-boxes of the array will have different items to select an item.
    I am able to set the different "values" in different combo-boxes bu using "to be more specific class" property node.
    But i could not set the different item list in different combo-boxes.
    Please give me the solution.

    Thanks a million dave!!!!!
    I have learnt a very new and innovative thing...
    I just wanna ask you one more question in the above context.
    Can i have listbox or combo-box in a table just like in an excel sheet where we can have listbox by using "data validation" property for different cells having different list.Can i have this in labview. Because for this i have to super-impose the combo-boxes on the table and treat them separately.
    We have to take those combo-box values and put in table and then store it.I have attached one VI to show the scenario.
    And this is the alternative solution of the array problem which u have already given. So please suggest me between the two or any alternative solution.
    Thanks,
    Ankit Madaan
    Attachments:
    Recording _Table.vi ‏19 KB

  • VI Reference Property Node inside sub-vi

    Hey Folks,
    I was always curious about why this is:
    If I open a vi-reference in one vi, and pass the reference to a sub-vi, I can put a property node in the sub-vi and get all properties just fine - as long as I am in debug mode.  When I compile to an executable this problem has its own error message and everything.  So why does debug mode not throw an error too?  I'm just trying to deduce what the heck is the difference.
    Check my painstakingly time-consuming example.
    -Devin
    I got 99 problems but 8.6 ain't one.
    Attachments:
    OpenMyReference.zip ‏42 KB

    When I discovered this issue I was coding an "About" modal screen that a user could select from a run-time menu.  This was supposed to work just like Labview's "Help->About Labview" screen, giving program description and version information.  So I tried to simply link in the revision from my vi's proerties because that would automatically keep a revision count and I didn't care what the format was as long as I could get a number.  I just wanted an easy way to check the revision, and its easy to give someone simple instructions to check the "about" screen.  Is there an easy way for a user to check the revision if all I do is put it in the application builder?  User-friendliness is key, because for me to support the application I will need to have them tell me the revision they are using over the phone or in an email.
    Will it be possible to create this screen in 8?  If I just do it in the application builder, is there any way to link to it and build an "About" screen?  I don't really care what format.  It could be revision 728 as long as a user can get to it in a simple way.  Otherwise I will have to just build a screen with plain text on it and edit the text by hand every time I build an application.  Isn't there a more elegant way to do it?
    Message Edited by billings11 on 10-20-2005 11:28 AM
    -Devin
    I got 99 problems but 8.6 ain't one.

Maybe you are looking for