APP下载

一种双总线双控制器软件冗余系统的设计

2014-09-22张立众

关键词:编程序机架组态

张立众

(陕西理工学院 电气工程学院, 陕西 汉中 723003)

一种双总线双控制器软件冗余系统的设计

张立众

(陕西理工学院 电气工程学院, 陕西 汉中 723003)

设计了基于网络控制的可编程控制器冗余系统。在完成PC工作站、冗余控制器(ControlLogix控制器、SoftLogix控制器)、通信模块1203-CN1、变频器PowerFlex70、被控对象风动模型的安装和组态之后,采用NetLinx网络体系结构,架设了基于ControlNet的两个ControlLogix控制器之间以及ControlLogix控制器与SoftLogix控制器间的冗余控制系统。应用软件RSLogix5000为冗余系统中的控制器进行了I/O组态,编写了梯形图程序。并且应用软件RSView32制作了控制器冗余系统的监控画面。实验结果表明:双机软件冗余系统更加稳定,切换时间更小。

可靠性; 冗余; ControlNet; PowerFlex70; RSLogix5000

0 引 言

可编程序控制器冗余系统按照切换时间的长短,可以分为热备份(切换时间小于50 ms)、暖备份(或温备份)、冷备份;按实现的方法可以分为硬件冗余和软件冗余;按控制器安装的机架位置可分为单机架冗余、双机架冗余和多机架冗余。可编程序控制器冗余还可以分为基于I/O控制的冗余和基于网络控制的冗余。可编程序控制器基于网络控制是指控制器控制的输入输出模块是连接在网络上的,控制器与输入输出模块的信息交换是通过网络完成的。

硬件冗余和软件冗余在原理上是一致的,只是检测控制器状态、完成控制器切换的途径不一样。硬件冗余的优点是切换时间快、切换过程可靠;软件冗余的特点是价钱便宜、不受应用场合的影响。目前,在许多污水处理、冶金、化工等控制工程中,普遍应用软冗余系统[1-4]。在很多工控应用场合,也采用简单的软冗余系统取代高等级的硬冗余控制系统,同样可以提高整个控制系统的故障容错率,并且节省系统硬件成本和减低程序复杂程度[5]。但目前对于软冗余的性能,国内外都缺乏系统的研究。

为了保证系统运行的可靠性和降低成本,同时考虑到罗克韦尔自动化三层网络的结构和特点,本文采用双机架ControlLogix软件热备系统。因为两个处理器处于不同的机架上,双机架结构不会因为机架出现故障而使系统瘫痪,使冗余系统更加稳定。系统中实现的基于ControlNet的Logix控制器冗余系统实际上是一种双总线双控制器软件冗余系统,在系统中两个Logix控制器相互备用,任何一个控制器均可作为主控制器来拥有系统的控制权。

1 冗余系统设计原理

基于网络控制的可编程序控制器软件冗余系统需要完成的任务主要有:通过网络使得主、备用控制器获取各节点模块的输入信息,然后由主控制器发出控制信息到具有输出功能的模块;在主控制器处于硬件故障、主要错误或编程状态时,备用控制器通过修改获得在网络上发出控制信息到输出模块的权力,同时主控制器失去在网络上发出控制信息到输出模块的权力。

根据可编程序控制器冗余的原理,结合基于网络控制的可编程序控制器软件冗余系统要完成的任务,本文设计了基于网络控制的可编程控制器软件冗余系统,硬件结构如图1所示。

图1 基于网络的可编程控制器软件冗余系统

2 冗余系统设计方案

在系统运行过程中,每个可编程控制器中的程序都要完成以下任务:(1)检测并判别控制器自身的状态;(2)监听、判别对等控制器的状态;(3)监听本地通信模块的状态;(4)保持对通信模块的组态,包括:屏蔽通信模块控制信息的输出、允许通信模块控制信息的输出;(5)监听具有输出功能模块的控制权状态;(6)保持与主控制器的数据同步。

基于网络控制的可编程序控制器冗余系统中控制器的切换是通过允许/禁止控制器输出控制信息到网络上来实现的。当主控制器不能正常运行或备用控制器检测不到主控制器的状态信息且本地通信模块状态正常时,备用控制器就通过设置控制器或通信模块的通信参数值来禁止主控制器的控制信息在网络上传输并允许备用控制器的控制信息通过网络传输;当主控制器正常工作且输出模块的所有权状态冲突时,禁止备用控制器的控制信息在网络上传输。而要完成控制器相关参数值的设置和修改,控制器必须可以远程控制。

2.1 ControlLogix冗余系统的组成与构建

图2为基于ControlNet的Logix控制器冗余系统的硬件结构图。该系统中的设备连接到了3种网络,但系统中的网络主要为ControlNet。将PowerFlex70连接到DeviceNet,ControlLogix控制器1、PC机连接到EtherNet是为了在设计过程中组态、编程、监控的方便。

图2 系统硬件结构图

ControlLogix控制器与SoftLogix控制器冗余系统包括:ControlLogix控制器1(或ControlLogix控制器2)、运行SoftLogix软件的PC工作站、1203-CN1模块、连接的PowerFlex70、风动模型(用来检验冗余效果)。SoftLogix系统的运行同ControlLogix系统一样,要完成某个系统的软硬件信息组态及编程,需要在PC机上安装相应的组态与编程软件,以达到组态I/O和扫描系统信息并完成系统控制的目的。具体包括RSLinx、RSNetWorx for DeviceNet、RSNetWorx for ControlNet和RSLogix5000。

SoftLogix控制器在系统要完成的任务是:作为在ControlNet上与ControlLogix控制器1或ControlLogix控制器2相互冗余的节点,在ControlLogix控制器发生“故障”时,接管系统的控制权。

因此系统中运行SoftLogix的PC工作站安装了1784-PCICS卡。1784-PCICS是控制网PCI扫描卡,PC机通过1784-PCICS卡连入ControlNet可以运行SoftLogix、连接多个控制器、完成控制器间的点对点通信、与多点进行I/O通信以及完成网络上的实时控制和I/O数据更新[1]。通过选择安装冗余电源模块和机架适配器模块就可以为ControlLogix系统进行电源冗余。

ControlLogix控制系统中,1756-ENBT/A模块登陆到信息层的以太网上;1756-DNB模块登陆到设备层的设备网;1756-CNBR/D模块登陆控制层的控制网;1756-DHRIO模块登陆DH+或远程RIO网络。这样就达到了网络之间互相通讯的目的。

2.2 硬件结构及相关硬件模块说明

(1)Logix5555控制处理器负责工艺流程控制和数据处理,是整个控制系统核心;(2)1756-CNBR/D是用来连结控制网的通讯模块;(3)1756-ENBT/A是以太网与其它网络通讯的网关级模块;(4)PowerFlex70在系统中是作为一个输入/输出模块存在的,通过1203-CN1将其连接到控制网;(5)1203-CN1是控制网通讯模块,有4个输入通道,2个输出通道,通过将变频器组态到控制网上,达到控制负载风动系统的目的;(6)ControlLogix系统背板是一个网关级模块,在各模块的通讯过程中进行各层网络协议的转化,不需要控制器的参与;(7)风动系统由鼓风机、控制管、浮球和EDM5-P/122光电位置传感器组成,通过变频器控制鼓风机的运行和停止,使空气的流量发生改变,达到使浮球位于控制管中的具体位置,在双机热备实验中,控制管的长度为浮球所能达到位置的最大量程。通过EDM5-P/122光电位置传感器来反馈位置信息给控制器,就可以准确地测量到控制器冗余系统在控制器切换过程中浮球位置的变化。

2.3 节点地址的设置

在ControlNet上实现双机架热备设计,首先要对ControlLogix系统的I/O模块和通讯模块组态。I/O模块的组态包括:RSLogix5000组态软件、Rslinx网络连接软件、RSNetworx for ControlNet组态工具、处理器I/O模块的组态。要给处理器所在机架内的CNB模块分配节点地址,1756-CNBR/D模块的地址设为01,1756-CNBR/D模块的地址设为02。在将设备连接到DeviceNet上后,在软件RSNetWorx for DeviceNet中优化和配置网络。基于ControlNet的Logix控制器冗余系统的所有主要设备均在控制网上。将ControlLogix控制器1的节点地址设为1,ControlLogix控制器2的节点地址设为2,基于PC工作站的SoftLogix控制器节点地址设为3,连接PowerFlex70的通信模块1203-CN1节点地址设为10。然后通过设备网专用电缆将1756-DNB模块和PowerFlex70接入DeviceNet。ControlLogix控制器的节点地址实际上是通讯模块1756-CNBR/D的节点地址,SoftLogix控制器的节点地址为PC工作站上的1784-PCICS控制网卡的节点地址。将设备连接好之后,在软件RSNetWorx for ControlNet中对ControlNet进行配置和优化。需要注意的是在使用之前应该在RSLinx软件中对设备进行组态。

3 可编程控制器冗余程序的编写

可编程序控制器软件冗余系统的平台架设好之后还要在编程软件中为可编程控制器编写相应的冗余程序,完成可编程序控制器对控制系统控制权的切换,并充分考虑到一个可编程序控制器冗余系统的特性。

3.1 准备工作

3.1.1 验证两个处理器

由于在热备程序的运行过程中,从处理器需要实时监控主处理器,如果主处理器发生某种非正常状态,从处理器都要及时得到这一信息并接管程序保证系统的正常运行,所以两个处理器之间的通讯是非常重要的,因此在编写热备程序之前需要先做一个实验,验证位于不同机架上的两个处理器,通过运用MSG指令是否能正常通讯。主要方法是由位于控制网上的处理器二写数据给位于以太网上的处理器一,看处理器一是否能接收到。

3.1.2 创建主处理器故障例程

为了及时发现和处理主处理器的故障,考虑到主处理器在运行中可能出现的3种非正常状态:硬件错误、主控制器的主要错误、通迅丢失,在Controller Fault Handler中建立一个故障运行程序,在热备系统中主处理器在出现主要故障时,运行这个故障程序来让主处理器失去对它所控制的输出模块的控制权。

3.1.3 分配主处理器的子程序

在创建子程序之前,根据要完成的任务分配并对各个子程序的功能进行说明。

3.1.4 创建主处理器标签

本文中可编程序控制器软件冗余系统的两个Logix控制器均采用Logix5555,通过使用标签来完成数据的访问。标签有一个用来描述储存数据的名称和用来识别存储数据大小、格式的类型,相当于其它编程语言中使用的变量。用户按照需要创建并存储合适的标签,Logix5555控制器通过将标签放入内存中恰当的位置来实现高效率的内存使用与组织。

3.2 主控制器热备程序的编写

在热备控制中最重要的工作是转换,编写转换程序也是热备软件设计的主要工作,见图3所示流程图。其中设控制器1为主控制器,控制器2为备用控制器。备用控制器需要创建和主处理器同样的标签和转换程序。

图3 热备转换流程图

在备用系统中,控制器除了完成正常的控制任务,还要实现冗余任务。(1)控制器状态检测和控制权切换:两个控制器同时在线运行,主控制器掌握输出控制权,同时备用控制器虽然也采集数据和保持通讯连接,但是由于没有输出控制权,所以输出被禁止。两个控制器互相监视对方的运行状态和通讯情况,双方一旦发现对方错误,立即发出报警,如果是主控制器异常,备用控制器自动获得主控制权。(2)两个控制器的数据同步:当主控制器发生故障时,处于随时准备状态的备用控制器立即获取主控制权而成为主控制器,这就需要备用控制器必须跟踪主控制器的变化,与主控制器保持同步。这样,在两个控制器进行控制权的转移时,实现无扰动切换[6]。

3.3 Logix控制器冗余系统软件设计

3.3.1 ControlLogix控制器冗余系统的软件设计

按照3.2中基于网络控制的可编程控制器冗余系统设计思想进行软件设计:(1)在RSLogix5000中为ControlLogix控制器1编写程序,对ControlLogix控制器类型、ControlLogix机架、ControlLogix控制器所在槽号的选择要根据实际设备的选择和安装位置来选择;(2)通过I/O组态,可以在实际设备连接的基础上组建虚拟的ControlLogix系统,模块只有被组态到程序以后,才可以输入信息到控制器或从控制器获得输出信息;(3)用户数据类型的定义;(4)新建程序和例程;(5)梯形图的编写;(6)ControlLogix控制器2与控制器1的RSLogix5000程序比较,ControlLogix控制器2的RSLogix5000程序与ControlLogix控制器1的RSLogix5000程序在梯形图的编写上基本相同,其主要不同之处在于控制器属性参数的选择和设置、I/O的组态。

3.3.2 ControlLogix与SoftLogix冗余系统的软件设计

在RSLogix5000中为SoftLogix控制器编写程序同为ControlLogix控制器编写程序一样。最后,按照一定的顺序将程序下载到控制器中就可以进行ControlLogix和SoftLogix控制器冗余系统的控制器切换实验。

3.4 监控平台

在通常的ControlLogix系统中,上位机监控系统是由RSView32监控软件、1784-PCIC控制网计算机适配卡接入网络构成的。在冗余系统中,虽然有两套控制系统,但实际需要监控的是正在运行的主系统。这是因为对应的控制网通讯模块在切换时相互交换地址,所以不需要重新调整监控系统的通讯通道。为了在上位机监控系统中反映主、从控制器状态,通过在处理器程序中加入GSV指令来实现,获取冗余系统的状态和信息,使用户操作大大方便,并能在系统发生切换后及时提醒用户排除从处理器的故障[7]。

运用罗克韦尔组态软件RSView32制作基于ControlNet的ControlLogix控制器冗余系统(热备系统)的监控平台画面,如图4所示为程序运行时的一个图形界面。通过该界面,用户可以在线监控PowerFlex70、控制器的状态,在线控制PowerFlex70的启停,更改PowerFlex的输出频率,远程改变控制器的状态来模拟故障。

图4 监控画面

4 小 结

传统的基于ControlNet的ControlLogix控制器冗余系统的切换时间大约为0.8 s、扰动为7%左右。通过对网络和程序的优化,切换时间和扰动会更小。本文修改设计的基于ControlNet的ControlLogix控制器与SoftLogix控制器冗余系统中,由ControlLogix控制器切换到SoftLogix控制器的切换时间大约是由SoftLogix控制器切换到ControlLogix控制器的切换时间的二分之一,约为0.6 s。

由此可见基于ControlNet上ControlLogix双机软件冗余系统比基于ControlNet上ControlLogix软件冗余系统(传统的)切换时间快0.8-0.6=0.2 s。

实验结果表明:本文设计的基于ControlNet上ControlLogix双机软件冗余系统,有很强的可靠性:当主控制器发生故障的情况下,备用控制器可以很快实现接管,反之亦然。在双机软件冗余系统中,基于ControlNet的ControlLogix控制器冗余系统的可靠性比基于ControlNet的ControlLogix与SoftLogix控制器冗余系统的可靠性高,适用于对可靠性要求较高的场合;ControlLogix与SoftLogix控制器冗余系统比ControlLogix控制器冗余系统的成本低,且不需要专门的控制器备用,适用于对可靠性要求不高的场合。

[1] 高本东,孙自强.PCS7系统在氟化工行业中的应用[J].自动化仪表,2006,27(4):49-52.

[2] 王国勇,马思乐.基于S7-300与WINCC的污水处理控制系统[J].中国仪器仪表,2007(4):53-56.

[3] 蔡方伟,吴章维,张文钢,等.PLC冗余技术在高可靠性控制系统中的应用[J].电气传动,1999(3):47-50.

[4] 李欣,崔新雨.PLC软冗余系统在电气保护中的应用[J].PLC&FA,2006(2):42-43.

[5] 沈经颖,李红兵.西门子S7-PLC冗余系统在化工石油上的应用[J].中国高新技术企业,2008(9):75-76.

[6] 张爱新,李刚,龙海军.基于网络控制的可编程控制器软件冗余系统设计[J].科技信息,2011(11):68.

[7] 冯立,王良勇,钱晓龙.冗余控制系统的原理及性能优化[J].仪器仪表学报,2003,24(s4):334-336.

[责任编辑:谢 平]

Abstract: PLC redundance system based on network control is designed in this paper. After finishing the installation and configuration of the PC station,redundance controller(ControlLogix controller,SoftLogix controller),communication module 1203-CN1,PowerFlex70 driver and cotrolled object model,a redundance control system based on ControlNet is set up. The system can be two ControlLogix controllers or a ControlLogix controller and a SoftLogix controller. Application software RSLogix5000 is used for I/O configuration of controller in redundance system and compling rung logical procedure. And using application software RSView32 a supervisory panel of redundancy system is made. The experimental result indicate that,The software redundant system is stabler,the switching time can be smaller.

Keywords: reliability; redundancy; ControlNet; PowerFlex70; RSLogix5000

Design of a dual bus dual controllers PLC software redundancy system

ZHANG Li-zhong

(School of Electrical Engineering,Shaanxi University of Technology,Hanzhong 723003, China)

1673-2944(2014)03-0041-06

2013-07-12

张立众(1969—),男,辽宁省鞍山市人,陕西理工学院讲师,硕士,主要研究方向为智能控制系统、现场总线和工业以太网。

TP273+.5

A

猜你喜欢

编程序机架组态
基于仿真可编程序控制器的虚拟电梯系统
基于PLC及组态技术的恒温控制系统开发探讨
浅谈可编程序控制器相关标准
别忽略它的存在!“意大利新一代架皇”BAS Accordeon(雅歌顿)XL4 2.0发烧机架
影响可编程序控制器系统稳定的因素及防范措施
基于PLC和组态的智能电动拧紧系统
热轧拉矫机机架加工讨论
PLC组态控制在水箱控制系统的应用
铸造行业三维组态软件的应用
双机架平整机板形控制算法及其应用