06-10-2009 04:10 AM
Hello,
is there a way to find out the labview-version of a vi?
I have different projects here and o am not sure which project is created with which labview-version.
Now i can do it manually to open each vi with different lv-version and check when i can opn it.
Or is there a tool that can do this for me?
thanks for tips
06-10-2009 04:16 AM
Hi OnlyOne,
see this link
http://forums.ni.com/ni/board/message?board.id=170&message.id=380921&query.id=11176#M380921
There's also a program which can read this info without using LabVIEW, you'll find a link here in the forum.
Mike
06-10-2009 07:51 AM
03-13-2014 04:15 PM
Mike,
You said, "There's also a program which can read this info without using LabVIEW, you'll find a link here in the forum"
Can you be more specific? I've checked around unsuccessfully.
Thanks,
Ted
03-13-2014 04:39 PM
Not sure if this is what others are refering to or not but there are a few options.
LabVIEW Shell Launcher: http://lavag.org/topic/12241-labview-shell-launcher/
LabVIEW Tray Launcher: http://lavag.org/topic/11333-labview-tray-launcher/
I made that last one but so long ago I don't even know if it works for newer versions of LabVIEW.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-14-2014 07:11 PM
Hoovahh,
Thanks for your reply. Those both seem like really useful utilities... It would be great if NI could incorporate some variation of those into their user interface for everyone to use!
What I really needed was a utility that would recurse through a project folder hierarchy and tell me the version of each of several hundred vis in a project. Ultimately I wrote the utility that I'm attaching to this post. It's in LV2012, so it will only report LV versions up through 2012. If I saved it in 2010, then it wouldn't recognize LV versions later than that. I almost got to the point of byte-parsing the binary vi files to pull out their version numbers, but decided instead to use standard LV functions.
My utility will examine all vi, vit, and ctl files. lvproj files throw error 1059 when input to Get VI Reference. One could trap the error and add additional code for this special filetype, but time was getting short. The vi generates a .csv file output that you can open as a spreadsheet to sort columns, etc and use as a map to ferret out version issues in project folders that might have become inadvertently "corrupted".
I hope some of you find this useful... it was fun to code, this "VI Version Finder.vi".
Cheers,
Ted
03-14-2014 09:05 PM
Just open a vi ref to the vi. vit. ctl...... whatever and read the vi property Source version
Or is that only available through ctrl+i? <my browse did not find it> but, I often look in the more obvious places...
03-17-2014 07:54 AM
@TedAnderson wrote:
Ultimately I wrote the utility that I'm attaching to this post. It's in LV2012, so it will only report LV versions up through 2012.
This isn't true at all. The "Get VI Version" invoke node will return the version of the VI, regardless of the development environment. If you used that property in LabVIEW 7.1 and the VI file was a 2013 it will return the version 2013 which is the version of the VI, not the version of the developement environment.
My utility will examine all vi, vit, and ctl files. lvproj files throw error 1059 when input to Get VI Reference.
This is because the project is not a VI and getting the VI reference to a non VI file throws an error. To do this you would need to use the Project >> Open Invoke node to get a reference to the project, and then use that reference to get the version.
I also couldn't help but notice you aren't closing any of your references that you are opening. This will mean each time you run this VI your memory will increase. It will also increase much faster with a larger number of VIs. Put a Close Reference function closing all the VI references you open.
If you are interested in reading the version from disk instead of opening references you will need to look at the "vers" block data in the VI. Assembling it is a little bit of a pain but you can figure it out if you know the version you are looking for when developing the code.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-21-2015 12:35 AM
Yes.
The "App version" under "Owning App" property node will return the current LabVIEW version but not the LabVIEW VI development version.
Inorder to know the LabVIEW development version, open particular VI for which you want to see the development version and press Ctrl+I, under Source version the VI development version can be seen.
To my knowledge, there is no property node currently available in LabVIEW version 2012 (which i am using), to return the LabVIEW version in which the VI is actually developed.
01-21-2015 02:32 AM
Actually there is a VI server method under the Application class App->Get VI Editor Version, that accepts a path to a LabVIEW file and returns the LabVIEW version used to last save that file. The advantage is that this method doesn't load the entire VI into memory but only examines the according data parts on disk. And it works even for VIs that are saved in a newer version than the version used to create the utility to execute this method (within reasons, there are always possible changes in the future that may break this).