Modbus serial data from multiple devices to M340 controller

Enggshab

Member
Join Date
Mar 2024
Location
Riyadh
Posts
6
I have 9 field devices, three METSEPM5110 power meters and six ACE949-2 rs285 interface modules. I want to read this Modbus rtu data through rs485 2 wire communication to m340 plc which has a Modbus TCP port. What hardware should I use for this. Can I daisy chain the devices?

Kindly give me a solution.
 
The devices you have speak Modbus RTU over a RS-485 serial two-wire network. It's a different physical wiring network than Modbus TCP over Ethernet. All should be fine daisy-chained on one RS-485 network as long as each has a unique address and wiring standards such as overall length are met.

To get that connected to the PLC, you need a RS-485 serial port that speaks RTU. I don't know Schneider well. A quick search leads me to believe that at least some models of CPU have a capable serial port on board. It might be the same style RJ-45 connector as Ethernet, but it's not Ethernet.

If serial is not on board your CPU, my first choice would probably be a Schneider serial module if you can add one to your rack. Otherwise you need a gateway to run the Modbus RTU network and interface to your controller by Modbus TCP or another protocol supported by your controller. There are several manufacturers that make suitable gateways, ProSoft, Red Lion, and Anybus are popular ones that come to mind, but there are quite a few other options.
 
The devices you have speak Modbus RTU over a RS-485 serial two-wire network. It's a different physical wiring network than Modbus TCP over Ethernet. All should be fine daisy-chained on one RS-485 network as long as each has a unique address and wiring standards such as overall length are met.

To get that connected to the PLC, you need a RS-485 serial port that speaks RTU. I don't know Schneider well. A quick search leads me to believe that at least some models of CPU have a capable serial port on board. It might be the same style RJ-45 connector as Ethernet, but it's not Ethernet.

If serial is not on board your CPU, my first choice would probably be a Schneider serial module if you can add one to your rack. Otherwise you need a gateway to run the Modbus RTU network and interface to your controller by Modbus TCP or another protocol supported by your controller. There are several manufacturers that make suitable gateways, ProSoft, Red Lion, and Anybus are popular ones that come to mind, but there are quite a few other options.
Thanks for the reply. But will it work if I use an ethernet gateway and connect to ethernet switch where controller is also connected
 
It almost has to be the 342020 which has Ethernet and Modbus serial on the processor.

Even though the RS-485 could hit the processor directly I would recommend using a Modbus Protocol Ethernet to Serial gateway. Use one with an isolated serial port. If you have any electrical problems on the 485 line you smoke an easily replaced gateway and not a much more expensive CPU that contains your program.

Make sure the gateway is a true Modbus protocol gateway and not a generic ethernet to serial converter.


Some general notes:

Everything on the serial side needs the same baud rate, parity, stop bits, etc. Make sure it's all Modbus RTU and not Modbus ASCII.

You need client on the Ethernet side and server on the serial side of the gateway. This is the direction with the simplest configuration and perhaps a less expensive gateway. I tend to like the Moxa stuff over the Schneider offerings.

It seems like you never have to apologize for isolation once the initial costs are over. Where there is a choice - isolation beats suppression every time.

With multiple drops on a multidrop-serial network, do not leave any of them at the factory default id. That way if one is replaced and powered up before the address is changed you won't have a temporary conflict.

Make sure that you have the GEST[] timeout value for your read_var blocks set to a nonzero value before you trigger the read_var. Otherwise they seem to hang up forever on a miss and you have to cycle the power on the processor.

Trigger your comms one at a time. Ethernet may allow pipelining multiple requests but serial doesn't. I'd use a step counter or SFC for this. SFC gives you a good quick visual check of which unit is not talking. Schneider has very good SFC.

I wish you well with your project.
 
It almost has to be the 342020 which has Ethernet and Modbus serial on the processor.

Even though the RS-485 could hit the processor directly I would recommend using a Modbus Protocol Ethernet to Serial gateway. Use one with an isolated serial port. If you have any electrical problems on the 485 line you smoke an easily replaced gateway and not a much more expensive CPU that contains your program.

Make sure the gateway is a true Modbus protocol gateway and not a generic ethernet to serial converter.


Some general notes:

Everything on the serial side needs the same baud rate, parity, stop bits, etc. Make sure it's all Modbus RTU and not Modbus ASCII.

You need client on the Ethernet side and server on the serial side of the gateway. This is the direction with the simplest configuration and perhaps a less expensive gateway. I tend to like the Moxa stuff over the Schneider offerings.

It seems like you never have to apologize for isolation once the initial costs are over. Where there is a choice - isolation beats suppression every time.

With multiple drops on a multidrop-serial network, do not leave any of them at the factory default id. That way if one is replaced and powered up before the address is changed you won't have a temporary conflict.

Make sure that you have the GEST[] timeout value for your read_var blocks set to a nonzero value before you trigger the read_var. Otherwise they seem to hang up forever on a miss and you have to cycle the power on the processor.

Trigger your comms one at a time. Ethernet may allow pipelining multiple requests but serial doesn't. I'd use a step counter or SFC for this. SFC gives you a good quick visual check of which unit is not talking. Schneider has very good SFC.

I wish you well with your project.
Thankyou so much for sharing this wonderful reply. One more thing. I had mailed to Schneider support regarding this. They mailed back suggesting to use splitter and also terminate the loop if using daisy chain. Is that necessary?
Also while connecting to the Modbus rj45 port on controller, can I use a normal ethernet cable with a bare end on the non-plc side?
 
I'm not sure what is meant by a 'splitter' - but terminating the line is a very good idea.

You can use a normal ethernet cable to plug into the Modbus RJ45 as long as you insulate all the unused wires on the other end.
 
So if I connect the daisy chained rs485 cable directly to the Modbus rj45 port, without any gateway using an ethernet cable with bare end on the non-plc side, it will work right.
Also what does terminating a line actually mean. We are already terminating the rs485 cable on the last device right. We are not taking another loop from it. Isn't it?
 

Similar Topics

Does anyone know of an AOI using the user ASCII protocol select on the L6x controllers that will talk Modbus RTU using RS-485? Thanks, Trevor...
Replies
1
Views
132
I have a project to setup base programs across multiple PLC platforms that can be used for Modbus communications to various sensors that have...
Replies
0
Views
122
Hello plctalk, I am in the proces of integrating a Micro820 with the purpose of getting data out of 4 AB Powerflex 4M drives through Modbus...
Replies
1
Views
1,791
Hello guys, I am new to WAGO PLCs and e!****pit. I am trying declare variables from a Modbus Slave Connected using serial to WAGO PFC200 and pass...
Replies
0
Views
1,343
I need to get a CompactLogix PLC to talk to an oil temperature controller which has a Modbus serial interface. Since the PLC has no serial port I...
Replies
8
Views
4,254
Back
Top Bottom