PMAC?720标准电量监测仪 MODBUS串行通信协议 V4.0 ZHUHAIPILOT ELECTRONICSCo. Ltd Doc.No.04-0708-003 珠海派诺电子有限公司
目 * 第一章简介 1.1串行通讯协议的目的 1.2MODBUS通讯协议的版本, 3 第二章PMAC@720-MODBUS串行通讯协议详细说明- -3 2.1协议基本规则- -3 2.2传送模式- -3 2.3包裹结构- -3 2.3.1地址域 4 2.3.2功能码域- 2.3.3数据域 4 2.3.4校验域 2.4网络时间 4 2.5异常响应 4 2.6广播命令 5 第三章通信包裹-- 5 3.1继电器控制- -5 3.2读寄存器包裹 5 3.3写寄存器包裹 6 第四章计算CRC-16校验码 第五章PMAC@720寄存器说明 附录APMAC?720-MODBUS寄存器表
第一章简介 通信协议详细地描述了PMAC@720在MODBUS通讯模式下的输入和输出命令、信息 和数据,以便第三方使用和开发.
1.1串行通讯协议的目的 括: 1)允许主站访问和设定所接PMAC@720的全部设置参数: 2)允许访问PMAC?720的测量数据和事件纪录.
1.2MODBUS通讯协议的版本 该通讯协议适用于本公司已经出厂的各种版本的PMAC@720仪表,对于日后的系 列若有改动会加以特别说明.
2.1PMAC@720-MODBUS协议基本规则 以下规则确定在RS485(或者RS232C)回路控制器和其他RS485串行通信回路中设备 的通信规则: 1)RS485回路通信应遵照主/从方式.
在这种方式下,信息和数据在单个主站和最多 32个从站(监控设备)之间传递: 2)主站将初始化和控制在RS485通信回路上传递的信息: 3)无论如何都不能从一个从站开始通信: 4)RS485环路上的通信都以“打包”方式发生.
一个包裹就是一个简单的字符串(每 个字符串8位),一个包裹中最多可含128个字节.
组成这个包裹的字节构成标准异步串 行数据,并按8位数据位,1位停止位,无校验位的方式传递,串行数据流由类似于RS232C 中使用的设备产生: 5)主站发送包裹称为请求,从站发送包裹称为响应: 6)任何情况从站只能响应主站一个请求.
2.2传送模式 MODBUS协议可以采用ASCII或者RTU模式传送数据.
PMAC720仅仅支持RTU模 式,8位数据位,无校验位,1位停止位.
2.3MODBUS包裹结构描述 每个MODBUS包裹都由以下几个部分组成: 1)地址域 2)功能码域 3)数据域 PMAC720标准电量监测仪-MODBUS串行通讯协议
4)校验域 2.3.1地址域 MODBUS的从站地址域长度为一个字节,包含包裹传送的从站地址.
有效的从站地址 范围从1~247.
从站如果接收到一帧从站地址域信息与自身地址相符合的包裹时,应当执行 包裹中所包含的命令,从站所响应的包裹中该域为自身地址.
2.3.2功能码域 MODBUS包裹中功能域长度为一个字节,用以通知从站应当执行何操作.
从站响应包 裹中应当包含主站所请求操作的相同功能域字节,有关PMAC720的功能码参照下表.
功能码含义 功能 0x03 读取寄存器获得当前PMAC720内部一个或多个当前寄存器值 0x10设置寄存器将指定数值写入PMAC@720内部一个或多个寄存器内 0x05 继电器控制控制当前PMAC720内部一个继电器 2.3.3数据域 模式,即是高位字节在前,低位字节在后.
举例如下: Example 2.1 1个16位寄存器包含数值为0x12AB,寄存器数值发送顺序为: 高位字节=0x12 低位字节=0x0AB 2.3.4校验域 MODBUS-RTU模式采用16位CRC校验.
发送设备应当对包裹中的每一个数据都进行 CRC16计算,最后结果存放入检验域中.
接收设备也应当对包裹中的每一个数据(除校验 域以外)进行CRC16计算,将结果域校验域进行比较.
只有相同的包裹才可以被接受,具 体的CRC校验算法参照附录.
2.4网络时间考虑 在RS485网络上传送包裹需要遵循以下有关时间的规定: 1)主站请求包裹结束到从站响应包裹开始之间的时间最小为20毫秒,最大为250毫 秒,典型值为60毫秒: 2)从站响应包裹结束到主站下一请求包裹开始之间的时间在16位模式下典型值为 100毫秒,在32位模式下典型值为500毫秒: 3)包裹中相邻两个字节之间的最大时间依据通讯波特率不同而不同,一般来说最大字 节时间为3倍的字节发送时间(例如9600波特率下,字节间隔为3毫秒:4800波 特率时,字节间隔为6毫秒).
2.5异常响应 如果主站发送了一个非法的包裹给PMAC@720或者是主站请求一个无效的数据寄存器 时,异常的数据响应就会产生.
这个异常数据响应由从站地址、功能码、故障码和校验域组 成.
当功能码域的高比特位置为1时,说明此时的数据帧为异常响应.
下表说明异常功能码 PMAC720标准电量监测仪-MODBUS串行通讯协议
的含义: 功能码名称 说明 01H 接收到非法的操作功能码 02H 接收到非法的寄存器操作或者数据包裹长度超过128个字节 HSO 请求数据未从一个完整的数据结构首地址开始 H0 请求SOE数据未从一个完整数据结构首地址开始 05H 操作继电器通道错误 H90 密码写入错误 07H 内部存储体出现错误 2.6广播命令 PMAC@720-MODBUS协议支持广播命令,但只对写时间寄存器有效.
第三章通讯包裹 PMACs720-M0DBUS支持三个功能码,标准的MODBUS协议仅支持16位数据模式,也就 说传输任何测量值最大为65535.
3.1节将描述继电器控制的命令.
3.2节将说明PMAC720的读数据包裹和响应包裹的 格式.
3.3节将说明PMACw720写数据包裹和响应包裹的格式.
3.1继电器控制(功能码05) 在此模式下只能对单个继电器进行控制,继电器的状态可以通过读继电器状态寄存器来 获得.
继电器地址在寄存器中从0开始,继电器1的地址为0,以此类推.
发送十六进制FF00 闭合一个继电器,发送十六进制0000释放一个继电器,除此之外的值都是无效的.
控制继电器格式(主机→PMAC720) 响应格式(PMAC@720→主机) 从站地址 1字节 从站地址 1字节 功能码05H 1字节 功能码05H 1字节 通道地址 2字节 通道地址 2字节 控制指令 2字节 控制指令 2字节 CRC校验码 2字节 CRC校验码 2字节 3.2读寄存器(功能码03) 由主站机发送的包裹请求PMAC@720响应有效的寄存器,保留寄存器内容为0. 读寄存器格式(主机→PMAC@720) 响应格式(PMAC@720→主机) 从站地址 1字节 从站地址 1字节 功能码03H 1字节 功能码03H 1字节 开始地址 2字节 字节数(2*寄存器1字节 数目) 寄存器个数 2字节 第一个寄存器数据 2字节 CRC校验码 2字节 第二个寄存器数据 2字节 CRC校验码 2字节 PMAC720标准电量监测仪-MODBUS串行通讯协议