超声波明渠流量计485通讯协议
一、采集器或上位计算机的数据串口特性
RS485,波特率4800(若距离近可设为9600,距离远可设为2400),1个停止位,无奇偶位。
二、流量计的指令格式
采集器或上位计算机通过RS485口向流量计发送ASC编码指令信息,格式如下:
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
开始:开始符是06
指令代码:为十进制,2字节,00~99。
地址:为十进制,2字节,01~99。
数据:对于累加值设定,为十进制10字节:8字节整数,2字节小数,单位m3
校验和:校验和3字节,十六进制,“指令代码” +“地址” +“数据”的ASC数据和。
结束:结束符是08
指令01、流量计的累加值修改
指令代码:为01
(1)如果将12#流量计的累加值改为12345678.90 m3 ,则校验和2D1H,指令内容为:
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3031 | 3132 | 31323334353637383930 | 324431 | 08 |
(2)如果将09#流量计的累加值改为00000000.00 m3 ,则校验和2AAH,指令内容为:
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3031 | 3039 | 30303030303030303030 | 324141 | 08 |
如果流量计接收到的“校验和”与数据的实际校验和不一致,则本条指令无效。比如上述流量计的2条累加值修改命令中将校验和改为32 33 33,则累加值就不能被修改。同理,如果把指令代码改为02,其余数据正常,累加值也不能被修改。
指令02、流量计的地址号修改
指令代码:为02
数据:为地址值
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3032 | 无 | 08 |
如果修改流量计的通讯地址为01,校验和C3,指令如下:
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3032 | 无 | 3031 | 304333 | 08 |
本指令发送时,总线上只允许接有一台需要修改地址的流量计,否则会将总线上所有的流量计地址同时修改掉!!
指令03、请求发送瞬时+累加流量
指令代码:为99
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3939 | 无 | 08 |
如果需要获得01#流量计的瞬时+累加流量数据,指令如下:
开始符 | 指令代码 | 地址 | 数 据 | 校验和 | 结束符 |
06 | 3939 | 3031 | 无 | 304433 | 08 |
三、流量计的数据发送格式
流量计响应主机命令后再发送数据,ASC方式,格式如下:
开始符 | 数据代码 | 地址 | 数 据 | 校验和 | 结束符 |
02 | 03 |
开始02H
数据代码:XX,XX=00~99
地址:为十进制,2字节,01~99。
数据:由数据代码决定
校验和3字节:HEX,为“数据代码+数据”的累加和。
结束03H
举例:01#流量计响应“请求发送瞬时+累加流量”指令后的数据发送格式:
数据代码是06
地址:01
瞬时流量是7字节:4字节整数,3字节小数,单位m3/h
累积流量10字节:8字节整数,2字节小数,单位m3
如果瞬时流量为1123.562m3/h,流量累积值为00002356.29m3,则累加和是426H,通讯数据如下:
开始符 | 数据代码 | 地址 | 数 据 | 校验和 | 结束符 |
02 | 3036 | 3031 | 3131323335363230303030323335363239 | 343236 | 03 |