MODBUS协议功能码与报文解析485功能码.docx

上传人:b****6 文档编号:4576754 上传时间:2022-12-06 格式:DOCX 页数:14 大小:17.60KB
下载 相关 举报
MODBUS协议功能码与报文解析485功能码.docx_第1页
第1页 / 共14页
MODBUS协议功能码与报文解析485功能码.docx_第2页
第2页 / 共14页
MODBUS协议功能码与报文解析485功能码.docx_第3页
第3页 / 共14页
MODBUS协议功能码与报文解析485功能码.docx_第4页
第4页 / 共14页
MODBUS协议功能码与报文解析485功能码.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

MODBUS协议功能码与报文解析485功能码.docx

《MODBUS协议功能码与报文解析485功能码.docx》由会员分享,可在线阅读,更多相关《MODBUS协议功能码与报文解析485功能码.docx(14页珍藏版)》请在冰豆网上搜索。

MODBUS协议功能码与报文解析485功能码.docx

MODBUS协议功能码与报文解析485功能码

MODBUS协议

Modbus是一种串行通信协议,是Modicon于1979年,为使用可

编程逻辑控制器(PLC)而发表的。

事实上,它已经成为工业领域通

信协议标准,并且现在是工业电子设备之间相当常用的连接方式。

M

odbus比其他通信协议使用的更广泛的主要原因有:

公开发表并且无版税要求相对容易的工业网络部署对供应商来说,修改移动原生的位或字节没有很多限制

Modbus允许多个设备连接在同一个网络上进行通信,举个例子,

在数据采

个由测量温度和湿度的装置,并且将结果发送给计算机。

集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和

remoteterminalunit(RTU)。

Modbus协议目前存在用于串口、以太网以及其他支持互联网协

议的网络的版本。

大多数Modbus设备通信通过串口EIA-485物理层进行[1]。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议

细节上略有不同。

ModbusRTU是一种紧凑的,采用二进制表示数据

的方式,ModbusASCn是一种人类可读的,冗长的表示方式。

这两

个变种都使用串行通讯(serialcommunication)方式。

RTU格式后

续的命令/数据带有循环冗余校验的校验和,而ASCn格式采用纵向冗余校验的校验和。

被配置为RTU变种的节点不会和设置为ASCn变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变

种,这种方式不需要校验和的计算。

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

Modbus有一个扩展版本ModbusPlus(Modbus+或者MB+),不过

此协定是Modicon专有的,和Modbus不同。

它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。

它使用IMbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。

连接ModbusPlus到计算机需要特别的接口,通常是

支持ISA(SA85),PCI或者PCMCIA总线的板卡。

Modbus协议是一个master/slave架构的协议。

有一个节点是

master节点,其他使用Modbus协议参与通信的节点是slave节点。

个slave设备都有一个唯一的地址。

在串行和MB+网络中,只有被指

定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启

个ModBus命令包含了打算执行的设备的Modbus地址。

所有设

备都会收到命令,但只有指定位置的设备会执行及回应指令(地址

0例外,指定地址0的指令是广播指令,所有收到指令的设备都会

执行,不过不回应指令)。

所有的Modbus命令包含了检查码,以确

定到达的命令没有被破坏。

基本的ModBus命令能指令一个RTU改变

它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。

有许多modems和网关支持Modbus协议,因为Modbus协议很简

单而且容易复制。

它们当中一些为这个协议特别设计的。

有使用有线、无线通信甚至短消息和GPRS的不同实现。

不过设计者需要克服一些包括咼延迟和时序的冋题。

MODBUS通信过程如下图

MODBUSRTU报文格式

设备地

功能代

CRC校验

结束符

起始位

数据

T1-T2-T3-T4

8Bit

8Bitn个8Bit

16Bit

T1-T2-T3-T4

MODBUSASCn报文格式

设备地

起始位功能代码数据

交互标识协议标识报文长度

设备标识功能代码数据

宀卄2字节2字节2子节

白,一般为0高字节在一般为0亠

1字节

也就是设1个字符n个字符

备地址

结東符址验

2个字2个字

1个字符2个字符n个字符2个字符

符符

MODBUSTCP报文

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

2个字

1个字符2个字符n个字符

2个字

2个字符符

MODBUSTCP报文

交互标识

协议标识

报文长度

设备标识

功能代码数据

2字节

一般为0

2字节

一般为0

2字节

高字节在

1字节

也就是设

备地址

1个字符n个字符

 

实际上MODBUSRTU与ASCH的内容是完全相同的,不同的的AS

Cn方式用S"标识帧起始,用“CRLF”标识帧结束。

校验采用L

RC,把RTU帧中一个字节的内容换成了2个ASCn字符。

比如在RTU

方式下设备地址01只有一个字节,在AScn方式下转换成字符串“0

1”(16进制的3031)O

MODBUSTCP中的设备标识,功能码等与MODBUSRTU相同,

可以认为是在MODBUSRTU报文的前边加了一个头,去掉了CRC校

验这个尾。

MODBUS协议定义了4种基本数据类型:

可读写位数据,只读位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1