Use of multiple property nodes for GUI manipulation

I have a LabVIEW 6.0.2 application where I'm using 14 different property nodes in the main loop. All of these have to do with GUI - hiding buttons when "X" isn't pressed, disabling and greying out controls if <0, popping one button on top of another depending on the mode of operation, etc, etc. While this works fine, the program is getting slow. I've noticed that using the old 2-D buttons works faster - things update faster and redraw quicker. However, more to the point, I once read that if you have to use a lot of Property Nodes like this, that you should bundle them into a sub-vi, thus replacing what would be Property Nodes with references. How does that make it faster?
Richard

Not sure if bundling them into a sub-vi by itself would make it faster. The nodes in the sub-vi would still have to access the user interface thread, and that's where the slow down comes from.
When I use any property node, I put it in a case structure and only write to it when needed. You just need to be able to detect when the value being written is changed from last loop iteration. It's useless to constantly rewrite the same value (doesn't have to be the "value" property) to the node.
Bundle them into a sub-vi and put the change detector, case structure and nodes in the sub-vi, this should help speed things up a bit. Assuming of course that the nodes are the slowdown. It may also help clean up the diagram a bit.
Ed
Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

Similar Messages

  • How to set property nodes for each of the multiple y-axes?

    In Labview 6i, I have set up multiple y-axes on an xy graph. I want to change certain properties of each of the 2 y-axes independently. I believe I can do this using "property node".
    However, after I have created a property node for the xy graph, I realised that there is only 1 y-axis selectable from the list of properties. How can I set the property of the other y-axis then?
    Thanks for the help!

    I believe there is a property called "active graph"... this allows you to
    select the active graph to apply the property changes to...
    Later...
    meng118230 wrote in message
    news:[email protected]..
    > In Labview 6i, I have set up multiple y-axes on an xy graph. I want to
    > change certain properties of each of the 2 y-axes independently. I
    > believe I can do this using "property node".
    >
    > However, after I have created a property node for the xy graph, I
    > realised that there is only 1 y-axis selectable from the list of
    > properties. How can I set the property of the other y-axis then?
    >
    > Thanks for the help!

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

  • Tree Control Property Node for Accessing "Child Text" String Array

    When adding items to a tree control using the EditTreeItems invoke nodes, the inputs include "Child Tag", "Item Indent", "Child Only?", "Glyph Index", "Child Text", and "Left Cell String" as can be seen in this screenshot.
    There are property nodes for the tree control for accessing each of these elements, except for the "Child Text", which is an array of strings. It is possible to access this data as outlined in this forum post, but this method is somewhat involved and round about. 
    I suggest that a property for the Tree class be created to access the Child Text array directly.

     The work around only works if you do not have an empty string element some where in the middle.
    At lest could the "Active Celltring Property" read return an error when you have gone beyond the end of the array.

  • Is it possible to add text when using flashing button property node?

    I am trying to get a text button that displays TEST to show "running"
    when it flashes.  I am using a property node for flashing. 
    At present it cycles between TEST and default color which is set in
    flashing clolor options.

    hi there,
    use the "Strings[4]" property of the button. right click on the property node and see online doc for more information about the meanings of the 4 elements of strings[4].
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"

  • Using LV Class Property Nodes in In-place Element structure causes the code to halt

    I have some code written in LV RT 2010 that uses property nodes from a LVOOP class that I created.  I am using access the property node from inside an in-place element structure.  When the code reaches the property node, LabVIEW stops running.  (as if the abort button was pressed).  I verified this behaviour using highlight execution.  When I remove the in-place structure code runs fine.
    Is this is know bug in LabVIEW?  Is there a CAR to resolve this created for a future release?

    Bob,
    I tried to reproduce the behavior you're seeing by recreating the Trigger and Trigger List classes, but I have not been able to reproduce it.  Please take a look at my version of the project in the attached zip file.  Take a look at Test.vi, and feel free to modify and repost it to show me how to make the problem occur.  I would like to file a CAR to make sure we get the problem fixed, but I will need to be able to reliably reproduce it first.
    On a similar note, you can get much better performance out of the Process Triggers VI by preallocating the list array, instead of using build array in a loop.  Take a look at Process Triggers2.vi in my project.  You can run Benchmark.vi to see the performance difference between the two different approaches.
    Chris M
    Attachments:
    triggerlist test.zip ‏165 KB

  • Mixed signal graph property node for plot groups?

    Hello!
    Is there a property node for the name of the Groups in a mixed signal graph?

    Hello
    as you can see in
    http://forums.ni.com/ni/board/message?board.id=170​&message.id=226983&requireLogin=False
    there is no property for plot groups.
    Thanks,
    Rebecca Fox
    Applications Engineer
    National Instruments

  • Question(s​) about the Active Cell:Posit​ion property node for a table control

    Hello,
       What determines the Active Cell Position property node for a table control? I have this in my code and I am displaying its value to a front panel indicator. The value displayed is always set to 0,0. The help for the property node say that it is "read -only" so what sets the value of Active Cell Position  for a Table Control?
    Regards,
    Kaspar
    Solved!
    Go to Solution.

    You set the active cell with a property node.  Once you select an active cell, you can do specific things to that cell and that cell alone, things like set the background color.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Using One Property Node For Multiple Controls/I​ndicators

    Question for all you LabVIEW gurus.  Is there a way to create 1 property node that is used for multiple indicators?  For example, if I wanted to display the same value on 10 different indicators using the property node - value function do I need to create 10 separate property node-value instances for each indicator?  Or is there a way to tie all of those indicators to only one property node?
    Thanks!
    Solved!
    Go to Solution.

    Hi hobby1
    You could create a cluster, and inside in it put all the indicators, see the image attached
    Attachments:
    capture1.JPG ‏14 KB

  • Any alternate solution to using Waveform Chart Property Nodes 'ActPlot', 'Plot.Visible' for mulit-plot color problem on PDA?

    Hello,
        On a waveform chart, 4 signals need to be plotted based on the status of 4 boolean inputs. Eg. if the first boolean input is true, the first signal needs
    to be visible on the waveform chart; if the first boolean input is false, the first signal should not be visible on the waveform chart and so on. This can be
    done on LabVIEW desktop using the Waveform Chart Property Nodes 'ActPlot', 'Plot.Visible' - a sample VI "BundleSignals_Select_Desktop.vi" is attached for
    reference.
        But on PDA, since the Waveform Chart Property Nodes 'ActPlot', 'Plot.Visible' are not supported, some other method has to be used. I have done the
    selection/de-selection of these signals using 'Insert', 'Delete' array functions as shown in the attached VIs "BundleSignals_PDA.zip" which works, but the
    problem is that the colour of these signals do not work as desired when the selection/de-selection of these signals is done - It is required that the first
    signal should always appear in White color, the second signal should always appear in Red color, the third always in Green color & the fourth always in Blue
    color.
        I hope i have made myself clear of the problem. Has anyone faced this problem before & is there a solution?
    Note: Version of LabVIEW that we are using: LabVIEW 8.5 Professional Development System for Windows Vista/XP/2000 and LabVIEW 8.5 PDA Module for Windows
    Mobile.
    Thanks & Regards,
    Subhashini
    Attachments:
    BundleSignals_Select_Desktop1.vi ‏25 KB
    BundleSignals_PDA.zip ‏26 KB

    Unfortunately the only alternative to using property nodes is to set the properties manually on the development environement. The limited size of memory does limit us in terms of features for the module.
    Mehak D.

  • Property node for a chart with multiple axes

    I have created a chart with two y axes, one for each of two data sets
    that I am plotting. From the front panel, I can view the properties of
    the chart and adjust the scales of the two axes separately under the
    Scales tab. I need to, though, adjust the maximum and minimum of these
    axes programmatically. How can I create a property node that refers to
    one of the two y axes, and how can I specify which axis the node is
    referring to? If create a generic YScale:Minimum property node, I get
    an error.
    Thanks for the help,
    TJR

    "...YScale:Minimum property node, I get an error."
    That is curious.
    You can specify the active scale for which the property will be applied.
    The attached demo (in LV 7.1) illustrates how to do this by fist setting the index of the active scale and then updating its property (property nodes execute from top to bottom).
    What error do you get?
    Ben
    Message Edited by Ben on 11-30-2005 08:07 PM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Set Active Scale.vi ‏27 KB
    Set Active Scale.JPG ‏18 KB

  • How to use Call library function node for a function in dll with VOID data type

    Hi All,
    I would like to ask for your kind help,
    I am facing an issue with the call library node.
    I have a C++ function(stdcall), which has void as data type
    error code XXXX(hwnd, lID, getValue, *void data1, *void data2)
    the data1 and data2 types are always changing depending upoin the value of "getValue".
    Primarily i can use call library node multiple times and adapt each node according to the data types of data1 and data2, and extract the values and use in the code. Here is no issue. Real question is:
    My question:
    How can i just use one time call library node and make a case depending upon the "getvalue", which will control the data type of data1 and data2. Here i really looking for solutions.
    My trials:
    i used varaints as input to the call libray node for data1 and data2, and selected Parameters in call libraby node as " Adapt to type". here labview just crashed.
    i really appreciate your feedbackand suggestions.
    Thanks
    Kutbuddin
    Solved!
    Go to Solution.
    Attachments:
    Clipboard02.jpg ‏103 KB

    A variant is a very specific LabVIEW datatype (really a C++ type object internally) and trying to pass that to a function, which excepts a flat memory pointer there, for sure will crash very quickly.
    As to endianess, yes Unflatten will be able to adjust for endianess, which in this case however is most likely exectly NOT what you want. So make sure that the you select native type for the endianess input on Unflatten from String. LabVIEW internally works with whatever is the native endianess, as will most likely your C++ DLL. The platform independent big endian format does only come into play when you receive data streams over some streaming interface like a network connection. Here it is desirable to use an endian format that is independent from the actual platform that generates and consumes the data stream. LabVIEWs default endianes is big endian here.
    But as long as you pass data directly to native components like DLLs there is no difference in endianess between what LabVIEW uses and what those components use.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Use of grouped property nodes

    HI,
    I'd like to know if there is a way to use a  property node like  " value "  for a group of controls without doing right click /property node /value on each control.
    Thanks
    Olivier

    There is little reason to have many direct value property nodes in any given diagram. (I am just mention this because you explicitly mention "value"). A local variable has the same functionality but is more efficient. (of course, often you can use a wire or shift register for even cleaner code).
    (see e.g. http://forums.ni.com/ni/board/message?board.id=170&message.id=153611#M153611)
    There is also the shared variable, if you run one of the newer LabVIEW versions.
    I am afraid that you use all these value property nodes as a poor man's substitute of "variables", breaking all dataflow in the process. Can you explain why you need so many???
    (btw: another way to copy a property node would be to ctrl+right-drag an existing property node, then right-click it and "link to...(select another control)". This is not faster in your case, but is quite useful if you want to duplicate a property node that has many properties defined.)
    LabVIEW Champion . Do more with less code and in less time .

  • Why can't I create property nodes for item in STRICT typedef cluster?

    I've tried this in LV7.0/WIN2k and LV 7.1/OSX - both versions work the same.
    I have a TYPEDEF consisting of a cluster of items A, B, and C.
    I have a front-panel instance of this typedef.
    Under certain conditions, I want to disable and gray Item C, because it's not applicable.
    So I need a property node connected to item C.
    If the typedef is STRICT, then I cannot create such a property node - the menu item to create anything is just not there.
    If I change to NON-STRICT, then I can create the property node.
    I can change it back to STRICT, and the property node works just fine.
    The question is, if the nodes WORK normally, why can I not CREATE one?
    If there's some sense behind this, someone please point it out to me...
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

    I agree with you, It would be nice to be able to keep the non strict typedef auto-update and extend it to properities which effect the look of a control. I am not sure why you can change the properities on a strict typedef. A strict typedef should have private properities (can only be changed from within the definition and no public other vi scope for writing these values. I have in the past used a custom control for presentation purposes and contained the structure of the data to be displayed within the typedef cluster. This is not all that automatic since we need vi's to convert between the definition and control. Seperating data structure from presentation is much like XML where the file only contains data structure and a reference to a style for presentation. It would be a very nice option to allow nonstrict typedefs to have an additional auto-update properities which could be toggled on and off. I would be curious to here others opinions on how to keep data structure and presentation consistant across an application without being tied down to a strict typedef (allowing the optional change of teh presentation at runtime).
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • Can event structures be used w/o property nodes?

    I want to know if there can be programming done using event structures but without using property nodes. My prgm has buttons and should be selected exclusively

    Property Nodes really have nothing to do with Event Structures.
    Property Nodes either Read from or Write to the various properties of the linked control/indicator. Event Structures react to an action from a control/indicator.
    Drop an event structure and a single boolean button inside of it, configure the structure to the Value Change event for the button and hit run. The program will run, but the structure will stop the program until you click the button to run the event case, no property nodes required.
    If this is not what you are referring to, provide a few more details and we'll se what we can do.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

Maybe you are looking for

  • Making mac book pro original have more horsepower?

    hello, i have a mac book pro original. i have it linked to my hdtv and i have been trying to play 1080p movies with it. at first i got through half the movie with no lag at all, and then there started to be some lagging problems where i'd have to clo

  • Older ipod speaker stopped working

    my son was given an older version Ipod .  Its an 8gb.  When i initially got it, it wouldnt load anything, now i am able to finally load music, but now the speaker doesnt work.  I cant get online in a public place, and i cant load apps.  I have done a

  • Which Version Should I download/install

    Hello All, I want to download and install an oracle product but unable to understand if I should download 32 bit or 64 bit. Please help me out. The uname -a gives the following output. oracle@host:/home/oracle> uname -a Linux localhost.locadomain.com

  • Why does Creative cloud keeps signing me out?

    On my desktop Windows 8 Creative cloud keeps singing me out every time I log in, but I have no problem on my laptop Windows 8. What is up with that? I have red some other forums some other solutions ... well I have no OOBE folder to delete opm.db and

  • Can't select layers with transparency

    Hello all! Some things just happend and I have no idea why. 1. I can no longer nudge grouped layers. Photoshop complains that it cannot nudge layers in a group. I'm pretty sure I have done this many times before, so I guess I'm doing something wrong