1.智能电磁流量计串口中断程序
在HART通信中,智能电磁流量计作为从设备.进行通讯,所以这里的软件设计只是针对于从设备.HART通信采用水平和垂直校验的方法.当检测到接收数据有差错时,则等到主设备命令帧发完后,通知主设备数据接收有误.主设备则重新发命令帧,从而保证通信的准确可靠.HART中断子程序流程图如图6所示.
由于HART通信为主从方式,HART帧中每个字节在物理层传输需要9ms左右,为了保证通讯的实时性,通讯程序采用串行口终端接收发送.该中断所要完成通信中的主要任务,即接收和发送帧,帧的拆分和打包.
2.上位机软件数据采集程序
1)形成读智能电磁流量计长帧地址命令字:5个FF前导码;起始字符为02(采用短帧格式时,主设备向从设备发送);地址为00(轮循地址);命令字是00(读变送器标识命令字节数);无数据
2)追加校验和:采用异或逻辑运算求校验和追加在字节数后,形成完整命令.
3)按异步串行通信方式发送命令并接收从设备回答的信息.
4)从回答的信息中提取流量计长帧地址.
5)形成读流量计其他数据命令:5个FF前导码;起始字符为82(采用长帧格式时,主设备向从设备发送);地址为流量计长帧地址;命令字、字节数和数据略;采用异或逻辑运算求校验和,追加在字节数后,形成完整命令.