05-28-2009 11:06 AM - edited 05-28-2009 11:11 AM
I have programmed a VI, which controls several I/O modules from different producers (e.g. ADDI DATA and Meilhaus evt.).
If I update the driver of an I/O module, the driver will be stored in a new folder with a new file version name (e.g. C:\Meilhaus\ME-iDS\01.02.24.000\SDK\LabVIEW\access\meOpen.vi instead of C:\Meilhaus\ME-iDS\01.02.21.000\SDK\... )
How can I make my VI to automatically realise, that there are new drivers for the I/O modules?
Now I cannot update any driver without changing the code of my VI or manualy changing the folder name of the driver, which is not good.
LabVIEW 7.1
Johannes
05-28-2009 11:44 AM
05-28-2009 01:06 PM
Another option is making a 'proxy vi' for every method.
If you have the OpenG builder installed you can open any of the API VIs.
This consist of a proxy VI
Just after the path constant that defines which VI is called is a proxy Path VI.
Here is a screenshot of the code inside that VI:
The only thing it does is creatte a path consisting of a folder with the called VI name.
Now if you move the driver to a new location the only thing you have adapt is the Proxy path VI.
But I am curious why would you place the code in a specific version folder, if you create an upgrade routine you could go without change the calling code.
Ton
05-29-2009 04:13 AM
Ton,
> I am curious why would you place the code in a specific version folder, if you create an upgrade routine you could go without change the calling code.
Its not me, who does that. If I update a driver of an I/O Module, the new driver will be stored in a new location. I also wonder why they do that.
Fact is, the new drivers are in a new location.