LabVIEW APIs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Make Optional Changes to an Express VI while running Parent VI

I am a self-taught Labview user and I am looking to integrate a the Multiresolution Analysis Express VI with my code to calculate an impulse response function, however I would really like to have the option to open the configuration panel and change my settings, or continue with the established settings, while my VI is running.  I found a discussion on the board explaining how to programmatically run the dialog (http://decibel.ni.com/content/message/15131#15131), but I don't understand all of the language.  For example, I don't understand what "private method of the Node Class to Launch  Config" means.  Although I did manage to put a configuration VI on the panel, by going to "Select a VI..." on the  block diagram in inserting the configuration VI directly.

Config Prop.bmpConfig Prop.png

I found the subSource VI, however I can't figure out how to create a  reference to it, since I can't use "Open VI Reference."  Does anyone have any  suggestions?

Thanks,

Bianca

0 Kudos
Message 1 of 3
(3,540 Views)

Bianca,

I am not sure if your attempt can be followed successfully; but I tried a similar aproach for another express VI. And I could not come to a satisfying solution. What I found and what was good enough for me was having a case structure with differently configured express VI setups inside the different cases. But this can work only if you know what different configurations you will need.

AND there's another aproach: Right-klicking your express-VI enables you to open its FP. Ignore the warning, but save the opened (former express-VI) under a different name and location as now_your VI. Close every other VIs referring to the former express-VI and DO NOT SAVE 'em. Afterwards you can re-open 'em and have all the linking still intact, but you also have now a modifyable copy of you express-VI. You can modify all the parameters and write 'em to your copy at least with VI-server commands than.

Hope you got the idea. Ask specific Qs if you are interested in more details.

Greetings from Germany!

--

Uwe

0 Kudos
Message 2 of 3
(2,644 Views)

If you want to change the configuration while running, you will need to write your own code to do this.  As Lul said, open the front panel of the Express VI and copy the code to your block diagram.  You may have to do this several times if the different configurations call different subVIs (depends on how the ExpressVI creator generates the code).  Merge the result with the appropriate case and event structures and you will be good to go (this trivializes what will take awhile).  I would suggest the following program structure.

  1. To handle changes to the front panel controls, use an event structure in a WHILE loop.
  2. To handle data acquisition, use a state machine with commands received from the event loop.
  3. To handle data analysis (your question here), use another state machine with data and commands from the data acquisition loop and commands from the UI loop.

As you might imagine, this is not a trivial exercise.  If you want a quicker fix, you can probably merge the data acquisition and analysis loops.  Let us know if you need more help.

0 Kudos
Message 3 of 3
(2,644 Views)