05-10-2015 06:16 AM
rolfk, thank you very much. A little more clarification is required on the processes concept that you have explained.
To my understanding, you are suggesting to use VI server methods to invoke another VI and some how make it run as new instance of LabVIEW. May be this helps in creating a second LV process while one LV development process is running.
If there are two LabVIEW exe's (two applications) running, will they run under the same process? (I think No)
I think the two LV exe's run as two different processes with two copies of LV execution engines with them.
Does the crash of one process close the other process as well? (I think No)
So, we can have two LV processes simultaneously running as two separate Exe's by default, isn't it?
05-10-2015 06:34 AM
Yes each executable starts a new process. And in the case of a LabVIEW executable its INI file can define if and with what port number the VI server should be started up. But then you don't neeed an asynchronous VI call. The second executable is by its very nature already asynchronous. You will need to define some kind of interprocess communication interface. VI server is one possibility for this and a pretty simple one at that. You define certain VIs that you can call from the other process and which inject commands into the second exe to do something.
However I'm not sure that a DAQmx task handle passed to another LabVIEW process has any meaning there. But a test for this is fairly easy to devise.