Modbus TCP/IP with GE RX3i

Modbus TCP/IP is not Ethernet

It is an Ethernet module. Modbus TCP is an Ethernet protocol.

It is a modbus packet wrapped by a standard Ethernet protocol
packet. It requires one encoder to wrap the data and another TCP/IP decoder to decode the data. You can not send a modbus packet to
a standard Ethernet device and expect it to work.
I guess the better question would be, can you send modbus TCP/IP
packets and standard Ethernet packets over the same network with
out causing problems. Normally the module takes the PLC data and
creates the modbus packet, wraps it with an Ethernet packet and sends it.
 
Your original question was about finding a module for the Rx3i that can talk Modbus TCP/IP. I identified one. You expressed doubt. I'll accept your interpretation of the geek speak if you'll accept my assertion that the IC695ETM001 can handle those double wrapped packets that comprise Modbus TCP/IP.

According to the catalog, GFA-406F, page 65, under the heading "Protocol Support", the module supports Modbus TCP as either a client or a server. I believe that means it can both wrap the packets and send them as well as receive the packets and unwrap them.
 
but I quess the question is

does the module need to be configured for modbus TCP/IP
Cause if it does, then it can only do Modbus TCP/IP and to use
a Standard Ethernet comm would require a second module set for
Ethernet ?
I am trying to figure if I need two modules.
 
Yes, the port needs to be configured for Modbus TCP/IP, and once set up for it, I believe it will be limited to that. It may be possible to change the port's configuration via commands initiated in ladder logic, but I'm not sure about that. You'd have to get the manual for the module and look for "COMREQ" functions to see what can be done. Even if it's possible, the port will have to drop Modbus TCP/IP communications while using "Standard Ethernet Comm".

Certainly, the easiest way to do what you want would be to add a second ETM001. The second physical port on the module is just an unmanaged switch. I hope I used the correct terminology there. You can only assign a single IP address to the module.

Edit: The publication number for the manual is GFK-2224F
 
Last edited:
Please get the manual that Steve indicated. You will find that this module can handle at least 4 different protocols simultaneously these are TCP/IP (as used by the web publisher), SRTP (used by Proficy ME), EGD, and Modbus TCP. You will not need COMM_REQs with this module if you set up its configuration properly.
You are correct that some Ethernet modules/ports by GEIP and others can handle just one protocol at a time like the one on the VersaMax Micro. But remember these are actually Ethernet to Serial adapters, not true serial ports and that is why they are not as versatile.
You will only need more than one Ethernet module if you need to segregate your network, maybe keep a SCADA off the I/O network or similar.

You will find it here:GFK-2224
 
Last edited:
Proficy Modbus TCP Read/Write

Attached are 2 ladder block functions that were written to do modbus tcp read write using the comreq commands.
They are actually xml files so change the file name extension from txt to xml and import them into the logic/program blocks of the proficy machine addition program. They should be pretty clear.

Note!: in the comreq command there is a sysid and a task! Read http://geplc.com/downloads/Labs/GFS-384 M10 Modbus TCP.pdf for a quick explanation on how to set it up! For PACSystems CPU embedded Ethernet interface, TASK must be set to 65536 (0x10000) to
address the CPU’s Ethernet daughterboard.

Full Manual:
https://digitalsupport.ge.com/commu...munications-User-Manual-GFK-2224D-DO2008-enUS
 
Note: This thread is seven years old!

Scenario 1 - RX3i is the Server (Slave)

In this scenario all you have to do is turn on Modbus in the 3i CPU. On the Settings Tab, set Modbus Address Space Mapping Type to: Standard Modbus Mapping

The Master will poll the 3i for the MB addresses you choose. Which % memory data type corresponds to which Modbus address is in the GFK. I would suggest "pack" the registers you need into a contiguous memory area and read all of them at once.

This is the easy one (from the GE point of view) and is the way I have multiple RX3i machines communicating with a client.

Scenario 2 - Flip side of 1 where the 3i is the Client (Master) and the other device is the Server (Slave)

In this scenario the 3i will in fact be writing to the server. This does require comm_reqs to initiate and run. You will need 2 comm_reqs, the first one opens a MBTCP channel with the server IP Address. Once the channel is open, then you would need another comm_req to write the data.
 
Last edited:
Yes the thread is old, but still relevant! Thank you to tearoscarlet for posting the source for TCP read and write. Modbus Server is dead simple, it's the client that's a really awkward implementation. Appears to be legacy from the 90-30/70 days where direct control of the channels may have been desirable, but really that's so low-level that it's just a PITA. Unity Pro I/O Scanning is so much more intuitive.

But if you need to pull data from a Modbus TCP device like a meter, use tearoscarlet's source code and play with it until it works, it's not that hard. Get the right SYSID knowing your card or CPU position.

If you have multiple meters I suggest using multiple channels: open, read, close, repeat.
 
Yes this is still relevant. I still use it connected to power meters which i upgraded to the RX3i a few years back. This particular setup has the RX3i CPE305 which the SYSID reflects the onboard Ethernet port. This setup also just uses a timer and polls each meter every 2 or 3 sec in a up counter fashion. Also if any error occurs it will close channel and then reopen and start again. Also at the end of the last day of the month at the bottom of the last hour it will clear the meters registers to start again. This particular setup doesn't store the information only every month but i have other applications which will store for each month for the year also. Just rename to XML and import blocks. Not by no means a perfect setup but it does work well.. Regards
 

Similar Topics

I'm trying to talk Modbus TCP/IP from a redundant system using Lan 2 inthe CPE330's to a CPU310 using ETM001. I've had the system talking before...
Replies
17
Views
2,368
Greetings to the forum. Wondering what experience exists out there for this problem I'm currently encountering with an Rx3i controller. Have six...
Replies
16
Views
6,670
Hey guys, I am currently trying to communicate a cpe305 PLC with modscan32 in a computer.I am using the ethernet port available in the PLC to talk...
Replies
5
Views
2,400
After reading through some older threads and checking out my old friend GFK-2224, it sounds like an RX3i CPU can talk Modbus TCP, this much I'm...
Replies
1
Views
1,459
Is this possible? I want to read values from a power meter directly into my PLC. Is there any kind of documentation on how to set this up? My CPU...
Replies
3
Views
6,322
Back
Top Bottom