隧道监控系统软件设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第32卷 第1期2009年6月 上海船舶运输科学研究所学报J OU RNAL OF SSSRI Vol.32No.1J un.2009收稿日期:2009202226
作者简介:刘天鹏(19822),男,安徽省临泉县人,工程师,主要从事交通监控软件的应用开发。
文章编号:167425949(2009)0120059205
隧道监控系统软件设计与实现
刘天鹏, 肖又发
(上海交技发展股份有限公司,上海200135)
摘 要:隧道监控系统软件开发平台主要分为组态与非组态两种,文中分析了两种平台各自的优缺点,提出采用组态与非组态组合开发的方案,并结合诸永高速公路东阳隧道群监控系统的开发对软件模块的设计和实现方法进行了详细阐述。
关键词:隧道;监控系统;iFix ;C #;PL C
中图分类号:X820.3 文献标志码:A
Soft w are Design and R ealization of Tunnel Monitor and Control System
L I U Ti an 2peng , X I A O You 2f a
(Shanghai Communications Technology Develop ment Co.,Lt d.,Shanghai 200135,China )
Abstract :Development platforms of tunnel monitor and control system software are mainly classified into configuration one and non 2configuration one.Advantages and disadvantages of the two platforms are analyzed ,a development scheme of monitor and control system software that combines configuration and non 2configuration is presented.By taking the development of monitor and control system of the tunnels Dong Yang on Zhu Y ong Expressway as an example ,the design and realization of monitor and control system software modules are described in detail.
K ey w ords :tunnel ;monitor and control system ;iFix ;C #;PL C
0 前 言
隧道是公路上的特殊路段,空间环境狭窄、光线变化大、视野不清,存在潜在的交通事故危险。
因此,建立功能完善、运行可靠的监控系统是必不可少的。
目前,国内公路隧道监控系统软件的开发主要有组态开发和非组态开发2种方式。
组态开发方式开发简单,开发出的监控软件人机界面友好、性能稳定,但组态软件成本高,在灵活性方面比较差,同时代码的重复利用率不高;非组态开发方式灵活性好,代码可继承性较强,但软件开发难度大,开发所需周期也较长。
所以,在兼顾软件成本、开发周期、系统响应速度等方面的需求,可采用组态和非组态组合的方式来开发监控软件。
本文以诸永高速公路东阳隧道群监控工程项目为例,介绍基于组态软件i Fix 和高级语言C #开发的隧道监控系统软件的设计与实现。
诸永高速公路东阳段全长60.36km ,沿线有乌竹岭隧道、里岭隧道及马宅隧道群等8座隧道,其中长隧道(大于2000m )2座,共分布18台区域控制PL C 、8台通风控制PL C 和13台电力监控PL C 。
1 监控系统的组成及硬件结构
1.1 系统组成
隧道监控系统由交通监控子系统等9个子系统组成,如图1所示。
图1 隧道监控系统组成图
1.2 系统硬件结构
隧道监控系统一般采用分布式控制模式,中控
室对现场设施不直接进行控制,由现场各种设备的
区域控制器进行控制。
分布式控制模式的网络结构
一般分为3个层次:上层为中央控制室的计算机系
统,中间是由各PL C 组成的控制层,下层为各种检
测和控制设备组成的设备层。
而对于有些项目,车
辆检测器、可变情报板等现场串口设备直接接入串
口转换模块,由串口转换模块和PL C 组成中间控制层,这样可以减少PL C 通信模块的数量,节省大量
成本,但与全部设备接入PL C 的方式相比,在系统稳定性上略显不足。
监控系统软件运行于中控室的计算机系统上,并不断与PL C 和串口转换模块交换数据,实现对现场设备的实时监控。
组态软件i Fix 内嵌有各种主流PL C 的数据驱动,能够保证与PL C 数据交互的实时性;C #开发的串口设备数据通信模块,灵活性好,可以重复继承使用,能够减少现场调试的工作量。
所以采用i Fix 和C #组合的方式开发监控软件,适用于各种由不同厂商PL C 和网络结构构成的项目。
诸永高速公路东阳隧道群监控项目也采用3层结构(见图2),上层采用基于Windows 平台信息层上的交换式快速以太网结构;中间是基于光纤的链状环网,由OMRON CS1系列PL C 和一些串口转换模块联网,其中长隧道(里岭隧道、云腾岭隧道)又形成自己的双环以太网;下层的现场设备,包括连接在PL C 上的各种设备(一氧化碳能见度检测仪、亮度照度检测仪、风机、水泵、交通灯等)和连接在串口转换模块的各种设备(车辆检测器、气象仪、可变情报板等)。
中控室服务器操作系统采用Microsoft Windows Server 2003标准版,客户端操作系统采用Microsoft Windows XP Professional ,数据库管理系统采用Micro soft SQL Server 2005。
图2 诸永隧道群监控系统硬件结构图
06上海船舶运输科学研究所学报2009年第1期
2 软件开发平台选择
目前,国内隧道监控系统软件的开发主要有组态软件开发和非组态开发两种模式。
2.1 组态软件开发
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的软件工具。
组态软件支持各种工控设备和常见的通信协议,提供使用脚本语言进行二次开发的功能。
它是一个能使用户快速建立自己的人机界面的软件工具。
组态开发的特点:
开发时间短。
组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需要掌握太多的编程语言技术,就能很好地完成一个复杂工程所要求的所有功能。
一个具有隧道监控系统控制逻辑知识的开发团队可以在较短的工期内,通过少量代码的编写完成一套满足业主要求的监控系统软件。
人机界面友好。
组态软件提供了强大的界面图形编辑工具,内置大量的图库供用户选择,开发人员只需要将选择的图形素材拖曳到界面上,就可以完成人机界面的设计与开发。
如果需要也可以对这些图形素材进行简单的修改与完善。
通常这样的人机界面操作简单、可控制性强,并且十分友好,完全可以满足工业控制领域的需要。
性能稳定。
适应工业控制而形成的特定的开发平台,经受过长期的工业控制领域应用的考验,并且其产品与工业控制领域的技术发展保持了良好的同步关系,实践证明组态软件开发的应用软件具有较高的可靠性。
组态软件对区域控制器几乎做到了无缝联接,比如对某一控制器进行控制,只须通过对组态软件的标签进行配置即可进行通信,从而实现对外场设备的开关量进行控制、模拟量的监测等功能。
但组态软件开发也有其不方便之处,组态软件使用脚本语言提供二次开发的功能,在灵活性方面比较差,由于隧道监控系统一般都需要提供一些综合管理功能,如预案编辑、管理,报表查询等,利用组态软件来实现比较复杂,开发时间长,同时代码的利用率不高。
2.2 非组态软件开发
利用Visual C ++、Delp hi 、Visual Basic 、C #等高级语言也能开发出隧道监控软件。
通过面向对象的模块化开发方式,可以建立起健壮性和稳定性较强的软件架构,从而实现既定的软件规划目标,程序代码可继承性较强,可提高开发效率。
但采用这种非组态开发平台开发监控软件,开发周期长,对开发人员要求高,数据响应速度较慢。
高级语言一般采用OPC 接口方式来实现与PL C 进行数据交互的模块。
OPC (OL E for Process Con 2t rol )是基于Micro soft 公司OL E/COM 和DCOM 技术的通信接口规范,采用C/S 结构。
目前市场上的PL C 一般都提供O PC 标准接口,采用这种方式开发的数据交互模块,通用性高,但对于大批量数据的交互速度较慢。
高级语言也能开发出色彩、结构、图形各方面都非常完善的人机界面,但这需要借助于大量的代码编写。
这样程序员就会将大量的注意力集中在界面设计上,而不是软件功能开发上。
同时由于隧道监控一般需要与大量的硬件设备进行交互,要开发出一个性能稳定的系统难度很大,开发出的程序需要较长的测试周期。
所以采用非组态方式开发监控软件,开发时间长,对开发人员要求高。
2.3 系统开发平台选择
对于隧道监控系统软件,受工期的制约,只有当设备安装达到软件测试的条件时才能进行全面测试,这时往往距离通车时间也比较短。
这就需要我们从易开发、系统稳定性、代码利用率等方面综合考虑。
完全利用组态软件进行隧道监控软件的开发,在实现综合管理功能,如控制策略编辑、管理等方面比较复杂,代码利用率不高,对这部份功能,每个系统都需要重新开发。
完全利用非组态开发平台进行隧道监控软件的开发,对程序员的编程水平、逻辑能力、测试水平要求很高,在短期内很难开发出一个功能完善、运行稳定的监控系统软件。
因此综合以上考虑,我们决定采用组态与非组态结合的方式进行开发,组态选择i Fix ,非组态选择C #,与PL C 关系紧密的硬件采用组态软件来控制,综合管理等功能采用非组态软件来开发,两者之间进行必要
1
6刘天鹏,等:隧道监控系统软件设计与实现
的数据交互。
这样开发出的系统性能稳定,同时可以大大节约开发时间。
3 软件设计与实现
隧道监控软件按照功能可划分为数据采集控制模块、画面显示模块、集中报警模块、策略编辑模块、综合管理模块和数据库模块。
监控软件结构如图3所示。
图3 隧道监控软件结构图
3.1 数据采集控制模块
数据采集控制模块是隧道监控软件中最基础的部分,它负责和设备进行通信,采集设备的数据,同时执行设备控制命令。
本监控系统中,通风、照明、给排水、电力和交通监控子系统的大部分设备直接连接到PL C ,这些设备的数据采集和控制功能通过组态软件i Fix 来实现。
i Fix 中内嵌了与PL C 的连接驱动,在开发过程中不再需要考虑与PL C 的硬件接口,只需通过对i Fix 的标签进行配置即可进行通信,从而实现对设备开关量和模拟量的监控功能。
在i Fix 调度中定时扫描标签,并把标签的值存储到内存。
对于设备运行状态、故障等开关量标签,每次扫描时与内存中上个周期的值进行比较,当数值变化时,按照标签对应的设备类型分类存储到数据库的设备状态表中;对于一氧化碳、能见度、风速等模拟量标签,统计连续几个周期内的平均值,存储到数据库的模拟量历史表中。
系统中有部分设备,如车辆检测器、可变情报板、气象仪采用串口转换模块连接到网络上,这些设备的数据采集和控制功能通过高级语言C #编程来实现。
C #调用串口通信函数可以很方便的与设备进行串口通信,软件根据设备采样周期定时通过串口协议采集数据,存储到数据库的历史数据表中。
火灾报警系统和紧急电话系统在网络中有独立的主机,监控软件通过TCP/IP 协议与主机进行通信,C #也提供相应的网络通信模块。
软件被动接收主机发送的数据,当接收到报警数据时,把报警数据存储到数据库的报警历史表中,同时通过UDP 网络协议发送给集中报警模块。
3.2 画面显示模块
画面显示模块通过图形化方式显示设备的运行状态和监测数据,同时也包含手动控制模式下的设备控制界面。
画面中设备数据的来源有2种,一种是在i Fix 中通过标签获取的数据,这种数据只需要把标签链接到画面中,即可在画面中实时显示标签对应的数据;另一种是通过C #采集存储到数据库中的数据,这种数据需要通过定时查询来从数据库历史表中获取。
在画面中可通过图形、数字方式显示当前设备的数据,还可通过趋势曲线方式显示各模拟量值的变化趋势,通过趋势图操作员可以看出模拟量数据的变化情况。
趋势曲线包括即时曲线和历史曲线,即时曲线反映了当前时刻和在此之前的数据变化状态,历史曲线可以选定某一时期的数据变化过程。
3.3 集中报警模块
集中报警模块提供一个综合平台显示系统中所有的报警信息,包括i Fix 软件采集的一氧化碳能见度超
26上海船舶运输科学研究所学报2009年第1期
标、断电等报警信息和C #软件采集的火灾报警、紧急电话呼叫、车辆拥堵等报警信息。
集中报警模块采用C #开发,通过OPC 接口方式获取i Fix 采集的报警数据。
i Fix 中内嵌有O PC 服务器接口,集中报警模块可作为客户端通过OPC 方式连接到iFix ,获取i Fix 中报警信息对应的标签数据。
通过OPC 方式连接不需要在i Fix 中编写数据通信脚本,在简化代码复杂性的同时,还可保证报警数据在集中报警模块中即时体现。
同时集中报警模块通过UDP 网络协议接收数据采集模块发送的火灾报警、紧急电话呼叫、车辆拥堵等报警信息。
当集中报警模块接收到报警数据时,自动从数据库中加载报警关联的控制策略,经操作员确认报警后执行策略。
3.4 策略编辑模块
策略编辑模块主要是由C #开发的图形化控制策略编辑器构成,能够使操作员方便、快捷、直观的进行控制策略的编辑。
控制策略是通过控制隧道内各种控制对象以达到其控制目的的,控制对象反映的是隧道内的可控设备,包括交通信号灯、车道指示灯、风机、照明回路、横洞门、可变信息标志等。
由于不同的监控项目选用的设备数目和类型都不尽相同,所以考虑到软件的通用性,可以采用C #的定制控件技术。
通过继承C #中的U serCont rol 类,可以设计出一套可视化的设备对象控件,每种设备对象分别有自己的属性、方法和事件。
这样在实际项目中,只需要配置设备数目、类型和位置即可图形化控制策略编辑界面。
操作人员根据不同情况在图形化策略编辑器中对各个控制对象的状态进行设置,同时把控制策略关联到报警信号上,并存储到数据库中。
使用时在集中报警模块中加载报警关联的策略,当操作人员确认执行策略后,系统即可按照该策略下各个控制对象的状态对控制对象进行控制。
3.5 综合管理模块
综合管理模块负责系统的用户管理、设备养护、事件录入以及统计报表生成。
用户管理主要实现用户添加、修改、删除,以及对用户权限的分配。
设备养护通过采集系统中风机、水泵等设备的累计运行时间,以及设备故障信息,定期提示用户进行设备养护。
事件录入是当发生交通事故后,用户手动录入事故信息,包括事故类型、发生位置、发生时间、影响范围、报警人员、现场情况描述等信息。
当事故处理完成后,用户还需要录入事故结束时间、处理措施、事故造成的损失等信息。
统计报表能按日、周、月、年等打印各种报表,包括交通信息统计报表、交通事件统计报表、设备故障信息报表、紧急电话记录报表、报警记录统计报表、设备操作记录报表、信息发布记录报表、设备信息记录报表、养护记录报表等。
3.6 数据库模块
数据库模块主要存储系统相关的各种数据,包括设备信息、配置信息等固定信息数据和系统采集的各种历史数据。
对于系统中交通流量、电力电站、气象等历史数据,由于定时存储,数据量比较大,所以这些数据的历史表采用分月建表。
通过SQL SERV ER 的代理作业功能,每天凌晨定时生成下个月的历史数据表,同时统计前一天的历史数据并存储到统计数据表中。
当用户查询历史数据统计报表时,可以从统计数据表中获取数据,不需要再对原始数据进行统计,这样可节省大量的统计处理时间。
4 结 语
采用组态软件iFix 和高级语言C #组合的方式开发隧道监控系统,可以保证在软件成本、开发周期、系统响应速度等方面达到均衡,同时开发出的软件与设备通信稳定可靠、人机界面友好、操作简单、灵活性强。
本系统监控软件的设计方案和实现方法在诸永高速公路东阳隧道群监控系统中获得了应用,取得了良好的效果。
参考文献:
[1] 郑昊,刘银生,刘红菊.长大隧道监控系统设计与实现[J ].科技情报开发与经济,2007,17(5):2102211.
[2] 陈皓,张其善,姚远.公路隧道监控系统软件设计[J ].电子测量技术,2003(3):33234.
[3] 夏红霞,丁毅,钟珞.基于PL C 与组态软件的隧道监控系统集成[J ].微计算机信息,2008,24(1221):10211.
3
6刘天鹏,等:隧道监控系统软件设计与实现 。