软冗余和硬冗余

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从字面上讲,也就是实现的方式上:

1)软冗余是通过软件实现,也就是是西门子的SWR软件包;硬冗余,则是使用CPU417H;414H;412H来实现,对于PLC 本身的操作系统及硬件设置上均不同,硬冗余的同步机理为事件同步。

2)硬冗余的两个热备系统必须使用相同的PLC;软冗余的两个暖被系统可以使用不同的PLC。

3)硬冗余的同步链路采用同步模块和光纤,有长距,短距两种;软冗余则使用MPI,DP(CP343-5,CP443-5)和IE(CP343-1,CP443-1),程序内部调用的是xsend/xrcv;AGsend/rcv以及Bsend/rcv(仅对400),这也就是为什么S7-300 PN CPU 无法使用集成PN口来实现同步的原因。

从性能上来:

1)冗余的层级:软冗余无法进行IO冗余;IO冗余仅能在硬冗余里实现。

此外,Y-link仅能在硬冗余中实现。

2)系统切换的时间:硬冗余:PLC无切换时间,因为程序同时在两个CPU里运行,硬冗余里成为主动切换;被动切换,也就是从站切换的时间<100ms;

对于软冗余,冗余程序仅在主CPU内执行,备用CPU仅执行非冗余段程序,切换时为整个系统的切换。切换时间取决于同步链路的类型,速率和同步数据量的大小,DP从站的多少,多为秒级。

对于切换,软冗余系统中,DP从站的接口模板或DP链路故障均会造成主备CPU的切换,而引起整个系统的切换;而在硬冗余中,从站的故障不会造成主备CPU的切换。

3)信息的丢失:2)提到了切换,很自然的,CPU间的切换可能导致部分信息,如报警的丢失,因为报警在当前激活的主CPU 中进行处理。所以,软冗余系统中会存在信息的丢失;而硬冗余系统中,由于CPU间为事件同步的方式,且切换无时间,保证了信息不会丢失,也就是硬冗余中所说的平滑切换。

4)通信架构:

400H系统与上位机间的通信有多种架构,需要使用CP1613和redconnect实现,网络构成方式:双通道,四通道,单环,双环等;400H间建立的是容错S7连接。

5)H-CiR功能:

硬冗余系统支持H-Cir功能,可在线修改组态,增删模板,更换存储卡等

研究了西门子可编程控制器(PLC)软冗余系统的软硬件组成及实现原理。分析了PLC软冗余系统在主CPU、电源、I/O模块和Profibus总线等分别发生故障情况下,不同故障发生时刻引发的软件中断和主备切换过程,得出了相应的主/备切换时间极限值的估算公式。分析了PLC软冗余系统的数据同步过程,得出了数据同步时间的估算公式。

在工业自动化系统中,为了使系统长期稳定可靠地运行,大量选用可编程逻辑控制器(PLC)作为控制器,甚至在此基础上组建冗余系统进一步提高系统的可靠性。冗余的分类方式很多。目前,采用的PLC冗余方式分为2种,即软冗余和硬冗余。西门子公司在这2方面均给出了解决方案。基于S7-400H的硬冗余的可靠性高,但构建系统成本也较高。而基于S7-300或S7-400的软冗余是一种综合考虑提高可靠性和降低成本的折中方案。目前,软冗余系统已经在污水处理、冶金、化工等控制工程中得到了普遍应用。但目前对于软冗余的性能,仍缺乏系统的研究。文中首先叙述西门子PLC软冗余系统的实现原理,然后重点分析主备切换时间和数据同步时间,以便为类似控制系统设计提供参考依据。

1、软冗余实现原理

典型的PLC软冗余系统组成案例如图1所示。

图1 典型的PLC软冗余系统组成

在系统运行时2个CPU均启动,但只有主CPU执行控制命令,备用CPU检测主CPU状态,时刻准备接替主CPU继续工作。与主CPU通信的IMl 53—2模块处于激活状态使主CPU能访问I/0模块。当系统发生特定故障时,系统可以实现主备切换,备站接替主站继续运行。这些故障包括:主机架电源、背板总线等故障;CPU故障;Profibus现场总线网络故障;ET200M站的通信接口模块IMl53故障。

PLC软冗余系统要实现软冗余功能,需要存程序中调用冗余软件包的功能模块,其主要包括:初始化冗余系统运行参数的FCl00模块;故障诊断、主备切换的FCl02模块;发送/接收数据的FBl03模块;调用FBl03进行数据同步、分析系统状态的FBl01模块。带有冗余功能的程序结构见图2。

图2 带有冗余功能的程序结构

在PLC每个循环执行周期中,主系统先凋用FBl01接收并分析备系统状态,然后执行冗余程序,最后再调用FBl01将需要同步的数据发送到备系统。备系统先调用FBl01接收并分析主系统状态,跳过冗余程序,然后将备系统状态发送到主系统。需注意的是,实现冗余功能的最重要模块FBl01执行时先分析主备系统状态,然后再发送数据(或接收数据)。由于软件是顺序执行,将导致接收到对方故障信息后,对故障处理的滞后。软件顺序执行机制是导致软冗余切换时间较长的一个重要原因。

2、主备切换时间分析

主备切换时间是指系统发生故障到备站接替主站正常丁作所需要的时间。

2.1 主CPU或电源模块故障分析

当前2种故障发生时,ET200M站的主通信接口模块IMl53与主CPU失去连接。自动在主备通信接口模块IM]53之间实现切换。同时备CPU在向主CPU发送备站状态时将检测到同步线数据传输错误,继而主动切换成主CPU。

如果主CPU故障出现在备CPU调用FBl01执行发送功能之前,那么接下来备CPU在调用发送功能时就能检测到与主CPU通信连接故障,并在下一个周期调用接收功能时备CPU 切换成主CPU。此时主备切换时间t最短。

(1)

式中t为主备切换时间;Tcyc为PLC循环扫描周期;t(FB101)为冗余功能块FBl01执行时间。

如果主CPU故障发生时备CPU刚调用FB101执行完发送功能,那么备CPU要在下一个周期调用发送功能时才能检测到与主CPU通信连接故障,并且还要等待调用接收功能时备CPU切换成主CPU。此时主备切换时间t最长。

(2)

2.2 Profibus或ET200M主站故障分析

当后2种故障发生时,发生故障的ET200M从站的备IMl53将检测到主IMl53故障,自动将自己切换为主IMl53。主CPU将因为与故障IMl53失去连接而引发OB86(故障诊断)中断,并在中断中调用诊断模块FCl02完成所有从站的切换,并将自己置为备用。然后,主CPU将故障信息发送到备CPU。备CPU收到故障信息后将自己切换成主CPU。这时的切换时间为

(3)

式中tR为OB86中断响应时间,CPU315—2DP为1 ms;tE为OB86执行时问;ts为故障状态发送时间;tD为数据接收完毕到备站切换成主站的时间间隔。

因为OB86中只调用FCl02诊断模块,所以tE由FCl02的执行时间决定。为分析OB86中调用FCl02时FCl02的执行顺序,对FCl02进行了适当的修改以便采集数据。这些修改主要包括:在FCl02的开始加入采集状态程序段;在跳转指令处采集跳转条件。在手动触发一些故障之后,对得到的数据进行分析便得到了FCl02的执行顺序。在各个代码段两端插入读系统时间功能块,对FCl02的程序执行时间进行分段测量。

结果如表1所示(表中,为SFC58执行时间;t(2ss)8为2次SFC58执行时间;t’为其余时间;t(PC102)为FCl02总执行时间)。

测量结果中FCl02执行时间并不等于各个时间段之和,这是因为读系统时间功能块的测量精度只能达到l ms。但从表中仍不难看出FCl02执行时间主要集中在调用系统功能SFC58向ET200M写数据(控制从站切换)的操作上,SFC58的调用次数等于ET200M从站个数,因此可以近似得出tE=3 ms×ET200M从站个数。

式(3)中ts与主CPU的OB86中断产生的时刻有很大关系。

如果主CPU在调用FB101执行发送功能之前产生OB86中断,则在发送数据时主CPU直接把故障状态发送给备站,在这种情况下ts最短,为发送一次数据所用时间tt,即

(4)

若主CPU调用FBl01执行完发送功能时产生OB86中断,则主CPU要把先前数据发送完毕才能发送故障状态到备站。在这种情况下,由于先前数据发送完毕的时刻不同,ts也会得到不同的值。

a.若先前数据发送完毕在主CPU调州FB 101执行发送功能之前,将立即发送主站的状态,则

(5)

b.若先前数据发送完毕在主CPU执行完发送功能之后,则要等到下个周期调用发送功能时才能发送主站的故障状态。此时,ts是最长的。

相关文档
最新文档