10-07-2014 09:23 AM
I have a C simulation model that I implement like NI Model Framework template (NI_VStand_Model_Framework_Guide.pdf ). If I use this simple model I can deploy on my PXI. But I must call functions which are in an other dll. When I call functions in other DLL I can't deploy because Veristand specify that the model is not compatible.
NI VeriStand: The specified compiled model is not compatible with NI VeriStand.
=========================
NI VeriStand: NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> Model Execution.lvlib:Initialize Model Loop Data.vi >> SIT Model API.lvlib:Initialize Model.vi >> SIT Model API.lvlib:Load Model DLL.vi
<append>=========================
NI VeriStand: Failed to load c:\ni-rt\NIVeriStand\Models\LD1_T1.dll
If I use DLL Checker there is no bad import. How to add a simulation model in veristand which call function in an other DLL?
10-09-2014
08:37 AM
- last edited on
08-08-2024
10:40 AM
by
Content Cleaner
Hello Stefany,
I think this link might help you: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YGE7CAO&l=en-US
"
11. Create your simulation model.
Kind regards.
10-09-2014 09:30 AM
Thank you for your answer.
I know how to import a dll in veristand. My Dll is LD1_T1. I can import it in Veristand without error. But this DLL depends of an other dll (addition.dll) as you can see in the print screen.
When I try to deploy to my PXI I have an error message of compatibility.
NI VeriStand: The specified compiled model is not compatible with NI VeriStand.
=========================
NI VeriStand: NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> Model Execution.lvlib:Initialize Model Loop Data.vi >> SIT Model API.lvlib:Initialize Model.vi >> SIT Model API.lvlib:Load Model DLL.vi
<append>=========================
NI VeriStand: Failed to load c:\ni-rt\NIVeriStand\Models\LD1_T1.dll
For LD1_T1.dll I have use NI Model Framework template (NI_VStand_Model_Framework_Guide.pdf ).
If I check my Dll with dll checker it's ok but I can't deploy.
Please somebody have an idee to deploy my model ?
10-09-2014 09:51 AM
Hello again,
I have found the same message in another record: "DLL is good but uses some stubbed imports". The client also developped with C code .
The personn in charge contacted the VeriStand advanced support team. They told him " that building a wrapper in whichever environment you prefer "(eg: in LabVIEW)" and building a VeriStand compatible DLL from that would be the best (and without access to the source code, perhaps the only) way to go."
The person who reported this issue didn't try this solution so we can't be sure.
Kind regards.
10-09-2014 10:00 AM
Hello,
If I understand well, your model DLL is calling code in another DLL. I think that the model subsystem from VeriStand is not able to know of that dependency and so It deploys only the top DLL. I guess you have to manually install the sub-DLL(s) using FTP somewhere in the DLL search path of your target (maybe in /ni-rt/system). Assuming your sub-DLL(s) are compilant with DLLChecker.
Best Regards