04-15-2010 01:25 PM
I've created a functional global VI to control a spectrum analyzer. All of the functions work well but when I use a couple of these functional globals as subVIs to set the spectrum analyzer (see attached picture) the unitialized shift register either lose the VISA resource name information or open multiple instance of this resource name (as showed in the attached picture). I've tried setting the functional global execution system to instrument I/O and User Interface but it did not solve the problem. When I run the Spectrum Analyzer Settings VI it sometimes give me all the good settings and most of the time only the first one or none. I have a feeling there is something fundamental I'm doing wrong but I can't point it out.
Any idea?
Thanks
Ben64
04-15-2010 01:42 PM
Your VI has about a billion unfound VI's, at least on my computer.
Do you have the FG (a.k.a. Action Engine or AE) set to reentrant?
04-15-2010 01:56 PM
Thanks for your answer Broke Arrow. My VI is not set to reentrant and it uses the VIs from the HP8563EC driver (that is probably why you have a lot of unfound VI, I didn't think about it before posting it). I also just found out the cause of the problem, some unused preliminary code that was far away for the main code in the block diagram. Which makes me think at this: When it doesn't work, it may be a good idea to launch the navigation window (Ctrl+Shift+N) just to make sure nothing is hiding somewhere on the block diagram.
Thanks again
Ben64
04-15-2010 01:59 PM
You can also do a find all instances of the VI to make sure there isnt an instance you left off screen. Also make sure that all cases inside the action engine pass the visa reference and it is only writen to in the initialize case (I like to leave the use default if unwired off to avoide the potential bug here).
04-15-2010 03:11 PM