12-15-2020 07:06 AM
Hi!
I'm looking for some design advice on how to approach a relatively simple function but with what feels like a particularly difficult (labourious) implementation.
I'm looking to simulate an array of nozzles but am unsure of the best way to approach it in LabVIEW. What I was planning on doing was having an array of booleans for each row, which would save to an XML file to be processed by the hardware - fine. However, some nozzle arrays can exceed 2000 nozzles. Rather than copy and pasting, is there a more efficient way to generate this? To go through and name each control would be a nightmare!
I'm less worried about the horizontal width of the VI as this can be horizontally scrolled so fitting onto a single screen isn't essential
I suppose this could this be done with an image control with 4px x 50px where the pixel values are read and written and an appropriate value of 1/0 could written to the XML. However, this would be limited to clicking on a single pixel which wouldn't be so easy
The only value I need to store for each is either on or off.
What is the best way to approach this from a design perspective? Image included is representative of what I am trying to achieve, before actually writing any code.
Any input from and advice would be greatly appreciated.
Thanks for your time.
12-15-2020 08:16 AM - edited 12-15-2020 08:16 AM
Hi!
To be honest, I have no idea what exactly the problem is.
Are you looking for a 2D array like this? (I used a classic boolean control, which looks like a big pixel)
12-15-2020 09:32 AM
@Aidan85 wrote:
Hi!
I'm looking for some design advice on how to approach a relatively simple function but with what feels like a particularly difficult (labourious) implementation.
I'm looking to simulate an array of nozzles but am unsure of the best way to approach it in LabVIEW. What I was planning on doing was having an array of booleans for each row, which would save to an XML file to be processed by the hardware - fine. However, some nozzle arrays can exceed 2000 nozzles. Rather than copy and pasting, is there a more efficient way to generate this? To go through and name each control would be a nightmare!
I'm less worried about the horizontal width of the VI as this can be horizontally scrolled so fitting onto a single screen isn't essential
I suppose this could this be done with an image control with 4px x 50px where the pixel values are read and written and an appropriate value of 1/0 could written to the XML. However, this would be limited to clicking on a single pixel which wouldn't be so easy
The only value I need to store for each is either on or off.
What is the best way to approach this from a design perspective? Image included is representative of what I am trying to achieve, before actually writing any code.
Any input from and advice would be greatly appreciated.
Thanks for your time.
Why wouldn't a 2D Boolean Array work for this?
You don't have to label every Boolean in the array, since arrays are indexed by row and column.
12-15-2020 09:39 AM
I was also thinking of a 2D picture control that is just a giant image. I thought this might be useful because I'm wondering if you are planning on toggling them on and off, and with the 2D picture control you can capture a Mouse Down event, and then dragging around can turn them on and off. Of course at this point we are starting to approach what a paint program would be and that got me thinking that might be a fine solution if the user is turning them on and off. Just have them draw it in a picture, or load the picture on the front panel to display it.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
12-15-2020 10:07 AM
To drastically reduce the absurd amount of horizontal scrolling that would be required for that many booleans in a row, my two cents is that you should put an enum somewhere (top left is first spot I thought of).
The enum has values:
1-100
101-200
201-300
...
1801-1900
1901-2000
The rows of booleans on the front panel become 100 long, and changing the enum changes which 100 get displayed. Could also add hotkeys to display the previous 100 (ALT+F1 etc.) or next 100 (ALT+F2 etc.).
Saying "Thanks that fixed it" or "Thanks that answers my question" and not giving a Kudo or Marked Solution, is like telling your waiter they did a great job and not leaving a tip. Please, tip your waiters.