LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem running lvlibp plugin architecture with DAQ

Solved!
Go to solution

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

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 1 of 9
(3,105 Views)

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

 

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 2 of 9
(3,104 Views)

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-

Nick C | Software Project Manager - LabVIEW Real-Time | National Instruments
0 Kudos
Message 3 of 9
(3,079 Views)

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

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 4 of 9
(3,049 Views)

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?

Tim A.
0 Kudos
Message 5 of 9
(3,034 Views)

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

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 6 of 9
(3,031 Views)

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

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 7 of 9
(3,015 Views)

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?

Tim A.
0 Kudos
Message 8 of 9
(3,002 Views)
Solution
Accepted by topic author dsavir

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

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
0 Kudos
Message 9 of 9
(2,986 Views)