APP下载

盾构监控系统人机界面组态开发

2014-06-09谭顺辉孟祥波徐受天蒲晓波

隧道建设(中英文) 2014年4期
关键词:主程序人机界面控件

谭顺辉,孟祥波,徐受天,蒲晓波

(中铁工程装备集团有限公司,河南郑州 450016)

盾构监控系统人机界面组态开发

谭顺辉,孟祥波,徐受天,蒲晓波

(中铁工程装备集团有限公司,河南郑州 450016)

为实现对盾构各系统集中监视、控制、数据存储、故障报警、界面多语言切换等功能,采用NET框架下C#自主开发的方式,开发出盾构上位机监控系统。首先简要介绍系统的开发环境和运行的软硬件环境,然后按软件部分系统逻辑分层顺序,分别从以下3个方面进行详细描述:1)底层负责与PLC通讯的OPC协议;2)自定义控件、组合显示界面、报警界面,曲线图界面及注浆界面的多语言切换;3)数据存储格式、海量数据的形象化统计分析。主要研究结论如下:1)系统经过中铁号百余台盾构的实际应用证明设计符合盾构监控要求,界面友好、稳定可靠;2)系统虽为盾构量身定做,但其人机界面软件部分包含了组态软件的大部分功能,进行功能扩展后可以移植到其他工业控制系统。

盾构;监控系统;人机界面;HMI;组态软件

0 引言

随着国内城市地下空间开发的快速发展,大型隧道掘进机(盾构)得到了广泛的应用。和众多大型工程机械一样,盾构运行中存在大量过程控制、运动控制等系统,对这些系统进行方便快捷集中有效地监测控制显得极其必要。目前,国内外著名的盾构生产商(比如海瑞克、罗威特、小松、罗宾斯、上海隧道等)都有自己的人机界面。文献[1]代表的上海隧道开发的盾构监控系统,其重点在于用先进控制方法优化施工数据。文献[2]代表了完全从底层开发的监控系统。盾构是个系统工程,完全从数据采集板卡开发难度较大,也不利于实现盾构所有参数都加入监控系统。文献[3]代表采用组态软件开发监控系统,这类系统不利于后期功能扩展,且系统安装、设置都比较复杂。目前来看,大多数盾构厂商均倾向于直接用成熟组态软件开发盾构HMI,比如法码通(NFM)主要使用PcVue,中铁建主要使用WinCC,上海隧道使用组态王。从以上文献可以看出,目前使用分布式PLC并用高级语言自主开发人机界面对盾构进行监控的方案在业界还不多见。盾构研发制造是一个长期的过程,且盾构是个庞大的系统工程,需要监测的IO点达5 000~6 000个,花更多的时间和精力开发出具有自己特点、自主知识产权、易于功能扩展的盾构人机界面(HMI系统)十分必要。必要性主要表现在以下方面:1)价格上不受制于组态软件公司;2)功能可以定制。监控系统由一系列传感器、控制器等经过一定的网络协议连接构成。人机界面也包含软硬件部分。本文主要阐述盾构人机界面的软件部分,其本质是为盾构定制的简易组态软件。下文所提的上位机软件、人机界面(HMI)、监控系统等均特指盾构监控系统人机界面的软件部分。

1 总体方案设计

1.1 总体框架设计

应用软件常采用3层结构,即界面层、逻辑层、数据层。考虑到盾构HMI的主要功能是监测控制盾构参数变化、存储历史数据并进行统计分析等,程序的使用不需要遵循特定的业务流程,所以本系统中的上位机软件没有逻辑层。由于盾构HMI操作的对象全部直接或间接来自PLC,在数据层底下相当于多出来一个PLC通讯层。盾构HMI系统总体框架如图1所示。

图1 盾构HMI系统总体框架Fig.1 Structure of HMI system of shield machine

1)通讯层。主要负责程序与PLC的通讯,通过SIMATIC NET建立OPC服务器,然后建立程序与OPC服务器的连接,并以定时循环和按需2种方式读写PLC。

2)数据层。主要负责将从PLC获取到的实时数据按类型(如实时变量、开关变量、环累计量)、按不同的存储机制(如按秒存、按环存、高低精度存)等对重要的历史数据进行存储。存储要按照节省空间、硬盘读写时间及解析数据时间等原则进行。

3)界面层。主要负责形象化的在屏幕上显示盾构的实时数据、报警信息、统计分析数据结果(如曲线图、数据报表、历史记录等),必要时还需要实现界面的多语言切换及动画效果等。软件日志可以在界面上显示,也可以直接由文本编辑器直接打开。

本软件的最大特点是实现了界面和主程序的分离。界面和界面上控件的绑定关系等由专门的界面生成工具生成为XML文件。主程序通过读取该XML文件重绘出各个界面。分离的好处有:1)多台同时发布时,有界面修改不需要重新编译主程序从而保证版本的稳定性;2)当主程序更改升级时不需要反复做代码的迁移等,可大大减轻开发人员的工作量,保证程序的稳定。对本软件进行功能分拆,加上TCP/IP传输文件的功能后可以实现互联网上的远程集中监控。

1.2 开发环境选择

盾构HMI属于数据采集与控制领域,业内普遍的方式是应用组态软件。采用组态软件不仅不利于系统功能扩展,且需购买版权等处处受制于人。盾构研发制造是个长期过程,自主开发盾构HMI十分必要。目前软件业界存在主流面向对象语言有C++、Java和C#,其中C#作为新推出的一种编程语言,几乎集中了所有关于软件开发和软件工程研究的最新成果,面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制及代码安全管理[4]。综合以上考虑,使用当前普遍采用的快速开发语言C#。Microsoft.NET Framework是一种在Windows平台上编程的架构,并具有面向对象、语言无关性、增强的安全性及代码共享等优点。简言之,本软件是在Microsoft.NET Framework平台下用C#开发的。

2 通讯原理

2.1 通信方式选择

通信方式的选择是确定工控机与PLC之间的通信。盾构属于大型设备,IO点较多。PLC常选用西门子S7-300或400系列。S7按功能强弱排序,主要提供MPI,Profibus,工业以太网等通讯子网[5]。在这几种通信方式中,工业以太网具有成本低廉、通用性极好、速度快及可靠等特点。因此,系统的通信采用工业以太网方式[6]。

工业以太网最常用的传输介质是RJ45(普通网线),它的最大传输距离是100 m[7]。盾构PLC一般位于盾构主控室后方,盾构工控机位于主控室内部正中,二者距离一般不超过10 m,通过工业级交换机直接连接,即可满足要求。经应用证明,该通讯方式成本低廉、稳定可靠。

2.2 通信协议设计研究

由于西门子S7-400没有公布通过工业以太网方式连接PC的数据报格式,不能通过编程直接控制PLC。西门子的解决方案是采用其提供的驱动程序,将PC与PLC的通信标准化为OPC。OPC(用于过程控制的OLE)是一种用于自动化领域内被绝大多PLC支持新通讯标准。目前盾构所用到的PLC(如西门子、三菱、施耐德、AB等)都有专门的软件来实现PLC的OPC接口。因此,用OPC设计出来的人机界面系统可以很轻易地移植到其他盾构或PLC平台上。

在HMI系统中,上位机程序中加载OPC基金会的组件相当于是OPC客户端。西门子提供的SIMATIC NET软件安装成功后的Station Configuration 是OPC服务器,即OPC的服务器与客户端都位于盾构监控的工控机上。OPC服务器(SIMATIC NET)是由PLC厂商提供的类似于设备驱动程序的软件,它通过PLC厂商私有的通信协议读取PLC中的数据,并将其转化为与OPC规范兼容的数据结构。HMI系统编写OPC客户端读取OPC服务器中的数据,一方面通过形象化的显示方式将数据显示在屏幕,一方面将关键数据存储于数据库用于事后的故障查询和统计分析等。C#与OPC服务器的连接原理如图2所示。

图2 C#连接OPC服务器原理图Fig.2 Working principle of C#connecting with OPC server

OPC服务器安装步骤为:1)在PLC与工控机网络连接正常的前提下,在工控机上安装西门子SIMATIC NET。根据PLC通讯模块的插槽号等信息,按文档配置并下载OPC服务器,最终配置成功与否可在Station Configuration界面上查看。2)在OPC Scout界面上手动添加PLC变量,亦可编程批量添加。3)上位机软件中调用OPC基金会组件即可编程查看PLC变量。

3 监控系统界面设计

3.1 自定义控件

控件类似组态软件中的系统自带的功能,比如显示数值的Label,写入数值的Text等。组态软件一般也都配备有脚本语言供高级应用者自己开发控件。上文1.1已经提到,整个HMI软件采用界面和主程序分离,所有界面及界面控件的绑定关系等由页面生成工具生成为XML文件。这个特点导致无论是页面生成工具还是主程序都无法使用VS开发工具自带的控件,为此需要在程序中自定义控件。HMI系统中常用且稳定的控件可直接放在程序的Crec.Elements程序集中,主程序通过引用该类库调用这些控件,可能会修改的控件可以做成插件。插件的好处是比较灵活,修改插件不会影响主程序版本的稳定性。由功能可以看出页面生成工具侧重于外观显示;主程序是在XML文档的基础上重绘出外观,同时为控件赋予特定的读写PLC的功能。图3为系统中常用的控件。

图3 自定义控件列表Fig.3 List of self-defined controls

3.2 组合实时显示界面

盾构是定制性产品,每2台盾构界面都是不同的,为便于管理采用了界面和主程序的分离。为了在不重新编译的情况下修改这些设置,采用配置文件的形式设计。配置文件保存页面元素属性、数据绑定关系、报警文本映射表等信息。不同的项目有不同的配置文件,但是却有相同的主程序。配置文件的好处还在于功能扩展为远程监控时,可以用来集中监控,通过配置文件的不同来标定不同的盾构。

在写好自定义控件之后,就会发现组合显示界面十分简单,其过程类似用组态软件配置界面。在页面生成工具中通过拖放自定义控件、设置控件属性、设置绑定关系并经过一定的美工处理之后,界面生成成功。将界面上的控件属性、绑定关系、界面布局等写入界面XML文档中。主程序读取界面XML文件重绘界面,并增加读写OPC、定时存储等功能之后,即可动态实时显示盾构PLC的参数变化。系统的生成流程:页面工具中拖放自定义控件,生成开发版界面—生成配置文件—配置文件导入主程序—主程序重绘界面—界面上实时显示盾构参数。图4为主程序中显示的盾构主监控页。

图4 HMI主监控页Fig.4 Main page of HMI system

3.3 报警界面、曲线图、报表等统计分析界面

报警对于任何一种组态软件都至关重要。有效的报警信息可以帮助工程施工人员及时地发现系统故障,对于预防危险、安全生产意义重大。最新产生的报警在框架上实时滚动更新,无论切换到哪个界面都能及时看到。图5为报警界面。

曲线图界面可直观显示数据的实时和历史趋势,通过对比分析某些变量的历史曲线可以显示施工状况及分析故障原因等。其他统计分析界面如报表、历史记录等在此不再赘述。图6为曲线图界面。

3.4 界面的多语言切换

主程序中界面显示均基于配置文件,可由页面生成工具分别生成2套语言页面配置文件,切换多语言显示时分别读取不同的配置文件。对于主程序中的错误提示语、确认提示语、报警等,需有专门的语言配置文件。图7为英文版注浆界面。

需要多语言切换的程序代码的编码方式不能为默认,否则在语言环境不一致的电脑中不能运行。

4 历史数据的存储

鉴于历史数据的读写不会出现多用户并发、没有复杂的范式规范,且安装大规模数据库软件耗资源、效率低,所以本软件没有采用通用的数据库存储。本软件自定义了一种历史数据存储类型,命名为sd文件。sd文件即可按照一定的存储机制存储实时数据、开关量数据及环累计数据等。存储机制是实时数据按照高低精度存储,即每0.1,1,10,60 s等存储一次可选,亦可多选进行组合。即对特别重要的数据按0.1 s一次存储,一般的按1 s一次存储,不重要数据按60 s一次存储。这种安排是为了节省磁盘空间和节省磁盘读写时间。开关量包括按钮的写入显示信息及报警信息等,开关量在开关状态变化时存储。环累计量是环变量的一种,是盾构特有的一种数据形式,其按照一环存储一次的原则进行保存。各种变量在sd文件中分有不同的区块,当数据量达到区块的最大值时,区块应能自动扩展。历史数据的存储机制如图8所示(高精度存储是开的专门线程,不再专门列出)。

图5 HMI系统报警界面Fig.5 Alarming page of HMI system

图6 HMI系统曲线图界面Fig.6 Curve page of HMI system

图7 HMI系统英文注浆界面Fig.7 Grouting page of HMI system in English version

图8 历史数据的定时循环存储机制Fig.8 Storage mechanism of historical data in timing loop

5 结论与讨论

盾构HMI上位机软件简单实现了组态软件的通用功能,用该软件进行简单组态后可实现监测控制盾构的主驱动、螺机、泡沫、注浆等各个系统。经过中铁装备百余台盾构应用的验证,各项功能如实时界面显示、历史数据存储、数据统计分析等都满足设计要求。由于该系统专注但不局限于盾构的数据监测和管理,经过适当修改可适用于其他基于PLC的控制系统,具有很好的推广价值。

本系统是为了避免功能和价格上受制于成熟组态软件而独立开发的,故部分功能十分契合盾构监控要求。比如环累计量的显示存储等是盾构独有的存储方式。系统内部的控制模型、各种能形象化显示的控件等较少,且部分功能为盾构定制,故通用性不够,且存在以下问题:1)部分插件或者动画效果未考虑工控机的实际情况,导致CPU或内存占用过高,缩短了工控机使用寿命,应进一步优化。2)对于盾构人机交互软件的设计比较偏重功能实用性,对于界面美工部分稍有欠缺,还可根据需要进一步形象化处理。

(References):

[1] 周文波,胡珉.盾构隧道信息化施工智能管理系统设计及应用[J].岩石力学与工程学报,2004(S2):5122-5127.(ZHOUWenbo,HUMin.Designandapplicationof intelligent management system of digitalized construction in a shield-driven tunnel[J].Chinese Journal of Rock Mechanics and Engineering,2004(S2):5122-5127.(in Chinese))

[2] 沈立新.盾构实时远程监控系统技术[J].铁道建筑技术,2010(8):34-38.(SHEN Lixin.A real time vision system used for shield machine[J].Railway Construction Technology,2010(8):34-38.(in Chinese))

[3] 高勇.基于WinCC盾构刀盘远程监控系统设计[J].计算机工程应用技术,2011(18):4462-4464.(GAO Yong.Remote monitoring system designs based on the WinCC shield cutter[J].Computer Knowledge and Technology,2011(18):4462-4464.(in Chinese))

[4] 李海涛,史爱松,孙更新.C#3.0从基础到项目实战[M].北京:化学出版社,2010:11-12.

[5] 徐受天,蒲晓波.基于OPC的盾构地面数据采集和监视系统设计[J].隧道建设,2009,29(6):674-677.(XU Shoutian,PUXiaobo.Designofdataacquisitionand visualization system of shield machine based on OPC[J].Tunnel Construction,2009,29(6):674-677.(in Chinese))

[6] 蒲晓波.西门子PLC在盾构控制系统检测试验台的应用[J].隧道建设,2009,29(1):127-129.(PU Xiaobo.Application of Siemens PLC in test-bed for shield machine control system[J].Tunnel Construction,2009,29(1):127-129.(in Chinese))

[7] 张学武.对盾构法地铁隧道施工引起的地表变形探讨[J].建材与装饰:下旬刊,2008(6):307-309.

Development of HMI Configuration of Monitoring System of Shield Machine

TAN Shunhui,MENG Xiangbo,XU Shoutian,PU Xiaobo
(China Railway Engineering Equipment Co.,Ltd.,Zhengzhou 450016,Henan,China)

A kind of shield monitoring system is developed on basis of C#self-developing mode under.NET framework,so as to realize the centralized monitoring,control,data storage,fault alarm,and multi-language interchange of each system of shield machine.In this article,the developing environment and the operating software and hardware environment of the monitoring system is presented briefly;then the monitoring system is discussed in respect of the OPC agreement between the bottom level and PLC,the multi-language interchange of the self-defined control,composite page,alarming page,curve page and grouting page,and data storage mode and visualized statistical analysis of the mass data.Conclusions drawn are as follows:1)It is demonstrated that the monitoring system developed is interface-friendly,stable and reliable and can meet the requirements of the shield machines;2)The Supervisory Control and Data Acquisition(Scada)used in the Human-Machine Interface(HMI)of the monitoring system of shield machines can be used in other industrial control systems after function developing.

shield machine;monitoring system;Human-Machine Interface(HMI);Supervisory Control and Data Acquisition(Scada)

10.3973/j.issn.1672-741X.2014.04.015

U 45

A

1672-741X(2014)04-0380-07

2013-09-06;

2013-11-10

谭顺辉(1969—),男,广西桂林人,1991年毕业于华东交通大学,设备工程与管理专业,本科,高级工程师,主要从事隧道设备设计及生产管理工作。

猜你喜欢

主程序人机界面控件
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
关于.net控件数组的探讨
时光倒流 换回PotPlayer老图标
CBTC系统车载人机界面的设计与实现
基于PLC与人机界面的经编机电子横移控制系统研究
CTCS-3级列控车载人机界面的系统设计与实现
ASP.NET服务器端验证控件的使用
达人机界面DOP-B10VS511
未经授权的第三方软件侵权问题研究
——以“腾讯与360之争”为视角*