Showing results for 
Search instead for 
Did you mean: 

Compare VIs tool for shared variable libraries

Go to solution

Hello all,


Can anyone tell me if there is a way to perform a peer review of a shared variable library to see what was changed from a previous version, similar to the Compare VIs tool for VIs in the Professional version of the LabVIEW development software?


Thank you for your time and assistance!



0 Kudos
Message 1 of 6

If it is being maintained with good "Version documentation" in a Version Control System, you can look at the logs and see what changes were made.  I gather you do not have the Compare VIs tool at your disposal, so you'll need to create some form of (possibly a database) "structure" for your note-taking.  If you are fortunate that most of the VIs and other code entries are fairly modular, you should be able to open "before" and "after" versions of the code (you might need to independent LabVIEW "instances" to open VIs of the same name) and make notes on what was changed, if necessary.


It may be difficult, however, to beat the "Compare" tool ...


Bob Schor

0 Kudos
Message 2 of 6

Hello Bob,


You misunderstand my original comment, and I apologize if I was not clear.  I do have access to the Compare VIs tool, and use it extensively to independently verify exactly what was changed between revision A and revision B of a given VI; relying on the check-in comments of the developer is not a rigorous peer review technique.


However, the Compare VIs tool does not work on files of type .lvlib, including those that contain a bunch of shared variables, so it is difficult to tell when, for example, a single shared variable within a list of 20 of them is changed to use a different type definition for its type.

0 Kudos
Message 3 of 6
Accepted by topic author jmorris

The lvlib file is an XML document. You can use a text compare to see the differences.

Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
Message 4 of 6

When dealing with Project .lvlib files, I use a "file compare" tool (such as a text editor) to compare the (largely text) .lvlib files.  When things are really messed up (meaning "Not My Code, thank you very much") (or "only rarely do I make such a mess"), I sometimes do the following:

  1. Decide on a Folder structure for the Project File.  I almost always have a "Data" folder, a "Documentation" folder, a "Resource" folder (icons for Executables go here, for example). and if the Project warrants, folders for major Project Software sections, such as "Host" and "Target" (for LabVIEW RT), each with sub-folders of "Sub-VIs" and "Types".  Let your imagination be your guide.
  2. Take the VIs and other files (such as TypeDefs, documentation, Configuration files, etc.) and save (copies of) them in your Folders.
  3. Once all the software is organized in physical folders on Disk, create a Project and have it "swallow" your disk structure, creating a set of virtual folders that match the physical structure you just created.

Note that this omits Libraries (including "Reuse Libraries"), so is not necessarily "Best Practice".  But if you are walking up to someone else's mess disorganized set of files, sometimes "starting over" and working "forward" is easier and quicker than trying to unravel the tangled web.


Bob Schor

Message 5 of 6

Thank you Mark, that is exactly what I needed!  Simple, easy solution that I was overlooking; I didn't realize that .lvlib are (mostly) plain text files and I can just use my text comparison tool to easily pinpoint exactly what items changed between the two revisions, and frequently the exact ways in which they changed.  Perfect!

0 Kudos
Message 6 of 6