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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus I/O Server at Run-time

Hello everyone.

 

I needed an software that communicates with a third part PLC (siemens) via Modbus (serial) protocol, and I'm getting some problems with stand-alone application.

 

I did the following steps:

1- Created a new project;

2- Created a new library;

3- Created a new I/O Modbus Server (serial master mode);

4- Created a variables bounded with a holding register (UInt16) from the PLC.

5- Put that variable on a loop (timed) just to get its value.

 

The program also deploys the created library at begin of execution and undeploys it at the end (working).

 

The (simple) project worked fine at my development machine (with LabVIEW 8.6 and Real-Time Module installed), so I created a stand-alone application and an installer of it.

Again, the installed software worked at my PC.

 

But, here comes the problem, when I try to run my program at another PC that do not have LabVIEW it doesn't work.

 

I have already installed the LV Runtime 8.6, tried to include it at my own installer (at Additional Installers tab - included Distributed System Manager and NI Variable Engine too), and still didn't work!

 

I also tried to install the software in another PC, that have LabVIEW 8.6 but not the RT module, and it didn't work as well.

 

The library and shared variable seems to be correctly deployed on SVE, so I think the error is related with the Modbus I/O Server.

 

So, what can I do to a software using Modbus I/O Server run in a machine without RT development?

  

There are some screenshots that I took while running the software at the both (develop. and client) machines above.

 

Regards,

 

Leandro Rondon

- Sensoft Indústria e Automação Ltda.

- Work phone: +55 16 3413-5489

- Cell phone: +55 16 8827-4025 

- leandro.rondon@sensoft.com.br 

 

0 Kudos
Message 1 of 5
(3,570 Views)

Forgot the images:

 1 ) running the VI at development machine - labview 8.6 with RT module

 1-development.gif

 

 

2) running the installed software at development machine

2-exe_develop_machine.gif 

 

3) distributed system manager from target machine before execution

3-distr system - target machine - before exec.gif 

 

4) distr. system manager and the software error

4-installed - error - target machine.gif4-installed - error - target machine.gif

0 Kudos
Message 2 of 5
(3,569 Views)

seems there is nothing on internet about this issue Smiley Sad

0 Kudos
Message 3 of 5
(2,931 Views)

Not sure if this is the case for that software version, but in Distributed System Manager, you should be able to see the I/O server. I would confirm that this is the case with your working application because the screenshot you have attached does not show any I/O server. If I remember correctly bound variables will still deploy from your library regardless of whether the I/O server deploys so this could happen. I would also check in DSM if you can right click a process and create an I/O Server. I thought that you need the DSC RTS if you are going to use Modbus I/O Servers on a PC so doing this would probably be a good way to confirm that.

Matt J | National Instruments | CLA
0 Kudos
Message 4 of 5
(2,920 Views)

He is running into a DSC RTS issue.  You'll need that license to use the I/O servers.  If you want to avoid that, you'll want to shift to the free modbus livrary you can google and find

0 Kudos
Message 5 of 5
(2,908 Views)