Quote:
|
In Labview, is there a way to load multiple autonomous programs ...
|
Absolutely. In the basic framework there is the static reference to the Auto Independent. In the Advanced framework, this is in the Begin VI. The approach will be to make a VI reference to an additional VI. The one wired out and going into the Get Mode will be the one selected when the DS transitions to auto mode.
To make another VI for autonomous, open the Auto Independent VI and Save As... to a new file leaving the existing stuff alone. Drag a copy of the static VI reference (a container with a tabbed corner) and place it near the current one. Drag the new VI on top of the static VI reference node. Now you should have two static refs one pointing to each VI. You now need to have some logic to select which one is wired out. You can use a text file, a dip switch, a digital switch on the robot, etc. If you want to use the data coming from the DS, you should wire all of the VI refs into the loop and select inside of the loop.
If you want to, you can even use VI paths and have a full directory of stuff to run. The static VI ref is an easy way to make sure that the VI gets deployed to the cRIO and loaded into memory. But if you update the project build spec or use ftp, you can put as many VIs on disk as you like. Then instead of using the static VI ref, you use the VI Open node with a path to the VI on the cRIO. Now you need a way to select which one runs. Again, you likely want to put this inside the loop that calls Get Mode.
Greg McKaskle