摘 要:以单片机作为下位机,以系统机作为上位机通过RS-232串口进行远程通信的计算机监控系统得到了广泛应用。本文介绍了一种基于多个RS-232串口通信,通过公用电话网实现的柴油发电机组远程监控平台的设计与应用。
关键词:柴油发电机组,监控系统,RS-232串口
柴油发电机组在无市电供应及需要不间断供电的地方,如电信系统、电力系统、广播电视系统的机站、机房,银行、医院等单位的供电系统等得到了广泛应用。在电信系统内,通常一个县级局要管理多个供电机房,这些机房有的位于市区,有的位于偏僻的高山,有的有人值守,有的无人值守,但都需要不间断供电,一般每个机房有一至数台柴油发电机组,作为市电供电的备用电源,或是几台机组互为主备供电。对这些柴油发电机组实现计算机自动监控和统一管理就显得很重要,这样有助于减少值班人员的工作强度,提高工作效率,提高管理水平。在县级局内设集中监控中心,监控主机通过公用电话网实现对各个下级机站柴油发电机组的远程实时自动监控和管理,系统构建方便,实现简单,使用可靠,适合实际的需求,得到了广泛应用。
1 系统结构
柴油发电机组远程监控平台的系统结构如
点击看原图
柴油发电机组经MODEM与电话线路相连,在电话线路的另一端再经MODEM与监控主机的RS-232串口相连。
很多县级局和下级机站之间都有SDH信道相通,如果有附加的RS-232串口,也可以通过SDH信道传输数据,从而省掉电话线路两边的MODEM,等同于RS-232串口电缆直接相连。
如果一个下级机站内有多台柴油发电机组需要监控,在电话线路允许的情况下,可以为每台机组分配一条电话线,各占用监控主机的一个RS-232串口。如果电话线路有限,也可将机站内的各台柴油发电机组通过RS-485总线连成一个网络,经过RS-485/RS-232转换器,再接MODEM(见图2),通过一条电话线路与监控主机相连,只占用监控主机的一个RS-232串口,每个机组分配一个地址,监控主机依靠地址来区分机组,轮流通过同一条电话线路监控各台机组,但这样一来会降低监控系统的反应速度。
RS-485总线为两线半双工串口总线,使用双绞线以平衡差分方式传送数据,其主要特点有:传送速率快,最快达每秒10M位;传送距离远,最远达1200米;抗干扰能力强,在噪声环境下长距离驱动32个节点。
2 柴油发电机组监控模块
每台柴油发电机组配一个监控模块,就可以通过串口对柴油发电机组进行计算机监控,各种信号从柴油发电机组电控箱内取。
我们选用80C552 单片机作监控模块控制核心,采用大规模集成电路,并结合了先进的设计技术。监控模块带有双看门狗电路,确保系统在意外死机时能自动恢复工作,这在无人值守的情况下是极其重要的。
柴油发电机组监控模块测量机组输出三相电压、三相电流、机组频率、机组转速、机油压力、冷却水温、燃油油位、机组启动电池电压、输出功率等运行参数并根据需要发送至监控主机。冷却水温、机油油压等参数的测量传感器一般都不是线性的,而且不同柴油发电机组生产厂家选用的传感器差异很大,监控模块保存监控主机发来的数据表格,并根据表格对采来的冷却水温、机油油压等参数进行线性化处理,以适应不同的传感器。监控模块有不掉电存储器,可以保存大量的工作、控制参数。
当测量的运行参数超出设定的上下限报警值,监控模块根据复杂的控制逻辑控制柴油发电机组的各种动作:起动、停机、ATS转换等,并将各种报警信息以及柴油发电机组的各种状态(自动/手动状态、运行/停机状态、市电/油机ATS状态、油机/油机ATS状态)报告监控主机。
监控主机也可根据需要遥控机组开机、关机、紧急停机、市电/油机ATS转换或油机/油机ATS转换等。
柴油发电机组监控模块的所有设置都可以在现场通过面板键盘完成,或者由监控主机在远处通过串口进行。监控模块提供RS-232和RS-485两种接口,有电信总局协议和MODBUS协议两种型号,采用10位异步串行通信方式(起始1位,数据8位,停止1位,无校验位),数据传输率1.2kb/s—19.2kb/s可选,监控主机和监控模块之间采用严格的主从方式交换数据(监控模块只有在收到监控主机的命令后才会返回相应的数据,而不会主动发送数据给监控主机)。这样的设计非常适合构建我们的柴油发电机组远程监控平台。
柴油发电机组监控模块根据功能的强弱不同,已经形成了系列产品,以适应不同的需求。监控模块本身结构灵活,功能扩充也很方便。
3 通信协议
我们使用两种通信协议:电信总局通信协议和MODBUS通信协议。
电信总局通信协议参照电信总局《通信局(站)电源、空调及环境集中监控管理系统前端智能设备通信
MODBUS通信协议的编码方式、信息传输方式与电信总局通信协议要求相同。
MODBUS协议描述如下:
命令格式:AA,CC,SSSS,WWWW,LRC,CR,LR
AA: 地址(两字节);
CC: 命令(两字节);
SSSS: 数据地址(四字节);
WWWW:数据(四字节);
LRC: 校验码(两字节);
CR: 回车;
LR: 换行。
响应格式:AA,CC,RENUM,DATA,LRC,CR,LR
RENUM:返回响应数据字节数;
DATA: 返回数据;
其余解释与命令格式相同。
4 串口扩充
通常一个县级局管理着几个下级机站,如果采用监控中心只用一条电话线路,由监控主机拨号接通一个下级机站,监控一下,挂断连接,再拨号接通另一个机站的轮流分时监控的方案,在机站较多时,系统反应时间太慢,难以做到实时监控,所以监控中心为每个下级机站分配一
采用MOXA公司生产的系列多串口卡(使用较多的是C168H八串口卡)可以很方便地将RS-232串口扩充至需要的数量,而且这些扩充的串口的操作相互独立。多串口卡本身附带了丰富的函数库和多种工具,支持VB、Delphi、C++等流行编程语言,使用时可以直接调用,方便编程,但应注意,函数库只支持串口卡上的串口。使用编程平台提供的通信控件,可以同等地操纵串口卡上和计算机本身的RS-232串口。
由于Windows操作系统本身具有多任务的特点,所以可以通过精心设计监控平台软件同时操纵这些RS-232串口并行地监控各个下级机站,做到实时监控(如果某下级机站有不止一台的柴油发电机组需要监控而采用RS-485方式相连,那么对这些机组仍需分时监控)。
5 远程监控平台软件
柴油发电机组远程监控平台对分布的柴油发电机组进行遥控、遥信和遥测,实时监视其运行参数,监测和处理故障,记录和处理相关数据,从而实现设备少人或无人值守及集中维护。
远程监控平台软件包括两部分:监控软件和界面构造软件,整套软件用Delphi5.0编制。远程监控平台软件同样可以用来监控别的设备。
远程监控平台软件按照通信协议区分有两个版本:版本A符合电信总局通信协议,版本B符合MODBUS通信协议,适用于对不同协议型号的监控模块监控。
远程监控平台软件对软、硬件环境要求不高,普通的奔腾机,16M内存,中文版Windows95以上版本就可正常运行。
5.1 界面构造软件
由于我们的柴油发电机组监控模块是一系列化产品,监控的参数有一些差别,而且即使使用同一型号的监控模块,不同的用户在监控的参数上也有数量和名称的不同,为了避免重复开发监控软件,以及现场安装调试的方便,我们开发了一套界面构造软件。
根据提供的软件使用说明书和相应的通信协议,即使是用户也能方便地针对某一台需监控的柴油发电机组设计一个监控界面,监控的参数数量,参数的名称,以及字体,颜色,背景画面等,都可以根据需要和自己的喜好设定。设计一个监控界面,并生成界面文件后,指定每一个监控对象对应的界面文件,监控软件自动调入这些界面文件转化成界面并监控相应的柴油发电机组。
5.2 监控软件
监控软件的功能框图如下(图3):
在完成必要的参数设置后,监控软件分别拨号与需要监控的柴油发电机组建立连接,同时操纵多个RS-232串口发送、接收数据,监控柴油发电机组,反应时间与只监控一个机组的反应时间是一致的,约2秒完成一次实时数据刷新。如果一个机站内有多台机组连成RS-485网络通过一条电话线路与监控主机相连,则监控软件对这几台机组轮流分时监控, 数据刷新时间= (同一RS-485网络上的机组数X 2 ) 秒。监控软件收集各个柴油发电机组的报警信息,产生报表文件以供打印保存或上报。
主监控机组选择:
导航树窗口清晰地显示出整个监控平台系统的构造:系统内有多少个机站,每个机站内有多少台柴油发电机组,机站与监控中心监控主机之间是通过MODEM拨号通信还是RS-232串口电缆直接相连,目前有多少台机组正处于监控状态等。点击某机组图标,则其监控界面弹至最前,作为主监控界面,此时可以监视机组状况,并完成控制、参数设置等任务。
拨号和挂机:
对所有需监控的机站按各自设定的电话号码进行拨号连接,工作结束后,将所有已拨号连接的机站断开拨号通信连接。可以所有机站同时
如果通过SDH信道传输数据,则相当于用RS-232串口直接电缆相连,不需拨号和挂机功能。
系统参数设置:
设置需要监控的机站,以及电话号码、机组地址、定时拨号、对应RS-232串口、通信波特率等参数。
模块参数设置:
对每一个柴油发电机组监控模块,要使其按预定的功能正常工作,必须设置许多参数:机组地址、通信波特率、上下限报警值、传感器线性化参数、监控模块系统参数等以及其他许多与柴油发电机组工作控制有关的参数。
报警记录:
当某台柴油发电机组有报警信息产生时,其对应的监控界面弹至最前,成为主监控界面,同时发出声音报警,保存报警记录。报警日志以文本形式保存在“报警记录”文件夹中,每天产生一个报警文件,以当天的日期做文件名。报警文件定期清除。
报表打印:
可以单独打印每一个报警日志,也可以将当天所有机组的报警日志按一定的格式归总生成报表再打印,作为当天的工作日志存档或上报。
6 结束
我们开发的柴油发电机组远