03-31-2017 11:23 AM
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.
04-07-2017 01:25 PM
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
04-07-2017 03:14 PM
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.
04-25-2017 12:04 AM
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