2024年4月11日发(作者:雪秀媛)
通讯采用ModBus规约N81格式(8个数据位、一个停止位、没有校验位)。
数据帧格式为:地址码(一字节)、功能码(一字节)、数据区、CRC校验(两字节)。
CRC校验码采用CRC-16校验方法。二字节的错误校验码,低字节在前,高字节在后。
读取数据是高字节在前,低字节在后。
读取功能码为03。(下位机回送所有数据均为两字节)
读取测量数据发送:地址、03、00、00、
数据地址
00、03、CRC(两字节)
读取个数(三相需一次读取)
下位机回送:地址、03、06(回送字节数)、测量数据(六字节A相B相C相,高字
节在前、低字节在后)、CRC。
例:地址为1,测量数据为500.0(数据全部为16进制)
发送:05CB
接收:8813884A31
其他数据寄存器地址:0000(测量数据)0006(小数点位置)0016(开入、
开出状态,高位字节开出[0位-1路,1位-2路],低位字节开入[0
位-1路,1位-2路]),0308(波特率,0-1200,1-2400,2-
4800,3-9600,4-19200),0302(上限阀值,不带小数点),
0300(地址,只用于修改地址),0312(变比)
写入功能码为06。(下位机回送于发送的完全相同)
数据格式:地址、06、XX、XX、
数据地址
XX、XX、
写入数据
CRC(两字节)
例:地址为1,修改上限阀值为5000
发送:2518
接收:2518(1388对应的十进制5000写入上限阀值寄存
器)
注意:0000寄存器地址对应的测量数据寄存器无法写入,只能读出。
0300寄存器地址对应的本机地址只能写入修改值,无法读出。
附录:------通讯规约
1.
1.1
ModBus基本规则:
所有RS485通讯回路都应遵照主/从方式。依照这种方式,数据可以在一个主
站(如:PC)和32个子站(如:YD2000)之间传递。
1.2
1.3
1.4
1.5
主站将初始化和控制在RS485通讯回路上传递的所有信息。
任何一次通讯都不能从子站开始。
在RS485回路上的所有通讯都以“信息帧”方式传递。
如果主站或子站接收到含有未知命令的信息帧,则不予以响应。
“信息帧”就是一个由数据帧(每一个字节为一个数据帧)构成的字符串(最多255个字节),
是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼
容。
2.数据帧格式:
通讯传输为异步方式,并以字节(数据帧)为单位。在主站和子站之间传递的
每一个数据帧都是11位的串行数据流。
数据帧格式:
起始位
数据位
奇偶校验位
停止位
1位
8位(低位在前、高位在后)
1位:有奇偶校验位;无:无奇偶校验位
1位:有奇偶校验位;2位:无奇偶校验位
有校验位的时序图:
止起
D0D1D2D3
data
数据位
D4D5D6D7D8
parity
校验位
止
start
起始位
end
停止位
无校验位的时序图:
2024年4月11日发(作者:雪秀媛)
通讯采用ModBus规约N81格式(8个数据位、一个停止位、没有校验位)。
数据帧格式为:地址码(一字节)、功能码(一字节)、数据区、CRC校验(两字节)。
CRC校验码采用CRC-16校验方法。二字节的错误校验码,低字节在前,高字节在后。
读取数据是高字节在前,低字节在后。
读取功能码为03。(下位机回送所有数据均为两字节)
读取测量数据发送:地址、03、00、00、
数据地址
00、03、CRC(两字节)
读取个数(三相需一次读取)
下位机回送:地址、03、06(回送字节数)、测量数据(六字节A相B相C相,高字
节在前、低字节在后)、CRC。
例:地址为1,测量数据为500.0(数据全部为16进制)
发送:05CB
接收:8813884A31
其他数据寄存器地址:0000(测量数据)0006(小数点位置)0016(开入、
开出状态,高位字节开出[0位-1路,1位-2路],低位字节开入[0
位-1路,1位-2路]),0308(波特率,0-1200,1-2400,2-
4800,3-9600,4-19200),0302(上限阀值,不带小数点),
0300(地址,只用于修改地址),0312(变比)
写入功能码为06。(下位机回送于发送的完全相同)
数据格式:地址、06、XX、XX、
数据地址
XX、XX、
写入数据
CRC(两字节)
例:地址为1,修改上限阀值为5000
发送:2518
接收:2518(1388对应的十进制5000写入上限阀值寄存
器)
注意:0000寄存器地址对应的测量数据寄存器无法写入,只能读出。
0300寄存器地址对应的本机地址只能写入修改值,无法读出。
附录:------通讯规约
1.
1.1
ModBus基本规则:
所有RS485通讯回路都应遵照主/从方式。依照这种方式,数据可以在一个主
站(如:PC)和32个子站(如:YD2000)之间传递。
1.2
1.3
1.4
1.5
主站将初始化和控制在RS485通讯回路上传递的所有信息。
任何一次通讯都不能从子站开始。
在RS485回路上的所有通讯都以“信息帧”方式传递。
如果主站或子站接收到含有未知命令的信息帧,则不予以响应。
“信息帧”就是一个由数据帧(每一个字节为一个数据帧)构成的字符串(最多255个字节),
是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼
容。
2.数据帧格式:
通讯传输为异步方式,并以字节(数据帧)为单位。在主站和子站之间传递的
每一个数据帧都是11位的串行数据流。
数据帧格式:
起始位
数据位
奇偶校验位
停止位
1位
8位(低位在前、高位在后)
1位:有奇偶校验位;无:无奇偶校验位
1位:有奇偶校验位;2位:无奇偶校验位
有校验位的时序图:
止起
D0D1D2D3
data
数据位
D4D5D6D7D8
parity
校验位
止
start
起始位
end
停止位
无校验位的时序图: