LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

addressing 16 x 16 architecture

Solved!
Go to solution

Hi All

The attached xlsx file shows a 16 x 16 table of frequency addresses........matrix stlye....notice it has element ids in diagonal arrangement (more than 1). The examples colour highlighted in the file show what ports would receive a signal if sender card dispatched a signal

 

There is no hardware involved in this project, just a simulator to display addressing arrangement. If this was done in hardware, then each module would comprise of 16 cards with 16 ports on each card.

 

Down the first column is a list of 16 cards (they will be represented in the vi by a boolean switch), named card 1 to card 16.

 

Other column represent a "to card" (again 1-16) with each card having 16 ports, labeled lambda1 to lambda16 (each port will be represented in the vi by an LED)

 

If a switch is pressed (say card 1), then the correspondingly named ports (lambda1) on each "to card" should illuminate.

 

Now a couple of questions.

 

1. Is this a problem more suited to the use of the matrix functions (I have built both arrays of switches and leds and started to build clusters of each, but adding 256 seperate leds is a right pain), or use arrays.

2. When I built an array of switches and LEDs, I couldn't name them individually....when I changed the name of one switch they all changed....this is why I attempted a cluster......is this action correct?

3. Is it possible to insert the lambda symbol rather than text.

 

I've looked at quite a lot of examples (in the help) and on this forum using search terms like "matrix", "matrix led" and different other permutations, but haven't found anything that is close to this.

 

Any hints or directions as to how to realise this would greatly be appreciated.

 

Once again, I am in your debt

 

best regards

Ray

 

 

 

 

 

0 Kudos
Message 1 of 10
(3,913 Views)

I would use a Multicolumn Listbox sized to 16 x 16 for this task. You could conceivable get the LabVIEW code to look just like your Excel page. Each cell in a listbox can be programmatically colored, and any text can be entered into the cells (although I'm not sure how to do lambda, I think that's up in Unicode area).

The switches could be a cluster sitting to the left of the Listbox.

Richard






0 Kudos
Message 2 of 10
(3,887 Views)

Hello Broken Arrow

 

I've started some code (attached FYI....LV 2011), and am using clusters of booleans and using the array>cluster and cluster>array vis to do various actions on the individual booleans.To actuate the illumination of the LEDs, I'm using an event structure.

 

It's a lot (and I mean a lot) of boolean indicators.

 

As I say......I've just started and it's pretty crude at the moment, so  the attachment is not set in concrete yet.

 

Eventually the size of this thing will grow to 256 cards, each card with 16 ports and 16 cpus' (still CIC)

 

Thanks mate

I appreciate your time and help

 

Regards

Ray

0 Kudos
Message 3 of 10
(3,869 Views)

The VI is a bit clearer than your original description, but I still can't understand what you're trying to do.  Why do you set the Value (signaling) property on controls that don't have any events associated with them?  What do you hope to accomplish with the event structure?  Why do you need so many hidden controls?  If you're always using diagonal patterns, seems to me that using a 2D array and some math will be a lot easier.  When you click a Sender Card button, is the idea for the appropriate set of booleans to light momentarily, or until a different Sender Card button is pressed?

0 Kudos
Message 4 of 10
(3,859 Views)

A bit of quick hacking... does this do what you want, or have I misunderstood the goal entirely?

16x16 sender grid.PNG

16x16 sender code.PNG

0 Kudos
Message 5 of 10
(3,856 Views)

Hello Nathand

 

Very close, but not quite the cupie doll prize

 

The intent is for the user to press any of the sender buttons and illuminate the LEDs associated with the cross matrix arrangement shown in the xlsx file. The matrix does contain diagonal as I pointed out in my OP, but can contain more than 1 diagonal. As I said, this matrix will eventually grow to 16 x 256 (that is a system with 256 cards, each containing 16 fibre optic ports and 16 cpu's per card)

 

Example if the user presses the Card 7 button in the first column of the matrix, then ALL Leds associated with this button illuminate, more clearly any LED with the name Lambda 7....and so on.

 

The trouble with using the array for the LEDS is that the LEDs cannot be named individually......and this IS important from a demonstration point of view.

 

Ideally (but I'm pretty sure LV can't do it...please correct me if I'm wrong) the LEDs should use the greek alphabet lowercase symbol for lambda (such as represents wavelength) in the naming convention.

 

After a lot of searching on the forum I was led to believe that clusters were the way to go because of the way arrays are handled (labelling that is).

 

The code has not been completed, that is why not all frames of the event structure contain a property node for the allied leds. So, I was simply going to use the pressing of a button to fire an event and illuminate  those leds associated with that button.....

 

Hope this is clearer. I can't give away too much information as it's still CIC. This code is simply for demonstration purposes of an addressing architecture

 

Thanks Nathan

 

Regards

Ray

 

0 Kudos
Message 6 of 10
(3,851 Views)
Solution
Accepted by rayclout

Well, as long as there's a consistent arrangement to the diagonals, it's a lot easier to do the math than to wire each one individually.  It would help if your example demonstrated what you mean by multiple diagonals.  Do you mean the same pattern repeats again?

 

Is this the appearance you want?  All I've done is add a transparent array of transparent string indicators, matched to the size of the booleans and placed on top of the boolean array.  The font is set to Symbol, in which the letter 'l' corresponds to a lambda.

16x16 with lambda.PNG

create lambda labels.PNG

Message 7 of 10
(3,836 Views)

Hello Natahn

Wow.....that's exactly the effect I'm after, and done with so little coding. I'm definitely suitably impressed

 

I wish I had the experience and ability that you have for this type of coding. You make it look so easy.

 

Do you mind if I give your example a go and build it myself. I'd like to get the experience?

 

Thanks again and best regards

Ray

0 Kudos
Message 8 of 10
(3,832 Views)

Of course, build anything you like!  I'm happy to help, and making it look easily comes in large part from seeing how others have done similar things.  In LabVIEW user interface design, transparency and stacking controls on top of each other are useful techniques.

 

One trick that I used: right-click the boolean control and hide the decal (under Visible Items).  Otherwise it's hard to get the arrays to line up, because when you make the string the same size as the boolean, the decal isn't included in the size even though it takes up space.  Also, make the label array transparent before you drag a string control into it.

Message 9 of 10
(3,829 Views)

Thanks Mate

I given this solution the thumbs up and you the kudos

 

Great help

 

Thanks again

 

Ray

0 Kudos
Message 10 of 10
(3,819 Views)