05-15-2011 06:59 PM
I am building a vi that records data from several channels and shows the waveforms on individual graphs. the screen will look too busy with graph palettes for each one. Is there a way to turn them on/off by a mouse-over or something? attached is a screen print of the front page (a work in progress) with one graph palette showing. I'd like to make them an option, if possible..
05-15-2011 10:31 PM
Instead of plotting several channels data on individual graphs, you can plot these channels data on a single graph itself with color differentiation.
05-16-2011 02:46 AM
Thats pretty easy.. put the property node of the graph in event structure and selecting an event vith the "mouse enter" and a other event with "mouse leave" events. It works good when you have only a few graphs.
I've just see your front panel, and I don't know if your realy need to have all graphs in one block.. (there's a lot..). As I'm tryin to explain before, that's would mean that you must have many property nodes (one for each property visible/invisible, and for each graph)..!
Maybe can you make some graph groups, or using pop-up graphs, or using an X-control to minimise your code (wires on BD)
¨
Best regards
Fred
05-16-2011 03:18 AM
Instead of putting property nodes for all those graphs into the event structure directly, I'd suggest to decouple the events from the property-related work. Use some communications like queues or similar to send some commands to hide and show the respective graph's palette.
Background: property node work runs in UI thread only and requires a redraw of parts of the screen, which can cost some CPU effort. It is considered bad style to have costly task being performed directly in a repeated event structure, as it could slow down reaction time. AND, having a parallel running loop that consumes the sent commands, this one can keep records of what was shown and should be hided now and what was hidden and must be shown. So one can reduce work.
Search for 'producer/consumer' in the LabVIEW examples!
Greetings from Germany!
--
Uwe
05-16-2011 06:11 AM
thank you all for your help with this. I agree that 60 channels looks pretty busy but that is just so I can see which channels are firing.
Here's a little background - I am recording small signals from dissociated neuronal cultures or small sections of (mouse) brain slice using an MEA and many of them are so close together that combining them to one graph may hide the signals of interest. Right now, my front panel looks like four tabbed folders on a page with the first being the simple collection of analog signal from all channels. The second tab of this has only a few graphs (selectable by the user to see close-ups of the few channels of interest) so that is probably where I will use the property nodes (although I like the idea of pop-up graphs and will look into this also). The third tab contains images from a microscope camera to see the morphology of the slice (or neurons) over the glass MEA under a fluorescent microscope, and the 4th tab is an area for sample/culture information so I can keep my sample info with its respective data.
It may be too much to ask for one program but so far it appears to be working . I am currently working on "pretty-ing" it up and then am hoping to compile to make it an executable... My thesis advisor wants it idiot-proof. Too bad I am an idiot! This is my first time using LabView and have no programming experience at all so a lot of this seems foreign to me. I really do appreciate the various user groups and the support from other LabView users. Thanks again for all your advice!
05-16-2011 07:40 AM
Some other ideas which may help
This kind of thing is hard to do well, and there is no one right answer. You will need to learn how to use the event structure effectively. Try a few test cases before implementing it in your main program. Good luck! If you have ideas of what you would like to do, but do not know how to do it, let us know.
05-16-2011 09:55 PM
This seems like a question that should be asked in the forum rather than posted in a community group.
http://forums.ni.com/t5/LabVIEW/bd-p/170
05-24-2011 11:40 AM
Probably an XControl should help you.I've written an example in the attached zip file.
Open the XChart.lvproj and Test.vi located in VIs folder.
Test.vi has 6 charts, but you can put as many charts as you want simply by coping one of them.
The code for turning graph palettes on or off is embedded in the XControl (see XChart folder).
I hope it can help you.
Paolo.