刘 云,宣爱国,吴元欣,闫志国,王 瑜,赵世平,黄廷泽,何 佳
(武汉工程大学化工与制药学院 绿色化工过程省部共建教育部重点实验室武汉市化工工程中心,湖北 武汉 430074)
自20世纪30年代以来,自动化技术获得非常惊人的成就,已在工业和国民经济各行业起着关键的作用,在化工行业中尤为重要。化工行业由于生产过程具有高温、高压、易燃、易爆、腐蚀、剧毒等特点而成为事故多发行业,运用自动化技术对化工生产过程进行事先预警、实时监控、事后排查,可以避免事故的发生,良好的人机接口更可以起到事半功倍的效果。
系统选用常见的全混釜(Continuous stirred tank reactor,CSTR)作为监控显示对象,完成从现场数据采集到后台操作站处理的一系列过程,打破了现有DCS系统必须通过专网进行数据传输的局限,并设计了贴近实际流程的界面显示。釜式反应器是生产中广泛应用的反应器之一[1],系统中的全混釜是在高温高压的条件下进行化学反应,一旦压力和温度控制不好,就会发生严重的事故。采用监控系统实时监控反应过程,不仅可以免于危险,而且可以及时调整温度、压力等参数,使反应向有利的方向进行,提高反应效率。
系统以计算机为核心,在组态王上结合简单的计算机语言对DCS系统进行展示及数据处理,形成专门的计算机程序模块,同时在报警提示中引入SDG-HAZOP模型得出的结果,通过组态王软件报警界面进行显示,提高系统对可能出现的风险的显示能力和分析能力。系统通过模拟变送器对现场数据进行模拟转换采集,采用现场总线对数据进行传输。将数据传输到现场监控计算机上,编写专门的协议与专门的计算机模块进行数据传输。现场的数据通过已有的网络(校园网)或者建立一个局域网与主机程序中的数据库进行传输,再将数据从数据库中读取到组态王进行实时的数据显示[2]。整个系统可远程控制和网络控制,既减少了操作人员的劳动强度,又可避免意外事故的发生。系统结构如图1所示。
图1 系统结构图
组态王是在PC机上建立的工业控制对象人机接口的一种智能软件包,其操作平台为Windows中文操作系统。组态王充分利用了Windows图形功能完备、界面一致性好、易学易用的特点[3],比使用专用机开发的工业控制系统更具通用性。
在此选用组态王6.53软件设计全混釜系统,充分利用图形编辑功能,与计算机程序模块相结合对全混釜进行控制,通过设计复杂的动画反映控制现场的状况、操作状态和数据,并监控和记录各种报警信息、绘制温度和压力的历史趋势曲线和实地曲线。避免了操作人员到现场的实地监视,用户可利用主要界面设备的图标直接对其操作和监控。
2.2.1 数据采集与数据变量定义
组态王开发系统中的设备配置是搭建监控系统的第一步,通常传统的定义方式是采用仪表与装有组态王软件的上位机进行通信。系统定义外部链接的仪表型号通信方式、地址及波特率等通信参数[4]。
系统主要是借用组态王完美的图画功能,采用的数据采集方法是:建立组态王与程序模块中实时数据库的连接,然后进行刷新,实现实时显示。这样省去了下位机与上位机的连接设计,同时方便进行界面设计测试,还可按照实际需求任意编写程序模块。
建立组态王与程序中数据库的连接和数据读取的命令语言如下:
(1)建立连接
SQLConnect(DeviceID,″dsn=hao;uid=;pwd=″);
组态王SQL访问功能能够和其它外部数据库(支持ODBC访问接口)的数据进行传输[4]。实现数据传输必须在系统ODBC数据源中定义相应数据库[5]。首先建立ODBC数据源,由于系统程序设计模块采用的是MYSQL数据库,因此在ODBC数据库管理器中建立MYSQL的ODBC驱动,名称为“hao”。在建立的全混釜物理仿真中进行了温度和压力的显示,与组态王软件连接的数据库的表格名称为“measuringpoint”,所用到的表格中变量内容如表1所示。其次在画面中建立一个按钮,在属性弹起中输入建立连接的命令语言。
(2)读取数据
SQLSelect(DeviceID,″measuringpoint″,″BIND″,″MPID=′T4t01′ and MPTYPE=′T′″,″″);
SQLSelect(DeviceID,″measuringpoint″,″BIND1″,″MPID=′T4p01′ and MPTYPE=′P′″,″″);
表1 表格内容
记录体用来连接表格的列和组态王数据词典中的变量。建立的全混釜物理仿真需要显示温度和压力,需要分别建立记录体来连接表格与组态王数据词典中的温度和压力变量,其中BIND是温度记录体,包括MVALUE、MPID、MPTYPE;BIND1是压力记录体,包括MVALUE、MPID、MPTYPE,MVALUE分别对应变量温度和压力。如果需要显示更多的变量信息,只需分别建立对应的记录体来实现表格和组态王数据词典中变量的连接即可。
MYSQL数据库的表格采用竖表,表格的主键是由每一个设备名具体测试的变量构成的,方便系统监视每一个变量,各变量每变化刷新一次就实时显示一次,有利于实时的显示,因此需要在查询的时候能够准确地定位每个变量值[6]。本系统中定义全混釜为设备T4,温度一为t01,压力一为p01,通过MPID和MPTYPE共同确定变量的值。
实时数据库是组态工程的数据交换和数据处理中心。数据变量是构成实时数据库的基本单元,建立实时数据库的过程就是定义数据变量的过程。在组态王开发系统中定义了全混釜温度和压力的数据类型、初始值和数据范围,确定了与数据变量存盘相关的参数,如数据变化灵敏度、存盘周期、存盘的时间范围和保存期限等,还定义了温度和压力的高限、低限、优先值,以方便操作员将温度、压力的实际值与理想值进行对比[7]。
2.2.2 画面设计
主画面设计如图2所示。
图2 主画面设计
将画面中的实时数据、实时温度曲线和压力曲线与组态王定义的变量关联起来,系统运行时,两个进料阀打开,全混釜内的搅拌器开始搅拌,点击“开始显示”按钮,温度、压力数值及曲线就可以实时显示。点击画面下方的画面切换,可以分别显示主画面、实时描点曲线、报警等。
(1)主画面上搅拌器叶轮的转动设计
利用多边形工具画出叶轮样子,复制成6个,改变不同的视角形状,生成6个不同形状的叶轮,编号为0#~5#。定义整型内存变量“动作状态”,在应用程序命令中编制下列循环程序:
if(\本站点动作状态<5)
{\本站点动作状态=\本站点动作状态+1;}
else{\本站点动作状态=0;}
该程序是实现变量“动作状态”的从0#~5#的自增1循环程序。针对每个叶轮设置隐含属性条件。5#叶轮设置如图3所示。
图3 隐含连接
然后将这6个叶轮相互重叠放置在一起,保存画面,运行后即可见到搅拌器叶轮转动。
(2)画面切换功能
为方便监控整个系统的情况,在画面下方设置4个按钮,用于画面的切换和系统的退出[8]。在按钮动画连接中,在命令语言连接中选择按下时的命令语言,使用showpicture函数后面加上要显示的画面,当按下按钮时就可以进行画面切换。不同的按钮对应不同的画面,在加载按钮位图中进行具体画面的设置。系统退出按钮使用的是Exit(0)。
(3)报警和事件系统
为保证工业现场安全生产,组态王提供了强有力的报警和事件系统,操作简单,并设置了语音报警。
在工程文件夹里新建一个音乐文件夹,将音乐保存在音乐文件夹里,然后在数据词典变量温度和压力的变量描述里填上报警音乐文件的路径。
温度报警定义如图4所示。
图4 温度报警定义
修改实数变量自定义函数,最后在自定义函数里面加上PlaySound(dtag.Comment,2)。
2.2.3 数据存取
系统具有实验数据的存取功能,同时可以直接查询程序设计模块数据库里的数据,方便结合实验分析结果并对温度和压力进行调整。
组态王软件作为辅助的画面实现工具,对于数据的存取要求不高。程序设计模块的主要部分是数据的存取,通过将数据写入专门的日志文件中,存储的信息量更大、更稳定。
2.2.4 实验结果
系统实现的基本界面包括主画面、报警画面、实时趋势图画面、报表画面等,当系统运行时,通过界面显示以及在组态王上进行二次开发实现的功能显示,操作员可以对反应过程进行实时监察。
由于全混釜正常运行时的数据变化不大,为了直观地显示变化数据的采集,这里显示了对系统进行模拟数据的测试结果。首先,开启程序设计模块的运行程序,模拟从全混釜现场采集数据,运行模块让数据库中表measuringpoint里的温度和压力的数据不停地刷新变动。然后再在全混釜监控计算机上进行操作。将全混釜工程运行起来,点击开始显示并将全混釜系统与程序设计模块的数据库进行连接。可以看到图2的主界面,可显示具体的温度和压力。
报警界面显示如图5所示。操作员从弹出的红色显示可以很快知道测控变量的实时情况,以便及时调整。
图5 报警界面及具体显示
实时趋势图显示如图6所示。运行实时趋势图之前要在控件属性中设置好本机的IP地址,运行时点击▶开始描点。可以看到温度和压力的趋势曲线,同时可以在界面下方读取实时温度、压力数据。
图6 实时趋势图及实时数据
系统运行时,将现场数据进行变换传输给计算机,然后传送给程序模块的数据库,以采集到数据的数据库作为核心数据,传输到需要此数据的系统分块地。此系统实际运行良好。
组态王全混釜监控系统通过与自主开发的程序模块数据库进行连接,在数据传输上打破了固有的DCS控制设计,更加贴近实际,具有更好的扩展性和可维护性,可以很好地应用到其它系统的界面显示中。
[1] 李绍芬.反应工程[M].北京:化学工业出版社,2006:56.
[2] 胡雄峰,郑应霞.基于MODBUS-RTU通讯协议的组态王与TOP9500通讯[J].工业控制计算机,2010,23(3):9-10.
[3] 李瑞先.组态王软件在监控系统中的应用[J].电气传动自动化,2006,28(5):49-51.
[4] 北京亚控科技发展有限公司.组态王6.53使用手册[M].北京:亚控公司,2007:308-340.
[5] 矫文成,张冬丽.信息系统开发中应用ODBC访问不同数据库[J].电脑应用技术,2006,(3):14-17.
[6] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006:114-115.
[7] 张玲霞,李学军,李杰.基于组态王的液位控制系统仿真实验[J].长春大学学报,2010,20(4):61-64.
[8] 李帅.WinCC在玻璃配料监控系统中的应用[J].自动化技术与应用,2010,29(3):86-89.