Modbus 通讯协议介绍 Modbus 协议介绍 Modbus 协议类型介绍 Modbus 协议类型比较 HMIBuilder Modbus 协议介绍
Modbus 协议介绍 协议支持传统的RS-232、RS-422、RS-485和以太网设 备。许多工业设备,包括PLC,DCS,智能仪表等都 Modbus协议最初由Modicon公司开发出来,此 协议支持传统的RS-232、RS-422、RS-485和以太网设 备。许多工业设备,包括PLC,DCS,智能仪表等都 在使用Modbus协议作为他们之间的通讯标准。
Modbus 协议介绍 Modbus 协议介绍 Modbus 协议类型介绍 Modbus 协议类型比较 HMIBuilder Modbus 协议介绍
Modbus 协议类型介绍 Modbus协议包括ASCII、RTU、TCP等。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus 协议类型介绍 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外; ASCII模式采用LRC校验,LRC是一个包含一个8位二进制的字节; RTU模式采用16位CRC校验,CRC域是两个字节,包含一个16位的二进制值; 但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。
Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。
MODBUS 协议介绍
MODBUS 协议介绍
1.ASCII 模式 代码系统 十六进制,ASCII 字符0…9,A…F 消息中的每个ASCII字符都是一个十六进制字符组成 每个字节的位 一个起始位 7个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 LRC(纵向冗长检测)
MODBUS 协议介绍
1.RTU模式 代码系统 8位二进制,十六进制数0…9,A…F 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 一个起始位 8个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 CRC(循环冗长检测)
功能码及寄存器对应关系 功能码 寄存器 01 0XXXX 02 1XXXX 03 4XXXX 04 3XXXX 05 0XXXX 06 4XXXX 15 0XXXX 16 4XXXX
功能码及寄存器对应关系
功能码及寄存器对应关系
读取单个数据
使用功能码15,如果不选中此项,则在写单个状态量时是用05功能码 使用功能码16,如果不选中此项,则在写单个模拟量时是用06功能码 读取单个数据:选中后,在读取多个数据时,他会每次读取一个数据,读多次;
单连接访问,如果不选会同时建立3个连接; 当点数多时,针对嵌入版屏,会导致通讯速度慢,所以此选 项应该选中;