RMQ1通讯协议
- 格式:pdf
- 大小:77.84 KB
- 文档页数:5
RMAT(RMQ1)通讯控制协议
一.协议概述
协议类型协议类型::MODBUS-RTU模式
物理层物理层:传输方式:RS485 通讯地址:1-255 通讯波特率:9600BPS 通讯介质:屏蔽双绞线
链路层链路层:传输方式:主从半双工方式 甲方为从设备,乙方为主设备。 数据交换协议是由主设备首先发出带有从设备地址的相应命令,然后从设备在接收到命令后发出相应的应答信号传输给主设备。 协议规定只允许主从设备之间通讯数据,从设备之间不允许数据交换。 数据帧格式:1位始位,8位数据,1位停止位。 数据打包格式:
设备地址码 功能码 数据码(包括变量地址与相关数据) 校验码
单字节 单字节 N单字节 双单字节
当从设备接收到数据时,去掉数据包相应的数据头,读取数据,然后执行数据校验,若没错误,就执行数据所请求的任务,随后,将自己的数据打包发送者主设备。返回的响应数据格式在应用层有详细描述。
设备地址码设备地址码: 地址码在数据包的开始部分,由8位(1-255)组成,代表从设备的地址,每个从设备必须唯一,每次数据交换进行都是建立在主设备与唯一从设备之间的,这样才可确保数据在相应要求的设备之间通讯。
功能码功能码: 下表代码为本协议用到的所有功能代码。
代码 (16进制) 含义 具体描述
03 读数据 获得一个或多个地址单元的当前数值
06 写一个单元 写一个数值到一个地址单元中
注:本产品不支持“10H(多地址写)”命令
数据码数据码: 数据码包含了从设备执行特定功能所需要的数据或者从设备响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者极限值。例如:功能码告诉从设备读取一个单元,数据码则需要指明从哪个单元开始读取多少个数据,具体的变量地址和数据类型应依照不同从设备不同能力而有所不同。
错误校验码错误校验码: 此码用于检测主设备与从设备传输中的错误。有时,由于外界干扰,一组数据在传输过程中可能发生改变,此校验码能够尽大量地检测出数据通信中存在的错误,提高系统的安全性和效率,出错校验采用了16位循环冗余的方法。
错误检测简述错误检测简述: 循环冗余校验(又称CRC)码占用两个字节,包含一个16位的二进制值。CRC值由传送设备计算出来,然后附加到数据包上,接收设备在接收数据时重新计算CRC值,然后与接收到的CRC码中的值进行比较,如果不相等,就表明产生了错误。 CRC代码产生方法: 首先将一个16位的寄存器预置为全1,然后连续把数据包中的8位字节与该单元的当前值进行运算,起始位与终止位不参与CRC运算。 在生成CRC码时,每个8位字节与单元中的内容进行异或,然后将结果向低位移位,高位则用“0”补位,最低位移出并检测,如果是1,该单元就与一个预设的固定值进行一次异或运算,如果最位为“0”,不作任何处理。 上述处理重复进行,当执行完了8位移位操作,即最后一位移完后,下一个8位字节与单元的当前值进行异或运算,同样进行上述的另一个8位移位异或操作,当数据包中的所有字节都作了处理,生成的最终值就是CRC码值。 生成一个CRC的流程为: 1. 预置一个16位单元为0FFFFH(全1),称为CRC单元。 2. 把数据包中的第一个字节与CRC单元中的低字节进行异或运算,结果存回CRC单元中。 3. 将CRC单元向右移一位,最高位填以0,最低位移出并检测。 4. 如果最低位为0:重复第三步(下一次移位)。 如果最低位为1:将CRC单元与一个预设的固定值(0A001H)进行异或运算。 5. 重复第三步和第四步直到8次移位完成。这样就处理完一个完整的8位。 6. 重复第2步到第5步处理下一个字节,直到处理完所有的字节。 7. 最终的CRC单元所得值即为CRC码值。
二.应用层功能详述 在此对本协议用到的相关所有功能作一个较为详细的描述。 2.1读数据读数据((功能码03)
查询 响应 下表描述一个例子是从11h号从设备中 响应包含从设备地址、功能码、数据数量、 读三变量地址的个数据,三个变量的地址分 相应数据值和CRC错误校验码下表即为一 别为006BH,006CH,006DH 例子,作为查询的响应。 数据包格式:
2.3预置一个单元预置一个单元((功能码06H) 查询 响应 功能码06H允许用户改变单个单元的内容。 对于预置一个单元请求的正常响应是在单 下面即为一例: 元值改变以后将接收到的数据传送回去。 名称 例子
从站地址 11 H
功能码 03 H
变量起始地址高字节 00 H
变量起始地址低字节 6B H
变量数量高字节 00 H
变量数量低字节 03 H
CRC检验码低字节 *
CRC检验码高字节 * 名称 例子
从站地址 11 H
功能码 03 H
字节数 06 H
数据1高字节 02 H
数据1低字节 2B H
数据2高字节 00 H
数据2低字节 00 H
数据3高字节 00 H
数据3低字节 64 H
CRC检验码低字节 *
CRC检验码高字节 *
名称 例子
从站地址 11 H
功能码 06 H
变量起始地址高字节 00 H
变量起始地址低字节 01 H
预置数据高字节
02 H
预置数据低字节 2B H
CRC检验码低字节 *
CRC检验码高字节 * 名称 例子
从站地址 11 H
功能码 06 H
变量起始地址高字节 00 H
变量起始地址低字节 01 H
预置数据高字节 02 H
预置数据低字节 2B H
CRC检验码低字节 *
CRC检验码高字节 * 三.变量地址分配
变量地址 变量代号 变量名称 变量 大小 读写 性质 变量 单位 变量格式说明
设备信息
0000H D_Code 设备代码 1W R 说明设备类别:RMAT为03
0001H D_Work 控制器工作方式 1W R
0002H D_Type 控制器类型 1W R 见表一
0003H D_Address 通讯地址 1W R/W 范围:1~255
0004H D_Baud 通讯波特率 1W R
电网参数
0005H UAM 常用A相电压 1W R V
0006H UBM 常用B相电压 1W R V
0007H UCM 常用C相电压 1W R V
0008H UAS 备用A相电压 1W R V
0009H UBS 备用B相电压 1W R V
000Ah UCS 备用B相电压 1W R V
设备诊断信息及电网状态信息
000bH Self_Check 自诊断信息 1W R 见表 二
000cH Circuit_Check 电网状态信息 1W R 见表 三
000dH Switch_Check 开关状态信息 1W R 见表 四
保护整定值 参数设置范围(超出范围控制器不接收)
000eH Set_Para1 常用欠压设定值 1W R/W V 135~196
000fH Set_Para2 常用欠压延时时间 1W R/W 百毫秒 1~2400
0010H Set_Para3 常用过压设定值 1W R/W V 242~300,301表示“OFF”
0011H Set_Para4 常用过压延时时间 1W R/W 百毫秒 1~4800
0012H Set_Para5 常用复归电压设定值 1W R/W V 187~242
0013H Set_Para6 常用复归延时时间 1W R/W 百毫秒 1~2400
0014H Set_Para7 备用欠压设定值 1W R/W V 135~196
0015H Set_Para8 备用欠压延时时间 1W R/W 百毫秒 1~2400
0016H Set_Para9 备用过压设定值 1W R/W V 242~300,301表示“OFF”
0017H Set_Para10 备用过压延时时间 1W R/W 百毫秒 1~4800
0018H Set_Para11 备用复归电压设定值 1W R/W V 187~242
0019H Set_Para12 开关切换延时时间 1W R/W 百毫秒 1~4800
001aH Set_Para13 油机卸载延时时间 1W R/W 百毫秒 1~9000
001bH 常用A相修正系数 1W R/W 百分比
001cH 常用B相修正系数 1W R/W 百分比
001dH 常用C相修正系数 1W R/W 百分比 见表五
遥控强制动作命令
001eH Ctrl_Order 确认命令 1W R/W
001fH Pre_Ctrl_Order 预命令 1W R/W
0020H Order_Received 返回预命令 1W R 5555H: 遥控断电再扣; 55AAH: 遥控常用接通 AA55H: 遥控备用接通; AAAAH:遥控自动控制 注1 注1: 1 主站先发预令,从站接收后将控制命令接受寄存器置成AA55H,然后,主站发送动令。开关才会动作。
5555H: 遥控强制断电再扣;55AAH: 遥控强制常用接通;AA55H: 遥控强制备用接通 下面以主站控制断电再扣为例: 主站: (1) 写5555H到遥控动作-预令寄存器(001FH)。 (2) 读控制命令接受寄存器(0020H)是否为AA55H。非AA55等待,AA55继续(3) (3) 写5555H到遥控动作-动令寄存器(001EH)。 (4) 遥控动作执行。
表 一 :(设备描述) ( at_work )
BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8 未定义 未定义 未定义 未定义 未定义 未定义 未定义 未定义
BIT7 BIT6 BIT5 BIT4 BIT3(1) BIT2(1) BIT1(1) BIT0 未定义 未定义 未定义 未定义 油机转换 自投自复 自投不自复 未定义
( at_type )
BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8 未定义 未定义 未定义 未定义 未定义 未定义 未定义 未定义
BIT7 BIT6 BIT5 BIT4 BIT3 BIT2(1) BIT1(1) BIT0 未定义 未定义 未定义 未定义 未定义 RMAT2 RMAT1 未定义
表 二:(自诊断信息) ( fault_reg )
BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8 未定义 未定义 未定义 未定义 未定义 未定义 未定义 未定义
BIT7(1) BIT6(1) BIT5(1) BIT4(1) BIT3(1) BIT2(1) BIT1(1) BIT0(1)
备用电源不正常报警 备用电源过压报警 备用电源欠压报警 备用电源过流报警 常用电源过流报警 切换到备用位置时发生错误(电机未到位或微动开关损坏)报警 切换到常用位置时发生错误(电机未到位或微动开关损坏)报警 切换到断开位置时发生错误(电机未到位或微动开关损坏)报警
表 三:(电网状态信息) ( flog )
BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8 未定义 未定义 未定义 未定义 未定义 未定义 未定义 未定义
BIT7 BIT6 BIT5(1) BIT4(1) BIT3(1) BIT2(1) BIT1(1) BIT0(1)