2023年12月7日发(作者:)

《工业控制计算机》2010年第23卷第12期13地铁综合监控人机界面的设计与实现HMIDesignofMetroIntegratedControlSystem林晓伟(国电南瑞科技股份有限公司,江苏南京210061)摘要以组态软件SystematICS为开发平台对地铁综合监控系统人机界面进行了设计。首先简述了综合监控系统的结构和监控过程,再依次从SystematICS软件的数据、画面和动画考虑,简单阐述了综合监控人机界面设计的架构,然后在此基础上重点介绍了人机界面的设计原则、方法及实现功能。设计的人机界面通过生动形象的动态组态画面,真实再现了现场设备状态,同时也允许用户为现场设备发布控制命令,实现人机交互。关键词:地铁综合监控系统,SystematICS软件,人机界面AbstractThispaperintroducesHMIdesignofMetroIntegratedControlSystembasedontheadvancedconfigurationsoftwareSystematICS.First,thestructureandcontrolprocessofMetroIntegratedControlSystem,then,HMIdesignarchitectureaccord-ingtothinkingofSystematICSsoftwaredata,picture,animation.Final,fortheabove-mentionedexplanation,thispapermakesaspecialefforttostudyHMIdesignprincipia,methodandfunction.HMIconsistedoflivelypicturesreappearstruelystatusoffielddevicesandallowsusersissueorderstofileddevices.Keywords:metrointegratedcontrolsystem,systematICSsoftware,HMI1系统简介和工作原理地铁综合监控系统分为中央和车站两级体系。中央级主要一款实时监控软件。通过实时和历史数据库、画面管理和配置工具,以及命令语言等方式,构造生动形象的画面模拟现场设备的运行情况,对现场设备进行监视和控制。数据、画面、动画是负责完成对地铁全线的监视和控制,车站级主要负责对本站监控对象的状态、性能数据进行实时收集和处理,供车站值班人员控制和监视。本文以车站级综合监控系统阐述人机界面设计和实现。车站综合监控系统如图1所示。SystematICS软件设计人机界面的关键所在。下面就从这三个方面综合考虑来设计地铁综合监控系统的人机界面。2.1数据SystematICS采用大型关系型数据库管理系统ORACLE作为历史和实时数据库,提供了配置数据库的集成工具包Con-figurator,可以在Configurator中定义工程需要的数据量。地铁综合监控系统中的数据量主要包括四类:遥控量(DO)、遥调量(AO)、遥测量(AI)、遥信量(DI),利用这四类数据量,可以反映出各子系统设备的状态、报警、温度、湿度、流量、压力等各种信息。遥控量和遥调量涉及了对现场设备的控制,因此必须要设计一些保护措施,以防止误操作。这些保护措施包括:设计控制闭锁条件、设置控制保留时间、定义控制失败时间等等。为方便查看、记录和区别综合监控系统集成各子系统的信息,有必要将上述四种数据量产生的报警按子系统归到不同的组中,即使数据量的报警信息属于某个规定的报警组。在Con-图1车站综合监控系统图车站级综合监控系统的基本硬件结构包括冗余的局域网、冗余的服务器、冗余的通讯前置机(FEP)以及工作站、打印机等设备,向上通过主干网与控制中心相连,向下通过通讯前置机与各个子系统相连。车站综合监控集成电力监控(PSCADA)、设备和环境监控(BAS)、门禁(ACS)、广播(PA)、闭路电视(CCTV)、屏蔽门(PSD)、乘客信息(PIS)、售检票(AFC)、火灾报警(FAS)、时钟(CLK)等分散的自动化系统。车站局域网络将现场级的信息汇集到车站级ISCS,从而实现车站级的综合监控。车站ISCS还配置紧急后备盘(IBP)用于紧急后备操作,确保安全运营。本文所做的工作就是要在上述综合监控的网络结构的基础上,利用软件平台SystematICS,以工作站为平台,接收来自综合监控各子系统的数据信息,设计生动形象的人机界面。figurator中,可以按子系统定义不同的报警组,如“环境监控报警组”、“自动售票报警组”、“火灾报警组”、“广播报警组”等等。同时也可以增加一些重要设备报警组,如“事故风机报警组”、“冷水机组报警组”等等,以方便报警的过滤查找。利用上述报警组可以构建整个系统的报警和保护功能。2.2画面画面是人机界面的基础和核心,应该从功能需求考虑,建立实现各功能的画面。首先要建立一种类似Word文件上的“页眉”画面,在界面的固定区域显示所监控的地铁线路名称和LOGO图标。在“页眉”画面上,要建立人机界面的导航结构,以便用户可以方便的浏览各子系统的画面。导航结构可以采用倒树形结构,如图2所示:通过导航树,可以通过两步操作调阅监控画面。第一步,选择需要查看的子系统,如“广播”等;第二步,选择该子系2SystematICS总体设计架构SystematICS软件是澳大利亚InvensysRail公司开发的14统的具体功能画面,如“广播控制”等。地铁综合监控人机界面的设计与实现方式生成各种工作报表、数据报表等。3)打印功能。利用打印功能可以对报表、操作信息、报警数据等信息进行打印。打印功能通过打印按钮来完成,在报警、事件、报表等界面的适当位置放置打印按钮,并将工作站和打印机连接后,就可以实现打印功能。4)权限管理界面。综合监控系统为用户设置完善的权限管理界面,通过该界面可以配置用户优先级、可操作的安全区、设图2综合监控人机界面导航树置打印操作优先级、设置监控范围、设置或修改密码等。用户只有具备权限才可以执行相应的操作,有效地防止了误操作。在“页眉”画面上,还要建立诸如“参数设定”、“趋势曲线”、“报表”、“报警浏览”、“事件浏览”、“密码设置”等功能画面的入口,可以采用下拉菜单或按钮的方式实现。“页眉”画面设计完成后,还需要设计通用的人机界面画面(如报警画面、事件画面、趋势曲线图、报表等)和子系统的专用功能画面(如环境监控系统的大系统、小系统等)。3.2功能画面综合监控系统各子系统负责数据的采集和处理,综合监控系统负责数据的汇聚和控制、操作命令的发布,双方可以利用串行接口或者网络接口,并按照事先约定好的通讯协议进行交互。利用功能画面用户可以监视现场设备的实际运行状态,当设备发生异常状况时,功能画面会以颜色闪烁、图元动画、声音等多种方式发出提示,引起用户注意。同时,授权用户也可以通过该画面完成对现场设备的操作和控制,当设备处于危险状态时,将禁止用户所做的任何操作,以保证设备安全,有效防止误操作。图3所示是综合监控环境监控子系统的大系统(通风空调系统)功能画面。2.3动画SystematICS软件采用SAMMI开发人机界面,SAMMI由美国的Kinesix公司开发,是先进的人-机界面标准平台,可用于创建图形、网络和嵌入应用程序(包括数据、事件和驱动命令)。SAMMI的图形编辑器称为FORMATEDITOR(FE),FE带有完全功能的可视化CAD程序的PC绘图程序组成,它使用图形创建一个系统的用户界面,并使用户界面里包含的元素和它的控制应用进程之间建立连接。使用FE创建的用户界面称为格式(Format),Format包含的下层用户界面元素可以分为动态显示对象(DynamicDis-playObjects(DDOs))和静态显示对象(StaticDisplayOb-jects(SDOs))。DDOs包含输入域(ReadKey)、输出域(WriteKey)、数据表(DOBJs)、数据品质表(RuntimeDataAn-notations(RTDAs))、表达式、图等数据域,通过这些数据域完成报警和事件的处理,发送和处理命令,使静态显示对象具有动画效果,实现与终端用户进行交互。诸如方框、线条、文字、位图等都是静态显示对象SDOs,创建这些对象时,这些对象不影响用户的输入、命令和事件,只是固定在一个位置,显示图形。这些静态对象只有被特定的DDOs激活,才可以显示出动画效果。图3环境监控大系统3综上所述,SystematICS软件人机界面设计的总体框架如图4。人机界面设计良好的人机界面应该尽量避免通用界面与功能混杂在一起,因为这样做会使通用界面和功能的耦合性加强,不利于修改和完善,因此地铁综合监控系统的人机界面设计分为两类:通用界面和各子系统的功能画面。通用界面面向所有的用户,为用户提供综合监控系统的公共操作或共用信息,如启动、登陆、注销、报警、事件、打印等操作和信息,以及按钮、列表框、菜单等人机交互设计,通过这些丰富的图形对象,使应用程序使用起来更加容易和简单。专用功能画面只面向对该界面具有浏览和操控权限的特定人员,通过专用界面,授权用户可以完成设备的控制、命令发布、状态监视等功能。3.1通用界面1)报警界面设计。报警是综合监控系统最重要的监视内容,只要系统检测到报警就会显示在报警界面中,并且发出语音报警。为了给用户以明显的提示,当报警发生时报警界面中报警信息的背景色闪烁,颜色根据不同的等级使用不同的颜色;当报警恢复到正常状态时,背景色为绿色。当报警发生时,系统会自动将报警信息储存到历史数据库中,以便日后查询。2)报表界面设计。综合监控系统可以按照预定义的时间将数据保存在数据库中,数据库支持SQL查询语句,因此可以根据实际的需求,在数据库中查询到所需要的信息,并以自定义的图4SystematICS软件人机界面设计流程(下转第16页)16机收到命令后,如果是读数据命令,就将数据发送给上位机。不同的下位机之间通过固化在Falsh中的下位机地址进行区分。协议采用RTU(远程终端单元)传输模式,消息发送至少要以和更新记录等工作。发射率在线检测系统的上位机软件实现关键代码如下所示:#include<afxdao.h>//创建数据库文件和表CDaoDatabasedb;//创建数据库连接CDaoRecordsetRecSet(&db);//创建数据记录集db.Create(m_MdbName);//创建路径名为m_MdbName的数据库3.5个字符时间的停顿间隔开始,在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束,一个新的消息可在此停顿后开始。典型的消息帧如表1、表2所示。表1读取下位机数据CStringSqlCmd;SqlCmd.Format(″CREATETABLE[试验数据](IDcounter(1,1)PRI-MARYKEY,[下位机地址]INTEGER,[时间]VARCHAR(20),[吸收罩电压]Float,[反射罩电压]Float,[表面温度]Float,[吸收罩温度]Float,[反射罩温度]Float,[吸收探头温度]Float,[反射探头温度]Float,[电压比]表2下位机回复上位机数据Float,[辐射率计算值]Float);″);db.Execute(SqlCmd);//创建试验数据记录表//写入数据库RecSet.AddNew();RecSet.SetFieldValue(″下位机地址″,COleVariant((BYTE)_ad-dr));//以向表中写入下位机地址为例RecSet.Update();//读取数据库COleVariantvar;//字段类型while(选RecSet.IsEOF())//判断是否已经读取到表结尾邀RecSet.GetFieldValue(″吸收罩电压″,var);var.ChangeType(VT_R4);floatf=var.fltVal;fsldata.VAbsorb=floatf;RecSet.MoveNext();妖整个通讯由上位机触发开始,首先由上位机按照下位机地址顺序轮流给多台下位机发送读数据命令,每次仅发送读取1台下位机数据命令。下位机收到读数据命令后发送数据给上位机。上位机在收到下位机发送过来的数据之后,进行CRC校验,出错则抛弃当台下位机数据,不处理。上位机在收到该台下位机的数据之后或者上位机发送读数据命令200ms之后还没有收到该台下位机的数据,则上位机发送读下一台下位机数据命令。2.3绘制测量数据曲线在上位机软件界面中,除了可以实现对发射率测量系统的操作,还能实现测量结果的可视化和图形化,并且可以将测量和计算的结果直接保存至ACESS数据库中。测量数据的图形化是基于NI公司的MeasurementStudioforVC++,本上位机主要采用了其中的CNiGraph、CNiknobs、CNiButtons、CNiNumeric等控件,在主显示界面放置了2个CNiGraph控件,用来同时显示两个通道的波形,并且可以动态的切换通道与设置参数值。关键代码如下所示://修改控件属性(不带参数)m_Graph.method();//修改控件属性(带参数)m_Graph.method(parameters1,...,parameters2);//绘制曲线m_Graph.GetPlots().Item(1).ChartXY(x,y);3结束语本文介绍了基于VC++6.0的发射率在线检测系统上位机软件的开发,从串口通信、界面设计、数据存储、通信协议和局域网通信几个方面详细进行了阐述。该上位机软件在实际使用过程中,经过了总计100小时以上的实验室试验和60个小时的现场试验,以及不间断24小时运行,系统可靠性高,实时性强。本方法对其他监控系统的上位机软件编写也有一定的借鉴意义。参考文献[1]杨世铭,陶文铨.传热学[M].4版.北京:高等教育出版社,2006:404-418[2]郑国良.热电堆传感器及其应用[J].传感器技术,1992(2):27-29[3]高魁明,王玲生,李丽洁,等.在线黑度测量的研究[J].东北工学院学报,1986(3):104-107[4]李长林,等.VisualC++串口通信技术与典型实例[M].北京:清华大学出版社,2006[5]NationalInstrumentsCorporation.MeasurementStudioRefer-2.4数据保存软件测量结果的保存格式选择了ACCESS数据库,VC通过DAO(数据访问对象)的方式来访问ACCESS数据库,实现对数据的存储、查询等操作。在MFC中,CDaoDatabase、CDaoRecordset是进行DAO编程的最常用的类。CDaoDatabase代表了数据库连接,通过这个连接可以对数据库的数据进行操作,同时它也起到了一个数据源的作用,可以对数据源进行操作。而CDaoRecordset则可以对数据源进行记录的查询,也可以向数据源增加新记录、删除(上接第14页)ence.NationalInstrumentsCorporation,2001[6]邱仲潘,等.VisualC++6从入门到精通(普及版)[M].北京:电子工业出版社,2006[收稿日期:2010.8.18]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!化监控水平和效率。参考文献[1]袁运莲,叶桦.高温工业炉监控系统人机界面的设计与实现[J].工业控制计算机,2009,22(9):15-16[2]关晓彤,程万鑫.Sammi简介-基于Client/Server结构和Web结构的软件开发工具[J].电脑知识与技术,2009,5(6):1376-1377[收稿日期:2010.8.27]4结束语本文从SystematICS软件的数据、画面和动画三个方面进行了架构,然后设计了实现功能需要的人机界面通用画面和各子系统专用功能画面。这两类画面构成了综合监控系统的人机界面,通过这些人机界面可以将地铁各个分散的自动化控制系统的监控系统整合和集成在一个软件平台上,提高了地铁自动