基于RS-485总线的水轮机温度监测系统
1.3 系统通信协议约定
作为基于RS-485总线通信的分布式温度监测系统,需要拟定于自身的软件通信协议,对通信过程加以控制。考虑到与其他监控系统的数据共享,对其他软件系统预留通信接口。规定如下通信协议。
1.3.1 协议格式
协议格式为
地址、功能码为1个字节,数据长度为2个字节,数据为n个字节,采用CRC累加校验,高位溢出。下发命令和指令返回都为此协议格式。主机PC和TCD-48温度巡检仪波特率均设置为9600 bit/s,初始状态为串口中断方式。PC主机定时发送召唤数据命令。温度巡检仪收到主机发送的命令时,先判断召唤地址是否与自身相同:如果不同则不响应;如果相同则应答,根据功能码上送主机需要的数据。
PC主机控制通信过程,主机接收到温度巡检仪上送数据后,结束本次通信过程;如果没有收到应答,则继续发送,如果3次不响应则视为线路故障。
1.3.2命令功能码定义
功能码主要包括温度巡检仪参数读取、设置;校正零点、满点、线性点;读取通道温度数据:设置告警、温度上下限等。
1.3.3 举例
设告警(以下为16进制):发送指令03 06 000731 0064 00C8 1014 7E。
指令中,03为地址,06为设告警功能码,0007为数据长度,3l为对所有通道,0064为设置告警。上限为100℃,00C8为设置告警上上限为200℃,1014为设置告警下限为-20℃。7E为校验和。设置成功后返回码为00 06 0007 31 0064 00C8 1014 7E。
2在线监测程序设计
2.1程序开发环境和功能模块
PC主机开发环境采用Visual Studio 2008,开发语言为C++。Visual Studio 2008构建了许多开发、调试和代码测试工具。并针对微软基础类库MFC(Microsoft Foundation Class library)界面开发增加了触模板(Ribbons)组件,大幅提高了开发效率和维护便捷性。本文使用MFC完成界面设计。并调用串行通信控件(MScomm)组件完成串口通信的控制。
程序的主要功能包括通信流程的控制、数据的存贮与转发、数据显示与处理分析。系统的服务与功能模块如图3所示。
图3系统的服务与功能模块
2.2温度数据存贮与转发接口
监测系统的温度数据存贮使用开源的MySQL数据库。MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成。MySQL提供了一套通信应用程序接口(CAPI)函数。它由一组函数以及一组用于函数的数据类型组成,这些函数与MySQL服务器进行通信并访问数据库,可以直接操控数据库。使用其提供的函数连接MySQL数据库代码为
考虑到各个系统之间信息的互通性,尤其是和DCS的数据共享。特增加了数据转发接口。设立监听端口2404,双方约定使用excel建立温度测点表。遵循IEC60870-5-104规约,利用主机网口进行通信。
评论