刘瑞祥,倪福生,顾 明
(1.中交天津航道局有限公司,天津300461;2.疏浚技术教育部工程研究中心,江苏 常州213022;3.河海大学机电工程学院,江苏 常州213022)
为研究港口航道疏浚工程中泥沙输送特性,中交天津航道局有限公司和河海大学疏浚技术教育部工程研究中心联合研制了泥沙输送实验台。由于管道中输送的介质为沙土和砾石等,一旦遇到故障停机,便会造成管道堵塞,需要耗费大量的人力物力去排查清堵,这就要求其控制系统具有较高的可靠性。冗余技术通过增加冗余部件,协调冗余部件同步运行,使系统的可靠性和稳定性得到多重保证,不受局部故障的影响[1]。西门子PLC软冗余系统通过2台PLC中的软件程序实现工作/备份PLC的在线切换,是一种硬件和软件结合的冗余方法。与硬件冗余相比,切换时间稍长,但大大降低了使用成本,适用于通信数据较少、工作/备份切换时间为秒级的系统[2]。
实验台系统构成如图1所示。控制系统结构如图2所示。
图1 泥沙输送实验台结构
图2 控制系统结构
图2中,各层分别具有不同的功能,即
a.信息层。在控制系统中处于顶层,由2台监控计算机及监控软件构成。监控软件在OPC Server基础上由VC++软件开发程序编制而成,完成数据采集、处理、存储、实时显示和发布控制命令等功能。2台监控计算机互为备份,其中每一台计算机都可以独立控制实验台的运行。
b.控制层。控制层是整个软冗余控制系统的核心部分,它由2个互为冗余的PLC主站和1个ET200M分布式I/O从站组成。每个PLC主站包括1 个 CPU315-2DP 模 块、1 个 CP343-1 模 块;ET200M从站包括2个IM153-2接口模块和若干个I/O模块。需要注意的是,由于软冗余系统中的2个IM153-2接口模块都要能通过背板总线与I/O模块通信,所以需要将普通导轨更换为带有有源总线模板的导轨。工作CPU和备份CPU之间通过ISO-ON-TCP协议的以太网进行冗余数据同步;PLC主站与ET200M从站之间通过PROFIBUS总线进行通信。
c.现场层。包括管道流量计、压力传感器和密度计等传感器以及电磁阀和变频器等执行机构。系统通过ET200M上的I/O模块来读取现场信号或者发布控制命令。
图3 冗余CPU工作原理
工作CPU和备份CPU中都装有软件冗余组件,冗余CPU工作原理如图3所示。
当工作CPU正在处理冗余程序组件时,备份CPU则跳过这些程序,即防止2个程序组件出现因报警或不同周期时间等导致的数据不一致。备用CPU一直处于准备接管工作CPU的状态[3],如图3所示。
首先在STEP 7中新建一个项目,插入2个PLC站点,分别命名为“SIMATIC 300(A)”和“SIMATIC 300(B)”;其次打开“HW Config”,在2个站中分别插入1个CPU315-2DP模块和1个CP343-1模块,2个CPU315-2DP模块上各自新建1条DP网络;然后在2个DP网络中各自插入1个ET200M从站;最后在从站中插入2个IM153-2接口模块以及相应的I/O模块,完成冗余系统的硬件模块组态。
网络组态在“NetPro”中进行。首先插入2个PC站点和1条Ethernet网络,将2个PC站点和2个PLC主站连接起来。然后在“SIMATIC 300(A)”的CPU中新建1个指向“SIMATIC 300(B)”CPU的“ISO-ON-TCP”连接,此连接用于同步2个CPU之间的冗余数据。最后在2个PC站点中各自建立“S7_connection1”和“S7_connection2”连接,分别连接2个PLC主站。
系统具备以下冗余功能,即监控计算机冗余;主机架电源、背板总线冗余;CPU冗余;PROFIBUSDP现场总线冗余;ET200M从站的IM153-2通信接口模块冗余。
西门子软冗余的软件设计需要用到西门子软冗余包,软冗余包中包含了不同结构冗余系统编程所需要的组织块、功能块和数据块。在系统中,主要对其中的OB35(定时中断组织块)、OB86(故障诊断组织块)和OB100(暖启动组织块)进行编程[4]。编程步骤为:
a.在“SIMATIC 300(A)”中插入冗余系统所需的组织块、功能块和数据块。组织块包括OB80,OB82,OB85,OB86,OB87,OB121,OB122,OB100和OB35。功能块包括FB1,FC10,FC11,数据块包括DB7(FB1的背景块)和DB8,DB9。
b.在工作CPU的程序块OB100中调用FC100,设置ET200M从站的个数、冗余起始数据块及数据块数量等参数。
c.在OB35定时中断组织块中编写冗余程序。在OB35中调用FB101“SWR_ZYK”功能块,该功能块中封装了冗余功能程序段来实现冗余功能。在系统中,程序块FB1,FC10,FC11是冗余程序块,其中FB1是数据采集子程序,FC10是阀门控制子程序,FC11是变频器控制子程序,这些程序块也在OB35中调用。
d.在OB86中调用诊断功能块FC102,该程序块用于诊断故障。
e.对“SIMATIC 300(A)”编程完毕后将这些程序块复制到备份CPU中,并修改OB100中的参数。
冗余测试实验中,通过切断PROFIBUS通信网络来模拟故障,测试工作CPU和备份CPU的切换,CPU的状态可以通过状态标志位来识别,系统中的状态标志位为DB5.DBX9.0。
冗余实验中,原来A站的CPU为工作CPU,拔掉PROFIBUS通信线缆后,A站状态位由TRUE变为FALSE,原来作为备用的B站CPU,其状态标志位由FALSE变为TRUE,实现了CPU的自动切换。
利用西门子PLC的软冗余技术,完成了泥沙输送实验台冗余控制系统设计。系统在多次故障模拟实验中都能够可靠运行,表明采用冗余技术确实能够有效提高控制系统的可靠性和稳定性,大大降低了由监控系统故障而引发堵管事故的概率。
[1] 路建强,王华强,王联庆,等.S7-300软冗余在压缩机控制中的应用[J].工业仪表与自动化装置,2012,(1):80-83.
[2] 南新元,陈 飞,李 泉,等.S7-300PLC软冗余系统性能实验研究[J].实验技术与管理,2013,30(6):17-19,23.
[3] 张晓慧,袁 敏.PLC软冗余在氮气连续供应自控系统中的研究与应用[J].计算机与现代化,2012,(2):61-65.
[4] 徐竟天,李树刚,张乃禄,等.基于S7-300软冗余的钻机自动送钻控制系统设计[J].石油机械,2009,37(9):98-101.