隧道监控系统软件设计与实现.docx
- 文档编号:343983
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:4
- 大小:16.22KB
隧道监控系统软件设计与实现.docx
《隧道监控系统软件设计与实现.docx》由会员分享,可在线阅读,更多相关《隧道监控系统软件设计与实现.docx(4页珍藏版)》请在冰豆网上搜索。
隧道监控系统软件设计与实现
摘 要:
提出采用组态与非组态组合开发的方案,了详细阐述。
关键词:
隧道;监控系统;iFix;#C
中图分类号:
X820.3SoftwandRealizationofTunnelMonitorandControlSystem
LIUTian2peng, XIAOYou2fa
(ShanghaiCommunicationsTechnologyDevelopmentCo.,Ltd.,Shanghai200135,China)
Abstract:
Developmentplatformsoftunnelmonitorandcontrolsystemsoftwarearemainlyclassifiedintoconfigurationoneandnon2configurationone.Advantagesanddisadvantagesofthetwoplatformsareanalyzed,adevelopmentschemeofmonitorandcontrolsystemsoftwarethatcombinesconfigurationandnon2configurationispresented.BytakingthedevelopmentofmonitorandcontrolsystemofthetunnelsDongYangonZhuYongExpresswayasanexample,thedesignandrealizationofmonitorandcontrolsystemsoftwaremodulesaredescribedindetail.
Keywords:
tunnel;monitorandcontrolsystem;iFix;C#;PLC
0 前 言
隧道是公路上的特殊路段,空间环境狭窄、光线变化大、视野不清,存在潜在的交通事故危险。
因此,建立功能完善、运行可靠的监控系统是必不可少的。
目前,国内公路隧道监控系统软件的开发主要有组态开发和非组态开发2种方式。
组态开发方式开发简单,开发出的监控软件人机界面友好、性能稳定,但组态软件成本高,在灵活性方面比较差,同时代码的重复利用率不高;非组态开发方式灵活性好,代码可继承性较强,但软件开发难度大,开发所需周期也较长。
所以,在兼顾软件成本、开发周期、系统响应速度等方面的需求,可采用组态和非组态组合的方式来开发监控软件。
本文以诸永高速公路东阳隧道群监控工程项目为例,介绍基于组态软件iFix和高级语言C#开发的隧道监控系统软件的设计与实现。
诸永高速公路东阳段全长60.36km,沿线有乌竹岭隧道、里岭隧道及马宅隧道群等8座隧道,其中长隧道(大于2000m)2座,共分布18台区域控制PLC、8台通风控制PLC和13台电力监控PLC。
1 监控系统的组成及硬件结构
1.1 系统组成
收稿日期:
2009202226
作者简介:
刘天鹏(19822),男,安徽省临泉县人,工程师,主要从事交通监控软件的应用开发。
©1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.
1.2 系统硬件结构
隧道监控系统一般采用分布式控制模式,中控室对现场设施不直接进行控制,由现场各种设备的区域控制器进行控制。
分布式控制模式的网络结构一般分为3个层次:
上层为中央控制室的计算机系统,中间是由各PLC组成的控制层,下层为各种检测和控制设备组成的设备层。
而对于有些项目,车辆检测器、可变情报板等现场串口设备直接接入串口转换模块,由串口转换模块和PLC组成中间控制图1 层,这样可以减少PLC通信模块的数量,节省大量成本,但与全部设备接入PLC的方式相比,,,实现对现场设备的实时监控。
组态软件i,能够保证与PLC数据交互的实时性;C#,能够减少现场调试的工作量。
所以采用iFix和C#,适用于各种由不同厂商PLC和网络结构构成的项目。
3层结构(见图2),上层采用基于Windows平台信息层上的交换式快速以太网结构;中间是基于光纤的链状环网,由OMRONCS1系列PLC和一些串口转换模块联网,其中长隧道(里岭隧道、云腾岭隧道)又形成自己的双环以太网;下层的现场设备,包括连接在PLC上的各种设备(一氧化碳能见度检测仪、亮度照度检测仪、风机、水泵、交通灯等)和连接在串口转换模块的各种设备(车辆检测器、气象仪、可变情报板等)。
中控室服务器操作系统采用MicrosoftWindowsServer2003标准版,客户端操作系统采用MicrosoftWindowsXPProfessional,数据库管理系统采用MicrosoftSQLServer2005
。
图2 诸永隧道群监控系统硬件结构图
©1994-2010ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.
2 软件开发平台选择
目前,国内隧道监控系统软件的开发主要有组态软件开发和非组态开发两种模式。
2.1 组态软件开发
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的软件工具。
组态软件支持各种工控设备和常见的通信协议,提供使用脚本语言进行二次开发的功能。
它是一个能使用户快速建立自己的人机界面的软件工具。
组态开发的特点:
开发时间短。
不需要掌握太多的编程语言技术,知识的开发团队可以在较短的工期内,。
人机界面友好。
,开发人员只需。
如果需要也可以对这些图形素材、可控制性强,并且十分友好,完全可以满足工业控制领域的需要性能稳定,经受过长期的工业控制领域应用的考验,并且其产品与工业控制领域的技术发展保持了良好的同步关系,实践证明组态软件开发的应用软件具有较高的可靠性。
组态软件对区域控制器几乎做到了无缝联接,比如对某一控制器进行控制,只须通过对组态软件的标签进行配置即可进行通信,从而实现对外场设备的开关量进行控制、模拟量的监测等功能。
但组态软件开发也有其不方便之处,组态软件使用脚本语言提供二次开发的功能,在灵活性方面比较差,由于隧道监控系统一般都需要提供一些综合管理功能,如预案编辑、管理,报表查询等,利用组态软件来实现比较复杂,开发时间长,同时代码的利用率不高。
2.2 非组态软件开发
利用VisualC++、Delphi、VisualBasic、C#等高级语言也能开发出隧道监控软件。
通过面向对象的模块化开发方式,可以建立起健壮性和稳定性较强的软件架构,从而实现既定的软件规划目标,程序代码可继承性较强,可提高开发效率。
但采用这种非组态开发平台开发监控软件,开发周期长,对开发人员要求高,数据响应速度较慢。
高级语言一般采用OPC接口方式来实现与PLC进行数据交互的模块。
OPC(OLEforProcessCon2trol)是基于Microsoft公司OLE/COM和DCOM技术的通信接口规范,采用C/S结构。
目前市场上的PLC一般都提供OPC标准接口,采用这种方式开发的数据交互模块,通用性高,但对于大批量数据的交互速度较慢。
高级语言也能开发出色彩、结构、图形各方面都非常完善的人机界面,但这需要借助于大量的代码编写。
这样程序员就会将大量的注意力集中在界面设计上,而不是软件功能开发上。
同时由于隧道监控一般需要与大量的硬件设备进行交互,要开发出一个性能稳定的系统难度很大,开发出的程序需要较长的测试周期。
所以采用非组态方式开发监控软件,开发时间长,对开发人员要求高。
2.3 系统开发平台选择
对于隧道监控系统软件,受工期的制约,只有当设备安装达到软件测试的条件时才能进行全面测试,这时往往距离通车时间也比较短。
这就需要我们从易开发、系统稳定性、代码利用率等方面综合考虑。
完全利用组态软件进行隧道监控软件的开发,在实现综合管理功能,如控制策略编辑、管理等方面比较复杂,代码利用率不高,对这部份功能,每个系统都需要重新开发。
完全利用非组态开发平台进行隧道监控软件的开发,对程序员的编程水平、逻辑能力、测试水平要求很高,在短期内很难开发出一个功能完善、运行稳定的监控系统软件。
因此综合以上考虑,我们决定采用组态与非组态结合的方式进行开发,组态选择iFix,非组态选择C#,与PLC关系紧密的硬件采用组态软件来控制,综合管理等功能采用非组态软件来开发,两者之间进行必要
开发时间。
3 软件设计与实现
隧道监控软件按照功能可划分为数据采集控制模块、画面显示模块、集中报警模块、策略编辑模块、综合管理模块和数据库模块。
监控软件结构如图3所示
。
图3 隧道监控软件结构图
3.1 数据采集控制模块
数据采集控制模块是隧道监控软件中最基础的部分,它负责和设备进行通信,采集设备的数据,同时执行设备控制命令。
本监控系统中,通风、照明、给排水、电力和交通监控子系统的大部分设备直接连接到PLC,这些设备的数据采集和控制功能通过组态软件iFix来实现。
iFix中内嵌了与PLC的连接驱动,在开发过程中不再需要考虑与PLC的硬件接口,只需通过对iFix的标签进行配置即可进行通信,从而实现对设备开关量和模拟量的监控功能。
在iFix调度中定时扫描标签,并把标签的值存储到内存。
对于设备运行状态、故障等开关量标签,每次扫描时与内存中上个周期的值进行比较,当数值变化时,按照标签对应的设备类型分类存储到数据库的设备状态表中;对于一氧化碳、能见度、风速等模拟量标签,统计连续几个周期内的平均值,存储到数据库的模拟量历史表中。
系统中有部分设备,如车辆检测器、可变情报板、气象仪采用串口转换模块连接到网络上,这些设备的数据采集和控制功能通过高级语言C#编程来实现。
C#调用串口通信函数可以很方便的与设备进行串口通信,软件根据设备采样周期定时通过串口协议采集数据,存储到数据库的历史数据表中。
火灾报警系统和紧急电话系统在网络中有独立的主机,监控软件通过TCP/IP协议与主机进行通信,C#也提供相应的网络通信模块。
软件被动接收主机发送的数据,当接收到报警数据时,把报警数据存储到数据库的报警历史表中,同时通过UDP网络协议发送给集中报警模块。
画面显示模块
画面显示模块通过图形化方式显示设备的运行状态和监测数据,同时也包含手动控制模式下的设备控制界面。
画面中设备数据的来源有2种,一种是在iFix中通过标签获取的数据,这种数据只需要把标签链接到画面中,即可在画面中实时显示标签对应的数据;另一种是通过C#采集存储到数据库中的数据,这种数据需要通过定时查询来从数据库历史表中获取。
在画面中可通过图形、数字方式显示当前设备的数据,还可通过趋势曲线方式显示各模拟量值的变化趋势,通过趋势图操作员可以看出模拟量数据的变化情况。
趋势曲线包括即时曲线和历史曲线,即时曲线反映了当前时刻和在此之前的数据变化状态,历史曲线可以选定某一时期的数据变化过程。
3.3 集中报警模块
集中报警模块提供一个综合平台显示系统中所有的报警信息,包括iFix软件采集的一氧化碳能见度超
标、断电等报警信息和C#软件采集的火灾报警、紧急电话呼叫、车辆拥堵等报警信息。
集中报警模块采用C#开发,通过OPC接口方式获取iFix采集的报警数据。
iFix中内嵌有OPC服务器接口,集中报警模块可作为客户端通过OPC方式连接到iFix,获取iFix中报警信息对应的标签数据。
通过OPC方式连接不需要在iFix中编写数据通信脚本,在简化代码复杂性的同时,还可保证报警数据在集中报警模块中即时体现。
同时集中报警模块通过UDP网络协议接收数据采集模块发送的火灾报警、紧急电话呼叫、车辆拥堵等报警信息。
当集中报警模块接收到报警数据时,自动从数据库中加载报警关联的控制策略,经操作员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 隧道 监控 系统软件 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)