Modbus的有关定义和理解

自己在网上下载了个PPT学习下Modbus,但是有两页看不懂,所以请高手讲解下

图1中的Modbus通信栈给了这个图,寓意是想说个什么?网上查了好多就给了这个图,没有文字说明,所以不理解这个图看不太懂。

图2中的Modbus是一个可选择部分使用的协议是什么意思?服务器可执行部分Modbus怎么理解?还有Modbus有公共功能码和用户定义的功能码组成?不是Modbus直接就是地址+Modbus的功能码+数据+CRC吗?为什么会有一个用户定义的功能码?还有Modbus在远程服务器上进行远程处理怎么理解??
问题比较多,也很基础,所以请各位大牛不要觉得问题白痴,主要是想自己清楚明白些,谢谢!!

Modbus
基于串口;

Modbus Plus
基于网络
,
它有四层
:Modbus

LLC

MAC

HDLC


通信方式:
ASCII
(每个八位字节用
2

ASCII
码表示,如
128
,表示成‘
8
’和‘
0


LRC
校验)

RTU
(二进制,
CRC
校验)


报文格式:

RTU
方式)

3.5 characters time
延时、地址(
1
字节)
、功能码(
1
字节)
、数据(
n
字节)

CRC

2

节)

3.5 characters time
延时;

主站发送报文间隔时间
>3.5 characters time
,否则认为是一封报文;

Query

Response
格式一样
;
Query

, Response
:所要数据
;
Query

, Response
:前
6
个字节与
Query
一样;

寄存器起始地址、
个数和数据
:
高字节在前、
低字节在后;

CRC
是低字节在前、
高字节在后

串行字节格式:

启动(
1
位)
、数据(
8
位)
、停止(
2
位)


或启动(
1
位)
、数据(
8
位)
、奇
/
偶(
1
位)
、停止(
1
位)


地址:
0~247

0
:广播;

寄存器号
=
实际号
-1
,每种类型寄存器的高位不变号作为隐含可不表示;

Slave device

Query
的处理:

⑴未收到
Query

no response;
⑵收到
Query
但校验错,
no response;
⑶正确收到
Query
但不能处理,
Exception response;
Exception response
格式:

地址

1
字节)

原功能码
+80H

1
字节)

Exception
Code

1
字节)

CRC

2
字节)
Exception
Code

P103/121
⑷正确收到
Query
且能处理,
normal response;

功能码
01~24
,见
P31/121~


其中
08

diagnostic function code,
详见
P81/121


08

Query
格式:地址(
1
字节)
、功能码(
1
字节)

Subfunction Code(1
个字节
)
、数据、

CRC

2
字节)


最大参数见
P106/121~


收发时间估算:
P112/121~


CRC/LRC
计算:
P115/121~
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-11
第一张图是表达 modbus和其他通讯设施或协议 的联合通讯

第二张图 modbus只是一种传输模式,功能码可以自定义,数据区也可以自己规范。

不要被规矩套死。就这些本回答被提问者和网友采纳
第2个回答  2021-01-22
Modbus协议最初由Modicon公司开发出来,现在Modbus已经是工业领域全球最流行的协议。协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。
相似回答