浅谈福建水口公司双机热备方案在升船机监控系统中的实现

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:vay_b
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为满足升船机对高可靠性的要求,在二级分布式监控系统中,采用了双网冗余、双机热备的方案,本文介绍这种基于InTouch脚本语言编程,利用NetDDE实现的双机热备机制,该系统已通过验收并成功运行。
  关键词:工业控制机双机热备份动态数据交换
  引言
   在采用计算机的工业控制系统中,通常只有一台工业控制机(以下简称IPC)完成系统的主控功能,这种单机系统固然具有结构简单、造价低廉的优点,但系统的安全运行对主控计算机的可靠性提出了很高要求,一旦主控计算机发生故障,就可能导致系统瘫痪或崩溃,甚至引发意想不到的后果。因此,对安全运行要求特别高的场合,如目前已在国内陆续建造的升船机、船闸之类的机构,这种单机系统显然是难以满足要求的,解决的途径就是采用“双机”机制。
   为了提高福建水口升船机监控系统的安全性,我们采用了双机方案中比较先进可靠的二级分布式的“双网冗余、双机热备”的控制方式,其基本思路是:上位机采用两台配置完全相同的IPC通过网线及通讯模块、网卡分别与现地站的PLC通讯,当其中一台IPC出现故障或退出运行时,另一台IPC能迅速接管控制权,实现无扰切换。
  系统结构
   福建水口升船机监控系统由二级分布式计算机网络组成,上位机选用研华工控机,两台上位机与四个可编程控制器(PLC)之间通过基于Profibus 协议的SINEC L2网通讯,两台上位机中装有NE2000兼容网卡,通过以态网进行通讯,系统采用TCP/IP的网络协议。系统结构如图1所示,从图中可以看出,上、下位机之间的网络连接是两台IPC分别接到两个互为冗余的SINEC L2通讯网上的。
  上位机监控系统采用WonderWare 公司的InTouch为组态软件,
  
  
  图1系统结构图
  并配合以用微软的Visual Basic开发的后台应用程序,完成对升船机运行过程的监控,两台IPC配置完全相同,分别通过PLC上的两个互为备用的通讯模块采集相同的现场数据内容。
   二、动态数据交换的建立
   双机运行的基础,是建立双机之间的网络间动态数据交换,即NetDDE。NetDDE 是Network Dynamic Data Exchange 的缩写,它扩展了基本的Windows DDE(动态数据交换)的功能,为两个或更多的计算机通过网络或串口完成动态交换数据的基本途径。
   InTouch的 NetDDE是建立在Windows的NetDDE基础上的快速DDE软件,比Windows的NetDDE快3~4倍。监控系统运行之前NetDDE程序应被安装在需要进行数据交换的计算机,安装该软件并正确配置后,就可以通过节点名(Node Name)访问到本机的指定变量。
   在InTouch中,一个DDE变量使用三部分地址----Application name、Topic name及Item name ,而对于网络间的DDE通讯,Application 再加上节点名(Node name)即可。以一节点名为J1和J2的计算机为例,J2需要采集J1数据字典中变量byxs时,其地址应设为=J2view|Tagname!byxs,其中,Application name为J2view,表明服务程序为节点名为J2的InTouch 运行程序View,Topci指定为管理标记名的数据字典Tagname,Item则为数据字典中的变量byxs。同理,计算机J1也可实时采集计算机J2的应用程序View下的变量名。
  三、双机热备的具体实现
   在正常情况下两台IPC分别以“主机”与“辅机”的工作方式完成监控过程,当两台工控机进入系统后均为“主机”方式工作时,此时需要查看两台工控机的NetDDE是否正确启动,如正确无误,则应从双机物理链路是否连通方面排除故障。
   为确保系统的安全,主机与辅机的分工不同,其中只有主机才有权参与升船机的运行控制,辅机则只能实现各分部状况查询、数据处理等功能,不能参与控制命令的发出,即只有监视权而无控制权。
   操作员可在主机点击相应命令实现“主->辅”切换。辅机没有相应功能,但当主机退出、故障或主机的“主->辅”命令发出后,可转换为主机状态。
   由于应用程序启动时间的随机性,为防止通讯混乱,以先进入应用程序的计算机为主机,反之则为辅机,所以系统的主机和备机是一个相对的概念,只有以下三种情况可能触发主辅机转换:①通过点击主机的“主/辅”机切换按扭,实现主机->辅机,辅机->主机;②主机中途退出监控状态,辅机自动转换为主机,接过控制权;③主机故障或异常退出,辅机自动转换为主机,接过控制权;④当主机与PLC之间的网络出现通讯故障,通讯正常的辅机转换为主机。
   通常,主机或备机之间如果有任何一方因某种原因正常退出时,后台都要向对方发送一个消息,双机实现数据交换, 实现对另一台监控系统状态的采集。利用內部DDE变量是否为1,可用來监視 I/O 通信的狀态,以此判断与之通讯的DDE状态是否正常(=1时通讯正常,=0时,通讯中断)。当系统正常退出时,这不失为一种很好的选择。
   但当主机故障或异常退出时,由于操作系统来不及向外发送消息就已退出运行,往往造成了侦听的计算机较长时间等待,直到超过允许等待的时间,才判断被监测的IPC已退出运行,这样导致正常运行的IPC经过较长时间延时才接管主机工作。
   为避免由此可能产生的安全隐患,我们采用在InTouch的脚本语言编程实现主辅机的判断,通过辅机随时监测主机的心脏数据是否变化,并辅以內部DDE变量是否为0加以判断,当两者任一事件触发时,及时实现双机转换,这样既保证了双机及时转换,又避免了当主机的IPC非正常退出(如死机或掉电等)时辅机无法及时转为主机的安全隐患。利用这一原理,可使系统切换延时控制要求时间内。
  主、备机热备的过程如图2所示。根据程序流程,双机热备方案遵循以下几个原则:
  先入为主的原则
   开机后,首先判断两台IPC有无任一台为主机,如果没有,将本机的状态置为主机。当另一台再启动时,检查到已有一台IPC的状态被设为主机,则自动将本机状态置为辅机。实现先启动的计算机为主机,后启动的计算机为辅机的效果。
   当退出运行的IPC重新投入运行时,此时监控系统有一台IPC以主机状态工作,根据程序流程,则再次进入系统的IPC以辅机方式工作。
   (2)主机退出、故障或非异常退出时,辅机接管主机工作
   正常情況下Byxs作为心脏数据不断刷新,辅机则通过DDE类型的变量N_byxs监测Byxs的改变,每隔一周期将这一值保存在Byxs_b作本周期内N_byxs的备份值。当新一TIMER事件触发后,通过NetDDE,监测测变量N_byxs随主机的Byxs更新,但监测变量备份值Byxs_b仍等于上一周期的监测变量值Byxs,两者应不相同。反之,则判断主机的心脏数据在本周期内没有刷新改变,此时,故障指数Bgzs加一。当Bgzs累计到一定值后,则意味着主机没有数据流动,不能正常工作。此时,辅机立刻激活“辅->主”转换程序,实现辅机到主机的转变。
   需要说明的是,由于各个应用程序之间进行动态数据交换的内容不同,运行的软硬件环境也不同,因此作一次DDE 所需的时间开销也不一样,这直接关系到故障指数Bgzs的最大允许范围也因此有所区别。
  说明:Byxs------主机内部整型变量,每隔一周期刷新一次
  N_byxs-----辅机DDE整型变量,随主机byxs而改变而改变 Byxs_b-----辅机整型变量,本周期N_byxs的备份值。
  Bgzs-------辅机整型變量,表明主机运行故障指数
   (3)当退出运行的IPC重新投入运行时,以辅机方式工作;直到主机退出、故障或操作员在主机点击切换按扭,实现主辅切换机
   说明:IpcName -----内部离散型变量,标记两IP的名称,两台IPC应不同,如 1# IPC 的IPCName=1,2# IPC的IPCName=0。反之,同理。
   Bzfjoo -----内部离散型变量,本机的主/辅机状态标记。Bzfhoo=1,标志为主机,=0否则为辅机
   Nzfjkz ------DDE离散型类型 ,主辅机切换控制变量Nzfjkz改变时,两台IPC分别执行主/辅转换模块。
   根据流程,当操作员在主机发出“主辅机切换”命令,执行“主->辅”程序,此时假设主机的IPCName =1,执行Nzfjkz= not IPCName后 ,另一台IPC的Nzfjkz也随主机Nzfjkz改变,两台IPC均得到Nzfjkz由“1”->“0”的脉冲,通过事件改变逻辑(Data script),执行 bzfjoo=not IPCName后, 原为主机的IPC中bzfjoo=0 ,原为辅机的IPC 则bzfjoo=1 , 由此达到转换主辅机的效果。反之假设主机IPCName=0,执行Nzfjkz= NOT IPCName后 ,两台IPC均得到Nzfjkz由“0”->“1”的脉冲,执行 bzfj00= IPCName 后,IPCName=1的主机bzfjoo=0 ,原为辅机的IPC 则bzfjoo=1 , 同样达到“主->辅”切换的效果。
   “辅->主”转换的实现同理,在此不再赘述。
   由于1#、2#PLC都可能以主机或辅机的方式运行,因此,主辅机程序都在一套IPC中同时包含相同的代码,但两个IPC的IPCName不同(如 1# IPC 的IPCName=1,2# IPC的IPCName=0。反之,同理),由此得到同样的程序代码分别实现由“主->辅”而另一台则由“辅->主”的效果。
   (4)当主机与PLC之间的网络出现通讯故障,通讯正常的辅机转换为主机
  监控系统运行过程中,IPC在监视另一台IPC运行状态的同时,同时实时监视与四个PLC各子站的通讯状态,当辅机与PLC某子站通讯正常,而主机与该PLC子站通讯故障时,利用NetDDE,主机通过以态网及辅机与PLC子站建立连接,主/辅机状态不变。但当故障标志超过三个时,也即存在三个或三个以上PLC子站故障时(此时多发生在IPC中与下位机通讯的网卡故障时),激活主/辅机切换模块, 实现主/辅机切换。
  四、NetDDE的其它应用
  操作的同步
   正常情况下,按流程及操作员发出相应命令的次序调出相应界面,因为两台IPC监控的对象完全相同,主辅机上显示的内容也应完全一致。通过借助于NetDDE机制,将在主机的操作,包括命令及菜单的调度“通知”远程IPC,以此达到两台工控机的菜单及界面、操作同步的效果。
  系统时钟的同步
   主机和备机的操作是以秒为单位进行的,运行时间一长,其系统时钟将存在差异,如果不进行对时,将引起记录事件节拍不同。因此每次开机时,先对系统时钟进行对时,如果相差超过允许值,则进行调整,可以保持将系统时钟差异稳定在很小的范围内。
  
  五、结语
   基于InTouch脚本语言编程,利用NetDDE机制,避免了代码繁琐控制,且程序结构清晰、功能完备,为工业控制机中双机通讯的实现提供了一条切实可行的途径。
  
  注:文章内的图表、公式请到PDF格式下查看
其他文献
摘要:本文结合我市目前工业锅炉结构特点及使用状况,从管理、人员、设备以及管路等方面分析了能耗的主要原因,提出了工业锅炉节能降耗的对策措施。  关键词:工业锅炉节能降耗措施    近年来,我国能源消费的快速增长已经引起国内外有关方面的极大关注。因此,党中央、国务院已经把节能减排列为国家的基本国策。为此,2008年8月,温家宝总理签署了《公共机构节能条例》,在全社会加大了宣传力度,增强了节能意识。  
[摘要]本文针对各城市道路改造建设中存在的普遍问题展开深入探讨,制定了切实有效的改造路线、设计方案,对优化城市发展、改造城市环境,提升道路工程建设质量有积极有效的促进作用。  [关键字]城市道路;工程改造;设计  1、道路工程改造实践中存在的主要问题  市场经济建设的飞速发展令道路运输成为整体交通服务行业的重中之重,虽然各类公路及城市道路的建设、改造呈跨越式发展趋势,路网的建设不断完善,然而其发展
[摘要] 省运会场馆建设工程建筑规模大、建筑造型多样化、结构形式多,大跨度组合结构、大跨钢结构不断涌现。现以省运会的工程为例阐述在当前建筑市场环境下如何做好公共建筑的质量监督工作。   [关键词] 场馆建设;质量监督;事前控制    引言    福建省第十四届省运会已圆满结束,省运会场馆建设工程都已经验收。监督工作坚持监督、指导和服务的工作原则,认真做到监督到位、指导到位、服务到位,省运会场馆建设
摘要:沥青路面在铺筑后由于行车的压力作用,特别是大吨位车辆行车荷载的作用,路基、路面承受不了超载车辆荷载的作用会产生各种各样裂缝。而天气作用的降雨,使路表水的浸入,导致路面结构层损坏和土路基的下降,致使路基和路面强度降低,长此以往加速了路面的裂缝产生,并且缩短了沥青路面的使用寿命。综上,本文就如何有效提升沥青路面质量和使用寿命,结合国内外沥青路面新技术、新工艺做出具体阐述和分析。  关键词:沥青路
期刊
1 工程水文地质条件概况 本工程位于锦州市松山新区小凌河南岸,中央南街与市府路交汇处西北侧。建筑物为10幢32层商住楼,总建筑面积31.5万㎡,框剪结构,场地设二层整体连通的地下结构,负二层为人防工程及地下车库,负一层为商业及地下车库,地下总面积为68177.18㎡,基坑开挖长262m、宽227m,深度12.00m。帷幕桩单桩长度19m,旋喷止水帷幕桩总长14174m。 拟建场地距小凌河南岸80m
摘要:改革开放以来,我国公路建设事业迅猛发展,尤其是高速公路建设,从无到有,现已建成8700km。作为公路建设重要组成部分的桥梁建设也得到相应发展,跨越大江(河)、海峡(湾)的长大桥梁建设也相继修建,一般公路和高等级公路上的中、小桥、立交桥,形式多样,工程质量不断提高,为公路运输提供了安全、舒适的服务。  关键词:公路桥梁 上部施工 测量  1.我国公路桥梁的发展历史  (1)我国桥梁的历史  中