龙源期刊网 http://www.qikan.com.cn
基于Delphi的地铁屏蔽门监控软件设计
作者:隋仁东,胡彩旗
来源:《电脑知识与技术》2011年第09期
摘要:该文基于Delphi语言构造了一种性能稳定可靠、成本较低、具有自主知识产权的地铁屏蔽门监控系统。讨论了采用Delphi编程工具进行开发过程中相关技术的应用,分析了地铁屏蔽门监控软件的设计,给出部分功能的人机界面。在软件设计的过程中进行了全方位的测试,测试结果证明该系统在准确性、安全可靠性以及实时性等方面都能够得到很好的保证。 关键词:地铁屏蔽门;监控软件;Delphi
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)09-2172-03 Design of Monitoring Software for Metro Platform Screen Doors Based on Delphi SUI Ren-dong, HU Cai-qi
(Qingdao Agricultural University, Qingdao 266109, China)
Abstract: Based on the Delphi language, this paper establishes monitoring software for Metro Platform Screen Doors, which has stable and reliable performance, low cost, and independent
intellectual property rights. The application of relevant technologies is discussed during develop and research of the monitoring software with Delphi language. The design of the software is analyzed, and the interface of the software for some main functions is given. A full range of tests is done when the software is designed, the results of tests show that the system is accuracy, reliability, and safety and real-time of it can be guaranteed very well.
Key words: metro platform screen doors; monitoring software; Delphi
地铁屏蔽门是用于轨道交通地铁站台的防护性设备,它设置于站台边缘,将站台公共区域同列车运行区域相互隔开以起到保护乘客安全的作用。地铁屏蔽门监控系统的设计以稳定性、可靠性为第一要素,并以操作简单、易用且模块化设计为目标。
针对地铁屏蔽门监控系统的设计需求,考虑到Delphi可视化的特点使其比传统的Windows应用程序开发语言C/C++编程效率高,可以大大缩短开发周期; Delphi7.0是真正的面向对象的编程平台,其位编译生成的可执行代码运行速度极快,甚至超过C/C++代码,完全满足工控软件的速度要求;同时,Delphi强大的数据存取功能、构件的可重用性和可扩展性、与C++相仿的完善的OOP语言结构等都是其他开发环境所不能比拟的。经过比较,该文给出了以Delphi7.0作为开发平台的地铁屏蔽门监控软件的设计。 1 地铁屏蔽门监控系统结构设计
龙源期刊网 http://www.qikan.com.cn
地铁屏蔽门控制系统采用现场总线技术,把挂接在总线上作为总线节点的各设备连接为网络集成式的全分布控制系统,以实现对屏蔽门的控制、参数修改、报警、显示等综合自动化功能。在屏蔽门控制系统中,主控机(PSC)(上位机)、操作指示盘(PSA)、门机控制器(DCU)(下位机)、机电设备监控系统(EMCS)通过网络总线构成开放的网络系统,它们可同时传送数据,并能共享系统的信息(如图1所示),具体数据交换方式描述如下。 1) 主控机(PSC)与门机控制器(DCU)之间采用双数据总线;
2) 屏蔽门系统与机电设备监控系统(EMCS)之间采用RS422/RS485双数据总线; 3) 操作指示盘(PSA)与主控机(PSC)之间采用RS485单数据总线; 4) 主控机(PSC)与电源系统通过RS485总线连接。
上位机监测CAN总线系统,从本质上讲是属于多主发送的现场总线,但它把上位机节点看作主控节点,是主从模式与多主模式相结合的形式。下位机只在主控节点要求的情况下才会发送数据。
监控系统对设备现场采集的信息主要有:各传感器信号、开关门和手动释放等指令信号,并将这些信息传送到上位机,作为系统控制的依据,从而实现对屏蔽门(下位机)的信息交换、参数修改、报警、显示、控制等全方位功能。
具体来说,就是现场每个屏蔽门的门控单元的功能是依据自身控制器的指令发出动作,并将设备现场运行信息(正常信息或非正常信息)通过CAN总线传输给上位机,上位机根据从门控单元获得的各种信息通过各种形式显示给操作员,包括计算机屏幕显示和语音报警显示。其中屏幕显示会将不同的信息(正常信息和非正常信息)以不同的颜色呈献给操作员,供操作员快速、正确地进行现场决策。同时,系统软件将设备现场的运行信息保存到上位机的后台数据库中,作为历史的运行记录,可供相关人员随时查询、跟踪设备任一时期运行情况,并可以报表的形式打印出来,作为备案存档。 2 监控系统上位机软件设计
监控系统软件是在中文Windows XP环境下运用Delphi完成的。在设计中采用面向对象的方法;在报警操作中使用了Delphi的多媒体功能;实现了与数据库的连接和对数据库的存取等功能;利用Delphi的构件扩展性极为方便地实现了总线通讯。 2.1 面向对象的设计
本系统需监控的现场设备主要是每一套屏蔽门的信息,因此,在监控软件设计中将现场每一套门体来作为一个对象进行监控会使系统变得比较容易控制,基于此,软件设计中首先设计一个现场门体类,如下:
龙源期刊网 http://www.qikan.com.cn
TUnitDoor = class(TComponent) private
在这里定义屏蔽门类的各种私有变量,包括位置信息、通讯标志、各种状态标志、各种故障标志,同时定义各私有过程或函数,如: FNo:integer;//单元门位置信息
Procedure ControlErrHandle; //控制器故障处理过程 Public
在这里定义屏蔽门类的各种公有变量、属性,以及各种公共方法,如各种故障显示图像信息、构造函数等,如:
FCommunicationErrImg : TImage; //单元门遇到总线故障时显示的图像 constructor create(AOwner: TComponent);override; //构造函数 destructor destroy; override; //析构函数 published end;
通过建立的门体类TUnitDoor,将每套门在现场运行过程中所发生的重要信息和相应动作都以属性和方法的形式体现出来,在系统运行的过程中对应现场每一套屏蔽门建立相应的TUnitDoor对象,设计比较清晰。
2.2 Delphi中多媒体功能的应用
任何一个工业监控软件必须具备控制点参数越限、事故等报警功能。普遍使用的报警方式是使显示器上某一区域颜色变化或闪烁,有些软件还辅以扬声器发声提醒操作人员。本软件要同时监视数百个设备信息点,仅仅通过扬声器发声由操作人员去查找参数异常的控制点显然是不方便的。因此,在报警操作中我们引入了声音控制。首先生成声音文件,录制报警声音并加入指示性语言,然后按预先定义的控制点编号存成相应的Wav文件。如HasObstacle 3.Wav是编号为3的屏蔽门的报警文件,其内容为“3号屏蔽门有障碍物”。