用
modbus采集总流量,用状态表监视,有数据显示但无变化,并且和仪表显示总流量相差很大。不知道是不是地址错了,还是程序哪里有问题。求 高人指点
(用的是博克斯仪表,CTRL:波特:9600,无校验,时间5000;ADDR是40002,用的是计数器来使能MSG和加个上升沿使能first,计数时间是5。count设定的4,data是&vb40。)
附件:超声波物位计系列通信协议
1、通信接口RS485或RS232,波特率范围1200-9600。
2、仪表接线端为A, B和COM。
3、通信协议符合
modbus规约。寄存器地址为说明书显示项目编号。
4、通信信息组成:地址码-功能码-数据段-CRC校验码,一条消息连续发送和接收,字符间隔不能大于一个字符,否则认为一条新消息开始或老消息结束。信息体由十六进制数组成。.
5、数据定义:标准4字节浮点数。符合IEEE标准.
6、通信命令:
功能码03-用来读取显示数据
发送 01 ;地址 回应 01 ;地址
03 ;功能码 03 ;功能码
00 ;寄存器地址高 04 ;字节个数
01 ;寄存器地址低(显示地址) 80 ;数据1
00 ;寄存器个数高 04 ;数据2
04 ;寄存器个数低 80 ;数据3
CRCH ;CRC校验码高 80 ;数据4
CRCL ;CRC校验码低 CRCH ;CRC校验码高
CRCL ;CRC校验码低
说明:地址=仪表号,寄存器地址=显示项目编号
回应字节个数=(发送)寄存器个数低(1-63)