Hi cbauer,
The
Creating Simultaneous Instances Remote Panels LabVIEW Applications tutorial that you are following, is correct in stating that the VIT approach is possible when publishing multiple Remote Panels simultaneously. One thing that's not too clear is that the clone VI has to be saved to disk before being able to be embedded to the HTML page. However, when trying to do this on a Runtime system (executable) problems occur when trying to save the clone to disk. This is because the "Save Instrument" method not only saves but only tries to compile the code before saving (a clone created from a VIT will always have unsaved changes). Only the Development System can compile VIs, so the executable will return an error 1043 when trying to save the clone VI.
Well, let's call the above limitation a challenge and look for a new approach. Instead of using a VIT as a "master" for the clones, use a normal VI instead. The trick is now to use the standard File I/O functions to make a unique copy of the VI and use that as a clone instead. The only downside is that you will have to manually create a unique name for the copy - something the VIT method automatically took care of. Well, the best thing about the copy method is that you can use it from an executable since no compiling is ever required.
One thing that is important though is to save all subVIs and VI.LIB VIs inside a folder or DLL so the VI is not dependable of the executable. Also, the copy VI has to be placed next to the original VI, so they have the exact same relative paths to all subVIs.
I have created a small example that you can play with. Each time Launcher.vi or Launcher.exe is run, they automatically creates a copy of "a.vi" and gives the copy a unique name ("a1.vi", "a2.vi", "a3.vi", etc.). Then it launches the copy and then stops. Therefore calling Launcher.vi or Launcher.exe will create multiple instances of "the same VI" and let then run simultaneously.
Please give my example a try and let me know if you have any questions, thanks.
Have fun!
- Philip Courtois, Thinkbot Solutions