02-16-2012 07:55 AM
Hi all,
We are trying to build a plug-in architecture (https://decibel.ni.com/content/docs/DOC-15014), using lvlibp (https://decibel.ni.com/content/docs/DOC-19176) and DataTranslation Lvlink 3.0 drivers for Data Translation DAQ boards (For those interested, this can be downloaded from
http://www.datatranslation.com/products/dataacquisition/software/lv-link.asp).
We followed all the directions in the above documents, and our plugin exe runs excellently on any computer that already has LabView 2011 installed on it (the full developer version). On a "clean" computer, without LabView but with the DT boards installed, we get the following error:
"Missing SubVI Images.lvlibp:DtLvLink.lvlib:Lvi Get Board Names.vi in VI Images.lvlibp:DTOLGetBoardNames.vi."
DtLvLink.lvlib is the lvlib supplied by Data Translation. Images.lvlibp is our packed library module. When compiling Images.lvlibp, it claims to be adding DtLvLink.lvlib, but the exe still can't find it. Adding it to the "always included" area did not help. Attempting to add it directly to our module library caused numerous broken errors and necessitated reinstalling the DT LvLink library.
A simplified version of our code is attached, along with a Readme.doc explaining what each project is and how to recreate our problem. Originally an installer was included, but this made the file to big to post.
We would very much appreciate any help.
Thanks in advance,
Danielle
Solved! Go to Solution.
02-16-2012 07:59 AM
The post translated : and D as happy smiley. The actual error message is:
"Missing subVI Images.lvlibp: DtLvLink.lvlib:Lvi GetBoard NAmes.vi in VI Images.lvlibp: DtOLGetBoardNames.vi"
Thanks,
Danielle
02-17-2012 11:27 AM
Danielle,
I'm assuming that you have the proper LabVIEW RunTime Engine installed on your target machine. Is this the case?
I would recommend opening your project and executing a mass compile before building your executable. This will help resolve directory issues that may be responsible for this strange behavior. To do a mass compile, from your LabVIEW project select Tools >> Advanced >> Mass Compile. Then select the directory of the project to compile. Mass compile can often resolve a variety of problems. Give mass compile a try and let me know if it works.
-Nick-
02-25-2012 01:10 PM
Hi Nick,
Thanks for your answer. Yes, we have Labview runtime installed (we created an installer of the program, and used the installer to install our program. The installer includes the LabView 2011 runtime). In addition, we tried to install it on a computer without LabView installed but another LabView based stand alone application installed. The other program works fine (it is not plug-in architecture). The plug-in program does not.
I tried to mass compile - no change. The same error appears. No problem running on a computer with LabView installed.
If you have other suggestions, it would be appreciated.
Thanks,
Danielle
02-27-2012 06:18 PM
Hey Danielle,
What we can clarify from here is that... the Lvi Get Board Names.vi (which is accessed as a subVI) is missing from DtOLGetBoardNames.vi. On your working machine, where is this VI stored in memory? Then, on your not working machine, where are the DtLvLink.lvlib vi's stored?
02-28-2012 12:53 AM
Hi Tim,
On the working machine, the DtLvLink.lib is stored in C:\Program Files\National Instruments\LabVIEW 2011\user.lib\LV-Link3. On the not working machine, it searches for these files in the lvlibp we create from the plug-in module. When compiling the plug-in module into a packed library, it says at the beginning "processing DtLvLink.lib". However, LabView run-time doesn't find it there. Opening the lvlibp with LabView doesn't show it there either, only the module class.
As I said before, adding the DtLvLink.lib to "always included" when compiling did not change this.
Thanks,
Danielle
03-01-2012 01:00 PM
Hi all,
Two more things were tried: I tried installing it on a computer with LV 8.5 installed. It doesn't work there either (LV 8.5 doesn't have lvlibp, maybe that could be part of it?). Also, I tried putting the DTLVlib inside the same folder as the lvlibp - still no success.
Any ideas would be appreciated. Otherwise, we would need to either use dynamic loading of VIs without lvlibp or run our plugins as separate EXEs.
Thanks,
Danielle
03-04-2012 10:30 PM
Hey Danielle,
Does the VI that you're building into an executable also create this error? Or, is it only with the .exe that there is a problem? Another thing i'm curious about... is if you manually make a folder at the same directory that's working on your original machine. That is, place a copy of the DtLvLink.lib in C:\Program Files\National Instruments\LabVIEW 2011\user.lib\LV-Link3. I'd be curious to see if this would work although I wouldn't necessarily call it a complete solution.
Does the simplified version of the code you sent in your original post also display this issue?
03-14-2012 06:01 AM
Hi Candy Man,
Thanks for your question on the exe. A more thorough testing uncovered that the exe isn't working either. I contacted Data Translation support directly and it was apparently an issue of out of date drivers. Everything is working fine now.
Thanks all for your help!
Danielle