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

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

2023年6月30日发(作者:)

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

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688118551a84692.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信