MODBUSRTU通讯协议Word格式.docx
《MODBUSRTU通讯协议Word格式.docx》由会员分享,可在线阅读,更多相关《MODBUSRTU通讯协议Word格式.docx(117页珍藏版)》请在冰豆网上搜索。
![MODBUSRTU通讯协议Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/25/175213c9-fd4e-4f66-aab2-fc8099edf196/175213c9-fd4e-4f66-aab2-fc8099edf1961.gif)
修改情况
2007.12.27
V1.04
添加遥测带电、失电事件
2008-3-17
V1.05
添加实时录波的波形数据上送结束标志
2008-4-17
V1.06
添加装置信息读取的广播命令地址(只对功能码为17的类型报文)
2008-4-20
V1.07
修改遥信、遥控、遥测容量
2008-6-11
V1.08
添加秒脉冲计数统计功能
2008-6-12
V1.09
修改录波时标
2008-7-8
添加遥测回路(一回电压、四回电流)的定义
2008-7-17
V1.10
添加遥测归零值整定
V1.11
将遥测归零值提出单独整定
2008-8-7
V1.12
在装置信息中添加报文收发计数
2008-8-13
添加遥测校正报文定义,添加模板开机、复位上电报文定义
2008-9-28
V1.13
添加GM7-B/IO1和GM7-B/IO2的遥控、遥信定义
2008-12-1
V1.14
添加各装置的通讯参数定义表
2009-6-30
V1.15
添加相序报警、过流反时限跳闸录波、跳闸出口等功能
2009-9-3
V1.16
添加GM7-D的通讯参数和寄存器定义
2009-9-9
V1.17
添加GM7-D的软件模拟遥控试验对象
2010-3-18
V1.18
再故判整定中添加按回路的遥测越阀值的“阀值时限窗口”整定值
1简介
本通信协议详细地描述了GM7系列智能监控装置的数据传输过程,本通讯协议采用标准MODBUSRTU协议,其详细的描述了信息的输入和输出格式,本协议包含遥控、遥信、遥测等数据的传输。
本协议仅供开发人员、调试人员参考使用。
2定义、缩写词、略语
DO:
digitialoutput开关量输出(遥控)。
DI:
digitialinput开关量输入/状态输入量(遥信)。
AI:
analageinput模拟量输入(遥测)。
PI:
pulseinput脉冲量输入(电度)。
SV:
SetValue整定值
SOE:
SequanceofEvent事件顺序记录。
3MODBUSRTU协议详细说明
3.1MODBUSRTU协议基本规则
以下规则确定在RS485、RS232串行、CAN网等通信回路中设备间的通信规则:
●所有RS485、RS232、CAN网等通信应遵循主、从通讯方式。
在这种方式下信息和数据在单个主站和最多64个从站之间传递。
●无论如何都不能从一个从站发起通信。
●所有RS485、RS232、CAN网上的通信都以“打包”方式发生。
一个包裹就是一个简单的字符串(每个字符串8位),一个包裹中最多可含255个字节。
对于RS485、RS232组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位,波特率为1200BPS、2400BPS、4800BPS、9600BPS、19200BPS、38400BPS、76800BPS的方式传递。
串行数据流由类似于RS232中使用的设备产生;
对于CAN网采用CAN2.0B标准通讯,通讯波特率为10Kbps、100Kbps、200Kbps、312.5Kbps、400Kbps、500Kbps、800Kbps、1Mbps等可调。
●主站发送包裹称为请求,从站发送包裹称为响应。
●任何情况从站只能响应主站一个请求。
3.2MODBUSRTU包裹结构描述
每个MODBUS包裹都由以下几个部分组成。
●地址域
●功能码域
●数据域
●校验域
3.2.1地址域
MODBUSRTU的从站地址域长度为一个字节,包含包裹传送的从站地址。
有效的从站地址范围从0~247,地址0为广播地址。
从站如果接收到一帧从站地址域信息与自身地址相符合的包裹时,应当执行包裹中所包含的命令。
从站所响应的包裹中该域为自身地址。
注:
1、地址域对应功能表
序号
装置类型
地址范围
功能
1
GM7系列装置
广播通讯
广播通讯地址
2
1—247
一般通讯
一般通讯地址
3
GM7-A装置
255
写1A流互缺省整定
模板地址255用于将电流采样二次侧额定值为1A的遥测模板、遥控模板、遥信模板的程序中的缺省整定值信息自动写入I2C中,该功能用于模板出厂及现场批量调试使用
4
254
写5A流互缺省整定
模板地址254用于将电流采样二次侧额定值为5A的遥测模板、遥控模板、遥信模板的程序中的缺省整定值信息自动写入I2C中,该功能用于模板出厂及现场批量调试使用
5
GM7-C装置
写线电压缺省整定
模板地址255用于将线电压模式的GM7-C的程序中的缺省整定值信息自动写入I2C中,该功能用于模板出厂及现场批量调试使用
6
写相电压缺省整定
模板地址254用于将相电压模式的GM7-C的程序中的缺省整定值信息自动写入I2C中,该功能用于模板出厂及现场批量调试使用
3.2.2功能码域
MODBUSRTU包裹中功能域长度为一个字节,用以通知从站应当执行何种操作。
从站响应包裹中应当包含主站所请求操作的相同功能域字节。
有关功能码的定义参照下表。
功能码
含义
读取n个状态输入寄存器的值
读取装置一个或n个连续状态输入寄存器的值(读DI数据),不支持广播令。
读取n个内部保持寄存器的值
读取装置一个或n个连续保持寄存器的值(读整定值数据),不支持广播令。
读取n个输入寄存器的值
读取装置一个或n个连续输入寄存器的值(读AI/PI数据),不支持广播令。
向1个线圈寄存器写值
向装置的一个线圈寄存器写值,写入0000H代表0,写入FF00H代表1(DO操作),不支持广播令。
向1个保持寄存器写值
向装置内部的一个字寄存器写值(一个整定值整定),支持广播令。
16
向n个保持寄存器写值
向装置内部的连续n个字寄存器写值(n个整定值整定),支持广播令。
17
读取装置信息
读取装置的类型、软件版本号等,不支持广播令。
20
读通用参数
读装置通用参数(读遥信SOE、遥测录波等)
21
写通用参数
写装置通用参数(清遥信SOE、遥测录波等)
功能码的最高位表示对请求报文的肯定或否定认可,功能码的最高位为0表示对请求报文的肯定认可,功能码的最高位为1表示对请求报文的否定认可,否定认可则无数据区。
3.2.3数据域
MODBUSRTU数据域长度不定,依据其具体功能而定。
MODBUSRTU数据域采用”BIGINDIAN”模式,即是高位字节在前,低位字节在后。
举例如下:
例1
1个16位寄存器包含数值为0x12AB,寄存器数值发送顺序为:
高位字节=0x12
低位字节=0x0AB
MODBUSRTU协议寄存器地址分配表:
名称
寄存器地址分配范围
DO对象
00001—10000
线圈寄存器
DI对象
10001—20000
状态输入寄存器
整定值对象
40001—50000
3、6、16
保持寄存器
AI对象
30001—38000
输入寄存器
PI对象
38001—40000
3.2.4校验域
MODBUSRTU模式采用16位CRC校验。
发送设备应当对包裹中的每一个数据都进行CRC16计算,最后结果存放入检验域中。
接收设备也应当对包裹中的每一个数据(除校验域以外)进行CRC16计算,将结果域校验域进行比较。
只有相同的包裹才可以被接受。
具体的CRC校验算法参照附录。
3.2.5网络时间考虑
在网络上传送包裹需要遵循以下有关时间的规定:
●主站请求包裹结束到从站响应包裹开始之间的时间最小为20毫秒,最大为250毫秒,典型值为60毫秒;
●从站响应包裹结束到主站下一请求包裹开始之间的时间在16位模式下典型值为50毫秒。
●包裹中相邻两个字节之间的最大时间依据通讯波特率不同而不同,一般来说最大字节时间为3倍的字节发送时间(例如9600波特率下,字节间隔为3毫秒;
4800波特率时,字节间隔为6毫秒)。
3.2.6异常响应
如果主站发送了一个非法的包裹给装置或者是主站请求一个无效的数据寄存器时,异常的数据响应就会产生。
这个异常数据响应由从站地址、功能码、故障码和校验域组成。
当功能码域的高比特位置为1时,说明此时的数据帧为异常响应。
3.2.7MODBUSRTU功能码祥述
3.2.7.1功能码2(DI请求)
由主站机发送的包裹请求智能装置/单元的DI数据,DI数据按位上送。
示列:
如请求装置1中的10001到10032的DI数据。
读寄存器包裹格式
响应格式
从站地址
1字节
01H
功能码02H
02H
寄存器起始地址高
00H
字节数
04H
寄存器起始地址低
数据1(八路DI)
11H(10001—10008)
寄存器个数高
。
22H(10009—10016)
寄存器个数低
20H
44H(10017—10024)
CRC校验码高
数据n(八路DI)
55H(10025—10032)
CRC校验码低
3.2.7.2功能码3(整定请求)
由主站机发送的包裹请求智能装置/单元的整定数据,整定数据按字上送。
如请求装置1中的40001到40002的整定数据。
功能码03H
03H
寄存器1数据高
11H(40001)
寄存器1数据低
22H(40001)
寄存器2数据高
44H(40002)
CRC校验