FX3U232BD板和MC51-Y智能积算仪通讯程序
仪表采用modbus通讯规约,仪表作为从设备响应主设备的查询命令。
一、仪表通讯特征
1、字节位格式:1位起始位、8位数据位、1位停止位、无校验位;
2、波特率:1200~9600,可编程设定;
3、仪表地址:0~255,可编程设定,通讯线路中传输为0x00~0xff。
二、主设备发起查询命令格式
从设备地址(hex)+0x03+寄存器高地址(hex)+寄存器低地址(hex)+寄存器数量高字节(hex)+寄存器数量低字节(hex)+CRCL+CRCH
如:查询10号仪表00寄存器开始的4个寄存器数据,主设备发送命令格式:
0x0a,0x03,0x00,0x00,0x00,0x04,0x45,0x72(命令为连续的字节发送,无中间”,”)。
三、仪表响应主设备的查询命令后返回数据格式
仪表地址(hex)+0x03+数据长度+仪表的数据包+CRCL+CRCH
如:10号表响应主设备命令后,返回数据如下:
0x0a,0x03,0x08,0x00,0x00,0x04,0x11,0x00,0x00,0x06,0x35,0x8E,0xC3;
四、寄存器内容定义
寄存器地址 数据内容 字节数 数据类型 小数位
0x00~0x01 瞬时流量 4字节 Long 2位小数
0x02~0x03 压力 4字节 Long 3位小数
0x04 温度 2字节 Int 1位小数
0x05~0x06 累积流量 4字节 Long 1位小数
0x07 频率 2字节 Int 1位小数
0x08 电流 2字节 Int 3位小数
0x09~0x0A 差压 4字节 Long 3位小数
0x0B~0x0C 密度 4字节 Long 3位小数
如读寄存器的地址超出与之范围,仪表将返回错误信息或不可预知错误数据。
请老师帮忙写个FX3U232BD板和MC51-Y智能积算仪通讯程序程序样例 谢谢
sxjiangx@163.com用232转485转换器转换485信号
[ 此帖被jiangx在2017-02-06 15:02重新编辑 ]