Control text with a property node
Hello all,
I have an application where I need to change the text displayed on the screen. This is not a text control, or indicator, nor is it any other "obect" in the controls palette. This is just plain text (press shift and right click to enable writing text). I've seen this done before, so I know it can be done. I did it myself a couple years ago, but that example was lost to a drive crash. It involved somehow getting the refnum of the text, or something like that, and using a property node to change it. Does anyone know exactly how this is done in LavVIEW 7.0?
Thanks.
Rick
Here's a way to do it (LV 7.0). You should clean up the code to make sure references are closed, etc.
Attachments:
Change text.vi 21 KB
Similar Messages
-
Is this how i control frame rate with IMAQdr property node?
Is this how i control frame rate with IMAQdr property node? if not, can someone point me in the right direction? for some reason, it doesnt work..
Attachments:
pic.JPG 75 KBPlease see this related thread http://forums.ni.com/t5/LabVIEW/IMAQdr-Property-Node/m-p/1642950/highlight/false#M590168
Matt
Product Owner - NI Community
National Instruments -
The graphs were working yesterday. I made a few changes to another part of the block diagram and now the graphs do not plot all of the plots the same color. I am using a for loop with a property node with the elements active plot connected to the iteration terminal, and plot color to a color box. My for loop increments programmaticaly from another part of the code to create plots as it runs. I have replaced the graphs with new ones and they will work sometimes.
I am using Win2k and LV 7.1
Thanks,
BrettHi bh3560,
Have you tried chaging the color by right clicking on the line in the plot legend. There is an option to change the color of the plot.
Brian K. -
I am trying to use a property node: visible in order to enable or disable one of two clusters. These clusters are in a larger cluster and this larger cluster is in an array. The two clusters are controlled by a radio button (one labeled transistor and the other diode). When diode is selected, the corresponding diode parameters cluster should be visible and when transistor is selected, the corresponding transistor parameters cluster should be visible. In the mean time, the cluster of the device that is not selected should not be visible. There are at least 45 elements in the array (but not more than 45). Data is entered into each cluster (diode or transistor data) for each element in the array via the increment/decrement. The problem is when you select the first radio button (transistor) and enter data, when you increment the array for a new device selection, since a visible property node was used on the cluster, a loop is created where a new cluster is trying to be shown, but the old cluster is also trying to be shown (because it is the one referenced by the property node. How do I get rid of this loop and still be able to increment the array and keep my data intact for future use? Attached is the vi
Attachments:
ChooseScan.vi 17 KBYou could try something like this. However, if you know how to use an xcontrol, that would be a better way to implement the above functionality so that these UI characteristics are not a part of your main VI. The problem with the above VI is that you're looping every 100 ms just to update your UI.
Also, try using the "disabled" property node, instead of the "visible" one. That way, the user will still see the options he has but they will be grayed out.
Message Edited by Sudhir Gopinath on 06-25-2007 04:45 PM
S G
Certified LabVIEW Architect, Certified TestStand Developer, Certified Professional Instructor
Attachments:
ChooseScan_1.vi 19 KB -
How to add context help text to a property node of an XControl?
Hi
anyone knows how to add description for a property node of an XControl which should appear in the context help window of LV?
In case of a method, the description of the method VI appears on the context help. But not for property node
Solved!
Go to Solution.Hi Vsh,
You can set the property context help by right-clicking the xcontrol in your Project Explorer, selecting Properties, selecting the "Item Settings" category and clicking on the Property that you wish to write context help for. You will see a box titled "Description" on the right; this is where the context help is defined.
Let me know if you have trouble finding this.
Eric V
National Instruments
Applications Engineer
Certified LabVIEW Associate Developer
"I'm a Ramblin' Wreck from Georgia Tech and a helluva (NI Applications) Engineer!" -
Waveform Plot Name in Legend Reverts to default even if I change it with a Property node
I have a waveform chart where I am trying to name the plots different titles, so that they appear in the plot legend with a meaningful name, rather than 'Plot 1', 'Plot 2', etc.
However, no matter what I do, if I try to change plot 0's name to anything, the plot name changes for a split second, and then reverts to the name that it originally had. I can succesfully control the names of the other plots, but not plot zero. I have enclosed the VI with the graph control, which I cut and pasted from another VI.
It seems that the properties of this control (though it is not a custom control) are set, and that these settings take precedence over the Propery Node Instructions. Is this a bug, or am I missing something.
Try it for yourself.
Wes
Wes Ramm, Cyth UK
CLD, CPLI
Attachments:
Untitled 1.vi 14 KBIgnore attributes help says;
If FALSE (default), the plot names in the plot legend automatically adapt to the plot names in the dynamic or waveform data attributes. If TRUE, the plot names do not adapt to the dynamic or waveform data attributes. Change this property to TRUE if you want to change the plot names. This property applies only to graphs and charts with dynamic or waveform data.
Trying to help,
Ben
Message Edited by Ben on 11-28-2006 07:46 AM
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction
Attachments:
untitled.JPG 86 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 KBIs 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) -
Problem with the Value property node (MacOS)
As far as I have tested it, Value Property nodes (and Value (signaling)) don't work in MacOS : The value property appears as a boolean, the value(signaling) as a cluster (width, height).
Even with boolean controls, the node is not working.
No such problem in LV 8.6.
Am-I missing something ? Is that some "intended use" ? Or simply a bug ?
Chilly Charly (aka CC)
E-List Master - Kudos glutton - Press the yellow button on the left...
Solved!
Go to Solution.That sounds like some sort of indexing problem with the property nodes like somesort of corrupted installation. What if you just delete the property node and recreate it?
I dropped a numeric control and looked at the shortcut menu for the list of property nodes. Right below Value and Value (signalling) are Visible (which would be a boolean) and Xcontrol, which when you step down through the submenus, the first choice is Container bounds, a cluster of Width and Height. So these 2 datatypes that are 2 lower on the list match the ones you are getting.
What happens if you pick another property node a few elements up or down on the shortcut menu? Does is happen for some other properties, and if so, are thereany properties that are okay?
Here is what my property nodes look like for a numeric and I draggged the box up and down to show the natural order of the property nodes. Note that I have scripting installed, so there are a few more property nodes (and the blue box at the top) that you might not have.
PS. Check you signature. The Kudos button is now moved to the left since the forum upgrade.
Attachments:
Example_VI_BD.png 4 KB -
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 -
How to read the configuration of a FXP number via property nodes or other methods.
Hello all,
I am attempting to store in plain-text the value and configuration specifics of the LV FXP datatype. (please do not suggest I cast it to integer).
The ini config format does not support FXP. So we'd like to; using property nodes, interrogate the specifics of a FXP numeric control on the FP.
It appears this is not exposed by control ref's and property nodes.
Oddly enough, you cannot even interrogate the detailed type of an INT if it is a U8, I8 or I16 etc?! via property nodes, the deepest you can go is 'digital'.
Specifically, you need to know the following to 'reconstruct' a FXP:
1. Value
2. Signed\unsigned
3. Word length
4. Integer word length
Without this, there is a risk of corrupting the value during conversion.i.e we want to load initial FXP from disk at application startup. This is a critical application and we cannot tolerate rounding\conversion errors accumilating with numerous reads\writes of FXP settings.
It is odd that you cannot interrogate via property nodes the details of a numeric type. ie. you cannot 'discover' via the property node of an INT if it is a U8, I8 or any other type.
Regards
Jack Hamilton
PS: Don't suggest XML either....Aristos Queue wrote:
Alias name here wrote:
..second post telling me the 'propertys' of a control have nothing to do with the value is bizzare - via 'properties' for a LV control is the ONLY way to configure the specific type of a numeric...so via the numeric 'property nodes' should\would be able to query it's configuration.
I do not see any way to set these things through the properties...
I think he means by right clicking the control on the front panel and configuring with the properties dialog. The properties are exposed there, but not within the property nodes.
Edit: You beat me.
CLA, LabVIEW Versions 2010-2013 -
Property Node activated even though it's been removed from Block Diagram
Hi,
I messed around with the property node of one of my controls and when I was finished and removed the property node from the block diagram it still makes my control blink.
How do I make it stop??
Is the option of Enable state not possible to set in property node mode. I'd like to go from disabled and grayed to enabled.
Thanks.
Solved!
Go to Solution.Hi
Your blinking property might still be set. Add the property again to set it to False.
To set the enabled/disabled/grayed state use the "Disabled" property.
Hope this helps. -
Populate ENUM RING via Property Node String[]
Can you populate an ENUM Control using it's Property Node String[] Element? If not, is there a way to do this programmatically? So far I have failed to do this.
I am Using LV6.1.
ThanksMr. Kring can probably come up with a much better example, but here's a quick one-off example in LV 6.0.2.
Download both attached files. Open enum_target.vi, and note that the enum shows only a single choice, "Before". Open Change_enum.vi, and point the file control to the enum_target.vi. Run the Change_enum.vi. The contents of the Enum control in enum_target.vi should have changed to the string array in Change_enum.vi.
This is a simplistic example, but it should work. Explanations are given on the diagram of Change_enum.vi of how references are pushed around in it.
Attachments:
Change_Enum.vi 39 KB
enum_target.vi 7 KB -
Why knob need to use property node to change its value
Refer boiler vi in CLD exam sample question.
In the vi the knob vlaue is changed with a property node, it is not wired directly to a constant. The comment in the vi is something like "writing using property node because of the latch action of the booleans in the cluster"...
Huh? How do the booleans influence the knob even though they are in a same cluster? What principle is this called? I need to google this up, I didn't read it in.
my Labview books.
Attachments:
Boiler Main LV86.zip 61 KBThat comment doesn't make any sense.
There are two main reasons I can think of why you want to use a Value property node.
1. You want to control the order of execution by using the error wire.
2. You want to use a property node on multiple controls by feeding it references to different controls.
Neither of these appear to apply in the screenshot you show.
However, looking deeper, it looks like you can set the value of a specific item in the cluster by way of the property node. Check out the Link to section of its shortcut menu. I don't think you can use a local variable to set a given element of the cluster. Now you could change the value of the entire cluster. Read the cluster, bundle the new value for that one element, write to a local variable of the cluster. But you won't be allowed to do that because of the latched booleans that are a part of the cluster. Hover over the context help of that property node and read the description there as well. -
Is there any white paper on property node similar to this one on control references http://www.ni.com/white-paper/3159/en/. I am running into some problems with image property node and I have not been able to find useful information.
Frankly, that sounds like a problem with the image control itself. Is this control from a LV toolkit? Where did you get it?
Another thought I just had. Is this image control implemented as an XControl? Something I noticed once is that when you write to the terminal of an XControl, LV doesn't actually update the control unless the value has actually changed from the last time it was written to, but writing to the value property node would always update the XControl.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Condense property node elements
Hello,
Attached is a snippet of a program in which after the program goes into a specific state, the front panel elements are made either visible or invisible or there are value changes.
In my actual VI, I have a lot more front panel elements, and in trying to keep my code consistent and easy to follow, if I line up the propery nodes of the elements in the block diagram, the block diagram can extend to over 2 screens.
I would like to know if there is a procedure that I can adopt where I can condense the activation of the property nodes of elements from the front panel so that the property nodes do not extend over 2 screens as it makes it harder for my collegues with a laptop to follow.
Thanks,
hiNi.
Attachments:
Visibility.llb 39 KB
Visibility.llb 39 KBI would suggest that instead of using property nodes in each state to update the values of your indicators, you could just place the indicator terminals outside of your state structure (but within the while loop) and pass whatever value is appropriate for the state out of the case structure. Writing directly to the control instead of using property nodes will be faster and will save you a lot of space. It also generally scales better, as you've found out. You're already doing something like this for your status updates- why not the rest of the indicators? For hiding/showing elements, it would be more compact to use explicit instead of implicit property nodes and for loops. You can also use explicit property nodes within subVIs, which will go a long way towards making things smaller and neater.
Control References: Overview (Creating and using Implicit vs. Explicit nodes)
http://www.ni.com/white-paper/3159/en/#toc3
This may be oversimplifying things on account of your basic example, but in general you'll be better off grouping your indicator values into a cluster that's stored in a shift register (like your status string) and then modifiying the cluster contents as needed. This allows you to start adding logic in subVIs much more easily. It's a lot easier to avoid race conditions caused by writing values from multiple locations as well as things get more complex.
Regards,
Tom L.
Maybe you are looking for
-
FBCJ LINE ITEM AND FI LINE ITEMS ARE DIFFERENT
Dear Expert FBCJ LINE ITEM AND FI LINE ITEMS ARE DIFFERENT
-
Replaced my iMac optical drive with ssd - now I can't create a bootcamp partition
I have a late 2009 imac 27". Recently my imac hard drive crashed so I used this opportunity to replace the broken hard drive and also replacethe iMac optical drive with a SSD drive. The idea was to use the ssd drive as my bootcamp partition and boost
-
Help setting up accounts and user rights for students
hi there, we've just bought an xserve for a college classroom running 20 imac clients and me being new to the xserve and macs in general wondered if you guys can tell me the workflow for setting user accounts up and getting the students to log onto t
-
Injecting a watermark on images as they are viewed
We have over 60k .tif images on a Unix server. These images are engineering drawings from A to J size. When an image is selected via IE or Netscape our current proprietary viewer displays the image. We need to watermark each image when displayed or w
-
Installing xml parser jar files in oracle 8i
hi list please i need help on how to install xml parser jar files manually into the database we have 8i running on windowsNT box i have checked my database these classes are not there . thanks