09-02-2020 02:23 AM
I'm using Modbus class downloaded from here:http://www.ni.com/example/29756/en/
I want to call functions "Read Holding Registers", "Write Holding Registers" from teststand using Call Type = Class Member Call.
If I have Adapters -> Labview Developement System selected, Teststand finds function and there is not any Error (See Image1)
But when building Teststand deployment, I have to select Adapters->Labview Run Time Engine as adapter and if I do this Teststand cannot find functions anymore and returns error:
If I go to Modbus Master.lvclass and check if function has public scope I see:
Pleas help how to solve this issue
Solved! Go to Solution.
09-02-2020 08:33 PM
Is your TestStand a 64-bit version?
09-02-2020 11:56 PM
It is 32-bit
09-03-2020 12:17 AM
I also attached test sequence if anybody wants to reproduce my problem.
09-03-2020 04:51 AM
Hey, Andraz!
The VIs in the Modbus Library API folder are all source-only VIs. To run source-only VIs in RTE, there should be entries present in LabVIEW's compiled object cache.
Since you mentioned that you're deploying them on to another machine, it's very likely that the LabVIEW on that machine does not have the compiled code for the source only VIs, so you're seeing that error.
Additionally, confirm that the VIs are saved in the LabVIEW version installed on your deployed machine. By LabVIEW version installed, I mean the run-time engine installed (e.g. 19.0).
To have the source-only VIs in the modbus lib work on your deployed machine, you can try some of these options:
1) Install LabVIEW ADE on your deployment machine, open up the VIs, hold the left control button your keyboard and hit the "run" button in the VI UI to force compile it.
2) If installing LabVIEW ADE on the deployment machine is a no-go, you can instead create a PPL build specification for the VIs in the Modbus lib, and deploy the built PPL to your deployment systems. You'll have to change up the paths to use the PPL path in this case, though.
3) Remove the source-only flag from the VI properties for the VIs you want to use and save them in the LV version on the deployed machine.
09-03-2020 05:26 AM
Additionally to what Harsh says, the deployment tool is supposed to bring the compiled code back into the source code when building the image.
So everything that Harsh said is valid. The shortest path I would take is mass compiling the modbus Lib to ensure that your cache is filled with the compiled code. And then build the deployment.
09-03-2020 09:39 AM
Additionally, you need not change the adapter to RTE to use the TestStand Deployment Utility (TSDU).
04-29-2021 08:06 AM
Hi
Harsh Had a couple of questions regarding this post:
Please let me know if it is OK to email you here regarding the same
Thanks
Srinivas