PLC软冗余系统时间和性能分析

(整期优先)网络出版时间:2010-05-15
/ 2

PLC软冗余系统时间和性能分析

王俭

王俭(哈尔滨家乐福超市有限公司)

摘要:本文给出了PLC软冗余系统的原理及软硬件组成。分析了PLC软冗余系统在主CPU、电源、接口模块和数据总线等可能发生的各种故障及引发的软件中断,给出了主备切换过程,给出了系统相应的主备切换时间极限值的估算公式。分析了PLC软冗余系统的数据同步过程,得出了数据同步时间的估算公式。因此给出了软冗余系统的使用条件。

关键词:可编程控制器冗余主备切换

0引言

在工业自动化系统中大量选用可编程逻辑控制器(PLC)作为控制器,随着技术的发展又组建冗余系统进一步提高系统的可靠性。目前冗余的分类方式很多,而采用PLC冗余方式的有两种,即软冗余和硬亢余。西门子公司在软、硬冗余两方面均给出了解决方案。而基于硬冗余的可靠性高,但构建系统成本也较高。而基于S7—300或S7—400的软冗余是一种成本低又能提高可靠性的方案。目前,软冗余系统已经在冶金、交通、电力、化工、污水处理等工业控制工程中得到了较广泛的应用[1-6]。但是对于软冗余的性能仍没有进行系统的研究。本文针对西门子PLC介绍了软冗余系统的实现原理,分析了主备切换时间和数据同步时间,为控制系统设计提供参考依据。

1软冗余实现原理

系统运行过程中两个CPU同时启动和运行,但是在正常运行时只有主CPU发出控制命令,而备用CPU检测主CPU状态和记录主CPU发出的命令,当主CPU发生故障时能够延续当时的实际状态接替主CPU发出执行命令。与主CPU通信的IM153—2模块处于激活状态时主CPU能访问I/0模块。当系统发生特定故障时,系统可以实现主备切换,备站接替主站继续运行。这些故障包括:主机架上的电源、背板总线等故障;CPU故障;Profibus现场总线网络故障;ET200M站的通信接口模块IMl53故障。

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

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

2主备站切换时间分析

主备切换时间是指主站系统发生故障后被检测、然后切换到备站系统接替主站工作所需要的时间。

2.1主CPU或主机架电源、背板总线故障分析当前两种故障发生时,ET200M站的主通信接口模块IMl53与主CPU失去连接,自动在主备通信接口模块IM153之间实现切换。同时备CPU在向主CPU发送备站状态时将检测到同步线数据传输错误,继而主动切换成主CPU。

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

t=Tcy-2TFB101(1)

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

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

t=TR+tE+tS+tD(2)

式中TR为OB86中断响应时间;tE为OB86执行时间;tS为故障状态发送时间;tD为故障状态数据接收完毕到备站切换成主站的时间间隔。

因为OB86中只调用FCl02诊断模块,所以tE由FCl02的执行时间决定。经过数据测量可以知道FCl02执行时间主要集中在调用系统功能SFC58向ET200M写数据(控制从站切换)的操作上,SFC58的调用次数等于ET200M从站个数,因此可以近似得出

tE=TE×ET200M的个数

式中TE为SFC58调用一次的时间,测量得出TE一般为3ms。

故障状态发送时间tS与主CPU的OB86中断产生的时刻有很大关系。如果主CPU在调用FB101执行发送功能之前产生OB86中断,则在发送数据时主CPU直接把故障状态发送给备站,在这种情况下TS最短。但是若主CPU调用FBl01执行完发送功能时恰好产生OB86中断,则主CPU要把先前数据发送完毕才能发送故障状态到备站。并且若先前数据发送完毕在主CPU执行完发送功能之后,则要等到下个周期调用发送功能时才能发送主站的故障状态。这时,故障状态发送时间tS最长

tS=2Tt+Tcy-TFB101(3)

其中Tt为发送一次数据所用的时间。

数据接收完毕到备站切换成主站的时间间隔tD与备站接收完故障状态的时刻有关。若数据接收完成是在备CPU调用FBl01执行接收功能之后,则备CPU要等到下个周期调用接收功能时才能获得主站的状态,并在调用发送功能时切换成主CPU。此时tD最大

tD=Tcy(4)

由以上分析可知,主备切换时间最长为

t=TR+tE+tS+tD=TR+tE+(2Tt+Tcy-TFB101)+Tcy

=TR+tE+2Tt+2Tcy-TFB101

=TR+TE×ET200M的个数+2Tt+2Tcy-TFB101(5)

以上所涉及的时间中,tE、Tt和Tcy所占比重最大,其余时间经测量均约为1ms。如果要减小主备切换时间,必须减小tE、Tt和Tcy。要减小tE就要减少ET200M从站数量,即在满足要求的情况下减少I/0数量。减少Tt最好的方法是选择主站与备站之间较快的数据同步通信方式。如Profibus总线方式比西门子PLC自带的MPI方式能在较短的时间内发送更多个字节数据。但前一种方式需要另外配置通信模块。Tcy为PLC循环扫描周期,与用户程序长度有关。典型的中等规模的PLC控制系统,经计算主备切换时间的极限值范围约为150-500ms。

3使用条件

由以上分析可知,可以使用软冗余的工业现场要求一次最短控制时间T不能特别短[10-13],最短控制时间T太短能够造成软冗余的切换时间不能满足要求。最短控制时间T满足:

T≥max{TR+TE×ET200M的个数+2Tt+2Tcy-TFB101,Tcy-2TFB101}(8)

因此在实际中不能满足式(8)条件的工业现场就需要减少ET200

M从站个数,即将工业现场分成几个冗余控制系统,这需要考虑实际的场合进行合理的分解。在一次软冗余最大切换时间与最短控制时间之差为较小的正数时,可以考虑减少数据同步时间的方法以便能够满足条件,即将一次软冗余最大切换时间与最短控制时间的差变为负数。

4结论

在控制系统出现故障时,以往只能停机或手动进行修理,这样就要求系统的运行较慢才可以实现,本文利用PLC软冗余系统,一旦特定故障发生时,系统通过软件的快速反应实现主备切换机制,使备站接替主站保持系统继续运行,避免系统停止运行后的修理和调节。本系统在主备切换完成后,备用系统以与原系统同步数据执行控制任务,在系统实时性要求不严格的情况下实现系统的正常运行。本软冗余系统主备切换的功能,既能够提高系统的可靠性、又可以降低成本。本系统由于在主备切换过程中系统需要一定的切换时间,使得系统暂时失去了控制功能,故软冗余系统对于实时性要求非常高的控制场合,即切换时间大于控制命令时间的控制系统不适合。

参考文献:

[1]徐竟天,李树刚,张乃禄,朱晖,冯劲.基于S7-300软冗余的钻机自动送钻控制系统设计[J].石油机械.ISTICPKU-2009年9期.

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

[3]张筱萱.西门子S7-300PLC软冗余系统在重催气压机上的应用[J].兰州石化职业技术学院学报.-2002年3期.