新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于RS-485总线的水轮机温度监测系统

基于RS-485总线的水轮机温度监测系统

作者: 时间:2016-12-20 来源:网络 收藏

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规约,利用主机网口进行通信。



评论


相关推荐

技术专区

关闭