西门子CPU224XP port0 口485通讯,读流量计的累积流量。程序该怎么写?
流量计的协议 1位起始位,8位数据位,无校验,2位停止位,波特率9600。
本仪表可同时传输 1、2、4 个连续数据,每个数据采用相应地址进行存储,具体如下:
? 0001H~0002H:瞬时流量值
? 0003H~0004H:累积流量值
? 0005H~0006H:工况温度
读参数:
? 发送:从机地址(1 字节) + 功能代码(1 字节) + 要读取数据的起始地址(2 字节:
高字节、低字节) + 数据长度(2 字节:高字节、低字节) + CRC16 校验(2 字节:
CRC 低字节、高字节;8 字节
? 返回:从机地址(1 字节) + 功能代码(1 字节) + 读取数据的总字节数(1 字节) + 返
回读取数据(每个数据4 字节,共数据长度/2 个数据:) + CRC16 校验(2 字节:CRC
低字节、高字节;5+4n 字节
变量数据格式为标准四字节浮点数格式,四字节传送顺序为:低16 位的高字节、低16
位的低字节、高16 位的高字节、高16 位的低字节。
4. 例如需要读 瞬时流量值、累积流量值、工况温度、工况压力时:
发送:080300020008E555
08 是从机地址,03 是功能代码0002 是起始地址,0008 是数据长度,E555 是校验码(低
字节、高字节)。
返回:0803100000426051EC448200004316147B3F2E3524
08 是从机地址,03 是功能代码10 是读取数据的字节数,00004260 是第一个数(瞬时
流量值)56,第二个数(累积流量值)是51EC4482 是1042.56,00004316 是第三个数(工况
温度)150,147B3F2E 是第四个数0.68,3524 是校验码。