基于Cimplicity HMI平台的隧道综合监控系统的实现

2013-12-14 07:39裴军明郭敬军
电气自动化 2013年4期
关键词:信号灯组态对象

裴军明,郭敬军

(上海隧道工程股份有限公司,上海 200082)

0 引言

隧道综合监控系统是集通信技术、计算机技术、自动控制技术于一体,为隧道管理人员提供完整和清晰的隧道运行状况。整个系统主要分为交通监控系统、设备监控系统、电力监控和综合供配电系统以及通信管理系统四部分,其中交通监控系统具有交通数据采集、交通事件监测、交通信号控制、交通信息发布等功能;设备监控系统包括隧道环境监测、通风设备监控、排水设备监控、照明设备监控、火灾报警监控等子系统;电力监控系统具有电气参数监测、电力设备监控、监控系统和其他弱电系统的内、外场设备供电和保护监控等功能;通信管理系统包含视频监控系统、紧急电话系统、广播系统等[1-2]。

随着工业组态软件技术的发展,大量的最新计算技术、通讯技术、多媒体技术被用来提高其性能,扩充其功能;工业组态软件更加注重效率,用户通过模板快速生成自己的项目应用,图形模板、数据库模板、设备模板可以让用户以“复制”方式快速生成目标程序[3]。

本文将基于通用公司的组态软件平台 Cimplicity HMI,对草海隧道岗头山隧道工程隧道综合监控系统的程序开发和实现的进行一些分析。

1 CIMPLICITY HMI软件的功能分析

CIMPLICITY HMI软件系统是模块化的软件结构,它由软件核心,基本系统,可选模块和设备通讯组件等组成,能够支持多种硬件和软件平台,是一个基于客户服务器的结构[4]。其主要功能和特点如下:

(1)强大的图形用户界面设计开发工具及应用程序开发模块。CIMPLICITY采用标准Windows GUI作为自己的图形用户界面,而且它的外观完全按照 Microsoft Office的标准设计,这样用户可以不用专门进行学习就可以熟悉它的环境,图库图形丰富多彩,支持从画面到画面包含对象的颜色渐变,内嵌VBA,具有自己的内部函数,支持ActiveX、OLE插入。

(2)实时数据的采集和分析功能。能形成可视化的图表或曲线及报警管理。在CIMPLICITY中能够处理的数据类型有数字量、模拟量、整数、浮点数、字符串、数组和结构等,在进行数据采集时可以指定采集方式。

(3)能进行大量的数据读写及存盘备份功能。支持与多种ODBC关系数据库的连接;利用微软的开放数据库互连标准(ODBC)来提供给用户记录报警,事件和点值到一个ODBC数据库的能力[5]。

(4)网络功能。CIMPLICITY将系统分成服务器和浏览站两种软件系统形式,CIMPLICITY服务器软件可以安装在计算机中并通过通讯链路采集控制器中的数据,将数据放在服务器的共享数据库中,同时服务器还具备人机界面和监控的各种功能。CIMPLICITY浏览站软件同样可以安装在计算机中并具备人机界面和监控的各种功能,但是它不能直接与控制器相连采集过程数据,而这些数据都是来自于服务器节点上的共享数据库的。服务器和浏览站同时连接到TCP/IP网络上,通过网络进行数据的传输和交换,

(5)同时还能提供给开发人员自外挂程序模块的接口。CIMPLICITY系统中提供了一组系统开发软件工具,这组工具包括:点管理应用程序界面、报警管理应用程序界面和设备通讯开发工具箱。这是应用程序界面(API)的集合,当你开发你自己的程序系统时,可以调用它们实现与CIMPLICITY系统之间的通讯和资源共享。

2 系统整体结构

整个系统由数据库服务器、通信服务器、工作站及计算机网络组成,系统结构图如图1所示。

图1 隧道综合监控系统结构系统图

整个系统设置多台具有设备监控、交通监控、电力监控、闭路电视(CCTV)监视、火灾报警等功能的工作站,并支持多媒体大屏幕综合显示;基于以太局域网实现多工作站分功能、分级别网上资源共享、网络协调运作功能(采用TCP/IP通信协议);基于Client/Server主客体系上建立统一的信息数据库,实现隧道与相接交通线路或管理部门网络上的通信,能接收上级部门的指令和建议,辅以协调、管理;通过I/O服务器设备,获得设备监控、交通监控和火灾报警等系统的下层设备所需的隧道中的各种信息,由本系统指挥和协调数据的流向,由各工作站读取且分别处理、运算后,向上、向下发布指令,并存入统一的数据库中,供值班人员随时调用、显示、打印。

整个隧道监控系统集成平台采用C/S结构,服务端主要负责数据的采集存储与分析,硬件指令的收发,客户端主要提供了简洁直观、快捷方便的人机界面,接受用户指令下发至服务端,同时从服务端接收经过分析的数据信息,和报警信息提供给用户。

3 应用软件设计

本系统采用面向对象的方法进行软件系统设计,实现丰富的彩色图形显示制作和动画显示,将系统过程真实地可视化地反映给操作者。对于现场设备,如风机、车道灯、水泵、情报板、电话、广播、等等,需要根据对应于这些设备的输入、输出、反馈信号、报警、逻辑脚本、操作权限等建立一个通用的设备模板,进而实现代码和对象的复用。

3.1 收集设备对象和功能需求

设计模板必须首先了解和收集系统中的设备对象以及相关的功能需求。例如交通信号系统对隧道内的车道信号灯的状态可以进行实时监控,并且将各个车道信号灯的操作历史记录在案。监控管理人员通过组态页面上表示不同种类的车道灯的图标的可视化的操作,控制命令传输给实施控制的PLC,从而实现对车道信号灯的单控和集中控制,当交通信号灯的状态有变化后,通过PLC,将车道信号灯的状态传输到相关的组态页面,组态页面上的车道信号灯的图标也随之变化为相应状态。从而可分析得出:信号灯数据加工功能需求如下:

1)对输入数据的有效性检查;

2)对控制命令的权限判断。

而信号灯的输入、输出的数据如表1所示。

表1 设备的输入输出数据

其次,针对于各种信号情况,设计由系统自动实现或在操作员参与下完成的相应预案,例如对于车辆超高报警信号的处理,就结合了人工确认和系统批量操作,具体流程见图2。

图2 车辆超高报警处理流程图

3.2 使用图形编辑程序建立模板

以CIMPLICITY的图形编辑程序CimEdit开发元件库,只要事先按照自己的需要完成图形的编辑及一些相应的代码编写,将来对于同样的类型的功能符号,就可直接从元件库中选择粘贴即可。

CimEdit利用 linked objects方式在一个画面文件(源文件)中开发好模板,而在其他画面中进行动态连接,以后若发生需求变动,如增加显示新的数据,图符的变动,只需针对源文件中的模板进行相关的修改,而其他画面只需做极小改动甚至不必改动,从而加快了修改速度,减少了逐个修改带来的遗漏和错误。如车道信号灯所包含的多个实时反馈状态(允许通行、禁止通行、关闭信号灯)以及对交通信号灯进行遥控,具体设备反馈显示图例见图3。

在对象图元中是通过变量区分的,而变量往往与数据点相关联。命名数据点可采用按系统、设备、功能的次序由前向后或由后向前的统一方式,每个部分间可加上如“.”,“_”等分隔符,同时注意命名长度限制,命名过长时可采用不会产生歧义的缩写。命名方法的统一不仅可使数据点易于理解,而且有利于数据点的批量生成。由于CIMPLICITY HMI的数据点浏览器支持树状浏览方法,这种命名方式还使得数据点可依次逐级合并或打开显示,分类更为清晰。

图3 信号灯的反馈显示

该方式更关注在图元模板的设计,特别是复合对象的设计。它不受在线修改限制,用户只需在修改图元后,重新打开使用该图元的画面即可。不过,由于数据点和图形的联系不紧密,在开发中常常自行制定一些设计原则来限制,这就维护人员对系统更为了解,而且无法脱离工程进行修改。

3.3 使用Classes和Class Objects技术建立模板

CIMPLICITY还可通过生成类 (Class)和对象(Class Objects),实现模板复用[6]。类(Class)是一组对象的模板,Object是属于某个类(Class)的一个对象,对象中包含属性和数据点。创建一个Class,随后可以快速地复制对象,相应的数据点也被创建。

Class即是对象的模板,其属性是创建对象时由用户输入的一些对应于该对象的静态信息,如:信号灯的名称、描述、基地址等,而数据点是对象动态显示时所需要用到的数据点,定义该数据项的PLC内存地址。创建一个图形对象对应于类(Class),属于该类的图形对象都可以用该图形对象来动态显示,该图形对象必须含有一个名为$OBJECT的临时变量。

创建属于该Class的Object之后,其相应的数据点也被自动创建。将对象拖曳到显示画面中,将自动实现图形对象的Link Copy,并将 Object名字分配给$OBJECT。

如果对每个同类设备的数据点分配PLC地址时,按照一致的顺序分配在从基地址开始的连续地址中,在设计模板时可将数据项的地址设置为在基地址的基础上有增量,这样创建对象时只需修改基地址,其他的数据点地址便可自动生成,无需一一配置。

该方式通过Cimplicity HMI自动完成数据点的设置及图元的绑定。Class还可单独导出保存,并可在别处修改后导入工程。但是Class的修改不支持在线修改,如果功能需求不确定,在线维护要求较多的情况下不是很适合。

4 结束语

本文提出了一种基于面向对象的方式开发草海隧道岗头山隧道工程隧道综合监控系统,该方案基于Cimplicity HMI工控组态软件平台,该技术利用了面向对象技术中的封装性、继承性的特点,可大大节省了整个系统的开发研制时间,加快了整个系统的投入运行的时间。

Cimplicity HMI提供了二种方式设计和开发对象:第一种利用图形编辑程序linked objects方式设计模板和发布图形对象;第二种通过生成类(Class)建立模板并创建对应的对象(Class Objects)实现复用。对于系统的开发和后期维护,这两种方式各具优缺点,我们可根据实际情况结合使用,取长补短。

该技术具有极大的便利性,首先监控系统模板中所有的设备模板和实例对象均集中在开发环境下进行修改,其次对象模板的修改将会自动反映到其各个实例上,并不需要对每一个实例逐一进行修改,从而极大地降低了维护的工作量和成本,延长了系统的生命周期。

[1]姬卫东.计算机信息系统在隧道监控中的应用[J].电气技术,2008,9(8):74-76.

[2]王德虎.隧道监控系统典型解决方案[J].山西建筑,2010,36(35):367-368.

[3]马国华.监控组态软件的相关技术发展趋势[J].自动化博览,2009,27(2):16 -19.

[4]万波,王新鹏,张明.工控组态软件CIMPLICITY及应用[J].电力自动化设备 ,2002,22(8):19-21.

[5]万春红,张东宁,钱冲山,等.基于Cimplicity HMI的水泥热工参数采集与报表实现[J].电脑开发与应用 ,2011,38(1):97-101.

[6]GE Fanuc Intelligent Platforms Inc..Cimplicity HMI User’s manual[R].USA:GE Fanuc Intelligent Platforms Inc,2003.

猜你喜欢
信号灯组态对象
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
基于PLC及组态技术的恒温控制系统开发探讨
交通信号灯
信号灯为什么选这三个颜色?
攻略对象的心思好难猜
基于PLC和组态的智能电动拧紧系统
基于熵的快速扫描法的FNEA初始对象的生成方法
PLC组态控制在水箱控制系统的应用
安装在路面的交通信号灯
区间对象族的可镇定性分析