From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Deploy modbus I/O server as part of custom device build

Hello,

 

We are attempting to get Modbus up and running as a custom device. From Labview we have managed to get modbus communication working by using Modbus IO servers.

When I package this with the custom device build we get the following error code when reading the bound variable:

 

(0x8BBB0005)

General Description: 

LabVIEW: Unable to locate variable in the Shared Variable Engine. Deployment of this variable may have failed.

 

I am starting to worry if it is even possible to deploy the Modbus IO server together with the custom device? Any suggestions for other approaches?

 

Best regards,

Jørgen

0 Kudos
Message 1 of 6
(6,645 Views)

Is your custom device running on a PC Engine or in the RT Engine? On RT, the shared variable engine is an optional component you have to select to install from MAX, I believe. Is that installed?

Jarrod S.
National Instruments
0 Kudos
Message 2 of 6
(6,641 Views)

Since there is no LabVIEW project, you will have to programatically deploy the IO server library in your custom device somewhere. Could put a button in your page.

Stephen B
0 Kudos
Message 3 of 6
(6,625 Views)

Thanks for your replies. 

 

The Network Variable Engine is activated on the RT target. 

 

I now tried to create programmatically the modbus IO server by using the Express VI. This, however, will not allow me to deploy the system definition file, as it reports that it is missing a .vi. 

I have then tried to convert it to a regular .vi and bundle it with both the configuration and engine build specs, but the same message appears. 


Am I misunderstanding how the .vi dependencies are managed by the build specifications? Or do I have to use something else than the express .vi to create the modbus IO.

 

Best Regards,

Jørgen

 

EDIT: Added the error message: 

**************

The VeriStand Gateway encountered an error while deploying the System Definition file.

Details:
Error 1003 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi

Possible reason(s):

LabVIEW: The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.

**************

 

As soon as I remove the usage of the express.vi, it deploys just fine.

 

 

0 Kudos
Message 4 of 6
(6,605 Views)

I'm not familiar with any express VI. I figured you would need to use this:

deploy.png

Stephen B
0 Kudos
Message 5 of 6
(6,590 Views)

Thanks, I will look into it! 🙂

 

EDIT: I did however get it working using the old style Modbus library, which is not via the modbus IO server.

0 Kudos
Message 6 of 6
(6,587 Views)