As an instrument scientists and user I would like LabVIEW VIs from previous experiments to be closed when I change configuration.
This was a support call from GEM - they had been running the Mercury (which is lvDCOM) and moving to a new setup / stopping the IOC left the LabVIEW VIs still on the screen.
This is not an easy situation to handle. The lvdom IOC can stop a VI it has started, and probaly close its front panel too if necessary, but the IOC is usually terminated by procServ and so no exit handlers get chance to run. We could modify procServ to send an "exit" before termination to give this chance to happen. As all VIs share the same LabVIEW instance, terminating LabVIEW is not always the right solution. Another option would be to bundle VIs in separate applications, then there would be a 1:1 between IOC and Labview VIs and then there is the option of using job objects to tie IOC and VI lifetime together.
As an instrument scientists and user I would like LabVIEW VIs from previous experiments to be closed when I change configuration.
This was a support call from GEM - they had been running the Mercury (which is lvDCOM) and moving to a new setup / stopping the IOC left the LabVIEW VIs still on the screen.
This is not an easy situation to handle. The lvdom IOC can stop a VI it has started, and probaly close its front panel too if necessary, but the IOC is usually terminated by procServ and so no exit handlers get chance to run. We could modify procServ to send an "exit" before termination to give this chance to happen. As all VIs share the same LabVIEW instance, terminating LabVIEW is not always the right solution. Another option would be to bundle VIs in separate applications, then there would be a 1:1 between IOC and Labview VIs and then there is the option of using job objects to tie IOC and VI lifetime together.