您的位置:首页>聚焦>宏观 >内容

modbus通讯协议详解三菱(modbus通讯协议详解)

2022-08-25 17:18:11来源:
导读想必现在有很多小伙伴对于modbus通讯协议详解方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于modbus通讯协议详解方面...

想必现在有很多小伙伴对于modbus通讯协议详解方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于modbus通讯协议详解方面的知识分享给大家,希望大家会喜欢哦。

MODBUS串行通信协议基本规则:每个MODBUS数据包都由以下5个部分组成:(1)从站地址;(2) 要执行的功能码;(3)寄存器地址(变量地址);(4)数据 ;(5)CRC校验;

(1)从站地址:地址长度为1个字节,有效的从站地址范围为1-247,从站如果接收到一帧地址信息与自身地址相符合的数据包时,就执行数据包中包含的命令。

(2)功能码: MODBUS数据包中功能码长度为一个字节,用以通知从站应当执行何种操作,从站响应数据包中应当包含主站所请求操作的相同功能码字节。有关功能码参照下表:

转载或者组指还引用本文内容请工注明来源于芝士回月答

(3)寄存器地址:从机执行有效命令时数据区域存储的位置。不同变量占用不同寄存器个数,有些地址变量占用两个寄存器,4字节数据,有些变量占用一个寄存器,2字节数据,请根据实际情况使用。有些占用更多寄存器,根据实际数据来定。

种全线设知则例具界,验存听。

(4)数据区:数据区包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者设置值;例如:功能码告诉终端读取一个寄存器,数据区则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同内容而有所不同;寄存器数值发送顺序为:高位字节在前,低位字节在后。 

(5)CRC校验: MODBUS-RTU模式采用16位CRC校验。发送设备应当对包裹中的每一个数据都进行CRC16计算,最后结果存放入检验域中。接收设备也应当对包裹中的每一个数据(除校验域以外)进行CRC16计算,将结果域校验域进行比较;只有相同的包裹才可以被接受。

通信异常处理       如果主站发送了一个非法的数据包或者是主站请求一个无效的数据寄存器时,异常的数据响应就会产生。这个异常数据响应由从站地址、功能码、故障码和校验域组成.       根据MODBUS通讯要求,异常响应功能码=请求功能码+0x80;异常应答时,将功能号的最高位置1。例如:主机请求功能号为0x04则从机返回的功能号对应为0x84。

举例说明:1、读多寄存器例:主机读取仪表测量值UA(A相电压),假设现测量到A相电压为220.0V。UA的地址编码是0x4000(十六进制),因为UA是长整型数据(4字节),占用2个数据寄存器,220.0V电压转换对应的十六进制数据是:0x00000898(2200)。主机发送命令格式为:01 03 40 00 00 02 D1 CB从机返回命令格式为:01 03 04 00 00 08 98 FC 59

得力实使相系统接带研历号,易京照严。

举例说明:例2:写单寄存器假设将温控表温度值SV修改为150(写入设定值SV),SV的地址编码是0x2000(十六进制),因为SV是整数(2字节),占用1个数据寄存器。将十进制整数150转换为十六进制数为0x0096。主机发送命令格式为:01 06 20 00 00 96 02 64从机返回命令格式为:01 06 20 00 00 96 02 64

本文到此结束,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章