MODBUS dialects.

JesperMP

Lifetime Supporting Member + Moderator
Join Date
Feb 2003
Location
ᚴᚬᛒᛅᚾᚼᚬᚠᚾ
Posts
16,361
Hi,

does someone have a brief explanation of the differences between the various Modbus dialects ?
I have heard of the following:
Modbus.
Modbus RTU.
Modbus ASCII.
Modbus Plus.
Modbus TCP. (I know that this one means "Modbus on Ethernet").

And, if (for example) a device is listed as supporting Modbus, is it then a simple matter - or very difficult - to connect it to another device that supports Modbus RTU ?

Thanks for any insight :)
 
Non detailed explanation.

Modbus is the base message protocol.
Modbus RTU is an 8 data bit format, no defined parity or baud.
Modbus ASCII is a 7 data bit format, no defined parity or baud.
Modbus Plus is Modbus messages encapsulated in a propriety protocol package.
Modbus TCP is Modbus messages in an open TCP/IP package.
 
Gee, thats a bit short.

Whats the difference between Modbus and Modbus RTU for example ?
Is the only difference between Modbus RTU and Modbus ASCII that one has 8 databits and the other 7 ?

Thanks anyway.
 
Just a little more info:

Modbus is a generic term, and in general refers to Modbus RTU.
Modbus RTU is a master/slave protocol and is kind of the grandaddy of PLC communications. It is published and public domain.

Modbus ASCII is similar to Modbus RTU, but I think (note think)it does not use hexadecimal in the transmission but only ASCII characters up to 128 decimal.

Modbus Plus is proprietary, is a peer to peer network, and I think it is CSMA/CD rather than token ring.

All were developed by Modicon, now part of Groupe Schnieder / Telemechanique.
 
Thanks Tom.

So if one device says it can speak "Modbus", and another speaks "Modbus RTU", then it is really the same thing. Or is it almost the same thing ? Can I connect the two with no further ado ?

I can see how Modbus ASCII can transmit values between 0-127. If one wants to transmit an "integer" (i.e. a 16-bit word), I guess that with Modbus RTU it will be just two 8-bit characters, but how can one do it with Modbus ASCII ? Maybe it only works with real ASCII characters (the name DOES imply that).
 
If someone just says "Modbus" without further modifiers, they are usually talking about Modbus RTU. In those cases, though, I always check and verify that that is the case.
 
Modbus is Modbus. It is a message structure and set of commands only and does not define the physical connection or transmission method.

Modbus RTU is an 8 bit format and Modbus ASCII is 7 bit, but neither has anything to do with how the Modbus message is created only how it is transmitted. For example I can program a PLC using Modbus ASCII as well as Modbus RTU. Typically Modbus ASCII runs slower and is more noise tolerant, but as Tom said Modbus RTU is more common.

Modbus Plus is a token ring system, it uses standard Modbus commands.
 
Hi Jesper

I am not sitting at my office, so I have to use my memory on this one. 4-5 years ago I did have a look into Modbus, since I had to write a modbus protocol for a PLC.

So, if my memory do me well, I think the differences in transmission methods, are:

Modbus RTU: Master-Slave protocol. 8 bit of data is sent as 8 bit of data. CRC-16 as checksum.

Modbus ASCII: Master-Slave protocol. 8 bit of data is sent as 2 ASCII-character's. E.g. 1F hex -> "1" "F". Different algoritm as checksum: LRC

Modbus+: High speed token passing network.
 
Thanks all :)

That Guide that Bernie linked to was very informative.

It appears that "All devices must implement the RTU Mode. The ASCII transmission mode is an option."

Also, with RTU a byte is transferred as 8 bits. With ASCII a byte is transferred as two 7-bit characters.
That explains why RTU is faster, whereas ASCII is slower but also more fault-tolerant.
 

Similar Topics

Hello Everyone, I am using a raC_Opr_NetModbusTCPClient AOI module, as below,. So, I need some assistance to restrict in reducing the poling...
Replies
2
Views
142
I want to communicate my Q series PLC with Factory IO using GX works 2 software, I want to use modbus as server and the ips are as follows plc...
Replies
0
Views
101
Hi folks, I have a Controllogix in communication with a zigbee coordinator using Logix AIO for modbus tcp. This zigbee coordinator have 3 slaves...
Replies
10
Views
368
Hi, I'm setting up a modbus master on an S7-300. It seems to work in OB1 but not when I use it in OB35. Does anyone have any ideas why? Could...
Replies
10
Views
141
Hi Everyone, i was hoping for a little help with this module. i have data that needs to be read from a different plc through the Modbus plus...
Replies
11
Views
306
Back
Top Bottom