12-07-2005 02:48 PM - edited 12-07-2005 02:48 PM
Hi Clint Eastwood (!),
You can do almost anything in LabVIEW - but finding the most efficient way is
what the art is. You CAN indeed access the properties of the element INSIDE the
array. I have shown this in the attached "ChangingProperties.vi" as
the first part. The problem with changing the properties of an element inside
the array is that once you change one element, you change ALL elements. This is
because the array simply stores the "type" information for one
element and the difference between each element therefore only can be the
value.
So what if you actually use 960 indicators in the front panel? Other than
taking you a month to manually create the front panel, there is actually a way
to access the properties of a certain indicator - without having to create 960
Property Nodes. In the "ChangingProperties.vi" I am accessing one of
two indicators using only the name of the indicator to specify which indicator
to access. You will then have to do the code that decides exactly which indicator
you need to change.
Okay, the above two solutions both have issues in terms of development time,
readability, maintainability and scalability. I definitely see the best
solution in your case to be the use of two 2D-arrays on top of each other. One
array (let's call it "Array 1") will show the actual value of the
channels in numbers and the other array ("Array 2") will show
different colors depending on the different states that you want. I chose to
use a Color Box as the element in Array 2 to give you more than the two options
(True/False) you would have had if you used a Boolean indicator instead. In the
attached "MultiArrayColors.vi" I compare the values of each element
in Array 1 with the specified Threshold value and colors (green or red) the
Array 2 according to the result. I also compare with a second condition to
color some of the elements a third color (blue).
The hardest part of the third solution is to color every part of Array 1
transparent. It is done fastest by coloring the element and the empty array shell
transparent before you insert the element into the array shell. After that you
just put Array 1 on top of Array 2 and use the "Reorder » Move To
Back" option from the toolbar to make sure that Array 2 is places behind
Array 1.
Let me know what you think, thanks.
Have fun - and more of it with LabVIEW 8!
Message Edited by Philip C. on 12-07-2005 02:49 PM
12-08-2005 05:19 AM
Philip,
You're a "proven active veteran" so I'm sure this will work. Give me some time to try it. I'm a big advocate of LV. I tell everyone whatever they can do in CVI I can do in LV.
Clint
12-08-2005 11:55 AM
Philip,
Can I customize the elements in the array you sent me ? Right now they're colored rectangles. Can I make them round and a specified radius? On that same note can you specify the radius size ?? I'm trying to overlay the digits into the rectangular array elements and without trial and error I don't know how big to make them so that one fits inside the other.
12-11-2005 10:06 PM
12-13-2005 07:44 AM
12-15-2005 10:45 AM
12-15-2005 10:58 AM
12-16-2005 04:17 PM
01-04-2006 07:10 AM
Ryan,
I'm working w another Engineer who called National to get a SR#. Is there any way you can take control of that SR# so we can discuss this over the phone ??
( SR# 749607)
Thanks
01-04-2006 04:51 PM