NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW adapter with VIs containing DLLs

Hi forums,

 

I'm using TestStand 2014 with LabVIEW 2014 code. I have code that calls VIs which calls libraries through the "Call Library Function Node". This opens a .DLL that I use to control FET-Pro430 API.

 

I have a self-contained VI that I can run to verify the memory using the .DLLs. The VI runs in the LabVIEW development environment OR a built executable, but when I call it through TestStand with a LabVIEW adapter with the development environment or the run-time engine, I get an error from the API.

 

The error says: Header: "MSPFET430UIF1"

                         Body: "MSP430-xx.dll open error.

                                    MSP430-TI.DLL"

 

I've tried calling my built executable with the "call executable" step in TestStand, and that is successful! But I would like to understand why I am having an issue with calling through the TestStand's LabVIEW adapter. Does anyone have ideas on why this may happen? (The .DLLs are not .NET assemblies, that much I know. I don't know much about DLLs or how they are called).

 

Thanks for reading.

0 Kudos
Message 1 of 4
(2,749 Views)

 

 

Hi,

 

I'm still researching the issue, however, I've found another forum post where it is recommended to call the dll directly from TestStand.

 

Passing Sequence Context into Call Library Function Node

http://forums.ni.com/t5/LabVIEW/Passing-Sequence-Context-into-Call-Library-Function-Node/td-p/561270

 

I'm looking for further documentation to clarify the issue. Let me know what follow up questions you have.

 

Regards,

 

Finch Train

0 Kudos
Message 2 of 4
(2,689 Views)

Hello Finch,

 

Thanks for investigating. If I had to do this again, I'd try out calling the library function node. Right now my problem is solved through executables.

 

I have a suspicion that the issue may stem from Windows Firewall. I had to give the firewall permission to allow my executable, so it may have been locking the DLL too.

Peace and sanctuary.

0 Kudos
Message 3 of 4
(2,686 Views)

Check whether both TestStand and LabVIEW has 32 bit or 64 bit.

 

 

Here is the readme document of TestStand bitness compatibility. - http://zone.ni.com/reference/en-XX/help/370052N-01/tsfundamentals/infotopics/64adapterscodemodules/
1. Bitness of VIs you run in-process with the LabVIEW Run-Time Engine must match the bitness of TestStand.
2. Bitness of VIs you run out-of-process does not need to match the bitness of TestStand.

However, You can create a 64-bit or bitness independent version of the code module, 32-bit code modules must be executed using an out-of-process adapter setting such as the LabVIEW Development System adapter setting for LabVIEW VIs or an external instance of LabWindows™/CVI™ for the LabWindows/CVI adapter.

You can also use remote sequence execution to execute a subsequence in 32-bit TestStand on your computer, which allows you to call 32-bit code modules using an in-process adapter setting such as the LabVIEW Run-Time Engine. http://digital.ni.com/public.nsf/websearch/5732563614D929F186257D230061AA21?OpenDocument

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 4 of 4
(2,620 Views)