PLC软冗余系统时间和性能分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.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软冗余系统,一旦特定故障发生时,系统通过软件的快速反应实现主备切换机制,使备站接替主站保持系统继续运行,避免系统停止运行后的修理和调节。
本系统在主备切换完成后,备用系统以与原系统同步数据执行控制任务,在系统实时性要求不严格的情况下实现系统的正常运行。
本软冗余系统主备切换的功能,既能够提高系统的可靠性、又可以降低成本。
本系统由于在主备切换过程中系统需要一定的切换时间,使得系统暂时失去了控制功能,故软冗余系统对于实时性要求非常高的控制场合,即切换时间大于控制命令时间的控制系统不适合。
参考文献:
[1]徐竟天,李树刚,张乃禄,朱晖,冯劲.基于S7-300软冗余的钻机自动送钻控制系统设计[J].石油机械.ISTIC PKU-2009年9期.
[2]王困勇.马思乐.基于s7-300与WINCe的污水处理控制系统[J].中国仪器仪表.2007(4):53-56.
[3]张筱萱.西门子S7-300 PLC软冗余系统在重催气压机上的应用[J].兰州石化职业技术学院学报.-2002年3期.。