气象站Modbus通讯协议TRM-ZS1(标准)

  • 格式:docx
  • 大小:36.79 KB
  • 文档页数:9

自动气象站ModbusRtu通讯协议
适用设备编号:
版本号:V1.0
锦州阳光气象科技有限公司版权所有
1.1通讯线说明
a. 232通讯口,通讯线标识COM232,信号输出232方式。

通讯引脚定义:
b.485通讯口,通讯线标识485通讯,信号输出485方式。

通讯引脚定义:
1.2选择通讯波特率
设备使用双向异步通讯,固定1位起始位,8位数据位,1位停止位,无奇偶检验。

支持4800,9600,19200共三种波特率。

设备里应可以通过菜单直接选择任意一种波特率,如果设备本身无显示屏配置,可以通过命令修改波特率。

设备默认串口通讯参数:
串口波特率:9600
停止位:1
数据位:8
校验位:无
设备默认地址:01
1.3 指令格式
1.4 附加地址与通讯参数设置
附加地址为单字节16进制数据,设备只响应附加地址与本机附加地址一致的请求数据帧。

设置应可以通过系统软件菜单直接设置地址,也可以通过命令修改地址。

1.5 数据
遵循Modbus协议,数据域中的16进制数据以及浮点数,都是高字节在前,低字节在后。

1.6 功能码
1.7 差错效验
采用循环冗余效验(CRC),CRC结果为单字,其低字节在前,高字节在后。

其生成规律如下。

a)设置一个16位的CRC寄存器,并赋以初值0xFFFF
b)将数据帧中的第一个字节,也就是附加地址,与CRC寄存器的低8位按位异
或,并保存在CRC寄存器中
c)将CRC寄存器右移1位,,并检测移出的最低位是否为1,如果最低位为1,
则将CRC寄存器与固定数0xA001异或
d)重复步骤c共8次
e)对数据帧的下一个字节重复步骤b,c,d,直到数据域的最后一个数据
f)最后的CRC寄存器中的内容,就是最后的效验值,将其附加在数据帧的最后
一个数据之后,并保持低8位在前,高8位在后的放置
1.8读寄存器(获取实时监测数据)
读传感器数据寄存器
举例:设备地址为01,获取实时监测数据
发送请求:0x010x030x000x000x000x0A0xC50xCD 回复数据:
1.9寄存器地址
附录
1.1 设置波特率指令
设置波特率指令,基本通信参数不变,协议格式和发送方式有别于Modbus协议,发送方式是ASCII码,报文格式如下:
发送报文:
#附加地址210B波特率GG (波特率数据为16进制)
接收报文:
#附加地址210BGG
示例:
附加地址01,波特率设置成9600
发送:#01210B2580GG
接收:#01210BGG
1.2 设置附加地址指令
设置附加地址指令,基本通信参数不变,协议格式和发送方式有别于Modbus协议,发送方式是ASCII码,报文格式如下:
发送报文:
#140O附加地址GG (附加地址范围01~FF)
接收报文:
#附加地址140OGG
示例:
设置附加地址为01
发送:#140O01GG
接收:#01140OGG
1.3 通讯异常排查
a)检查设备是否开机,并正常工作。

b)检查设备通讯口,如果设备同时有多个通讯接口(如同时包括232和485接口)时,只能连接其中一种通讯口。

c)如果通讯线非原厂线或对原厂线进行改动,请根据上文的通讯线说明检查通讯线。

d)如果线路中,将232或485线进行互相转接,请使用原厂的转换模块。

e)如果使用232转USB线,请检查电脑是否安装了该转换线的驱动程序,并在设备管理器里查看是否驱动成功。

f)如果上述问题检查没有问题,仍然通讯异常,请检查通讯参数是否正确、附加地址是否正确。

可以在设备支持的波特率范围内,分别选择不同的波特率,发送设置附加地址命令,有接收报文则停止,并根据匹配的波特率进行通讯测试。

g)如果下发报文,没有任何回应,检查通讯指令是否正常,检查CRC效验是否正确。

尝试发送获取第一个寄存器数据的指令,看是否有回应。

h)如果能收到报文,但是数据异常或格式不正确。

请将设备和电脑连接,通过我们公司配套的软件,查看数据和您解析的数据是否一致。

如果我们配套软件和您解析的数据一致,但对数据有疑问,请直接联系我们的售后部门咨询。

注:如有更多问题,欢迎来电咨询:0416-*******。