您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 软冗余和硬冗余的区别
从字面上讲,也就是实现的方式上: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-300PNCPU无法使用集成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通信的IMl53—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.2Profibus或ET200M主站故障分析当后2种故障发生时,发生故障的ET200M从站的备IMl53将检测到主IMl53故障,自动将自己切换为主IMl53。主CPU将因为与故障IMl53失去连接而引发OB86(故障诊断)中断,并在中断中调用诊断模块FCl02完成所有从站的切换,并将自己置为备用。然后,主CPU将故障信息发送到备CPU。备CPU收到故障信息后将自己切换成主CPU。这时的切换时间为(3)式中tR为OB86中断响应时间,CPU315—2DP为1ms;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执行时间并不等于各个时间段之和,这是因为读系统时间功能块的测量精度只能达到lms。但从表中仍不难看出FCl02执行时间主要集中在调用系统功能SFC58向ET200M写数据(控制从站切换)的操作上,SFC58的调用次数等于ET200M从站个数,因此可以近似得出tE=3ms×ET200M从站个数。式(3)中ts与主CPU的OB86中断产生的时刻有很大关系。如果主CPU在调用FB101执行发送功能之前产生OB86中断,则在发送数据时主CPU直接把故障状态发送给备站,在这种情况下ts昀短,为发送一次数据所用时间tt,即(4)若主CPU调用FBl01执行完发送功能时产生OB86中断,则主CPU要把先前数据发送完毕才能发送故障状态到备站。在这种情况下,由于先前数据发送完毕的时刻不同,ts也会得到不同的值。a.若先前数据发送完毕在主CPU调州FB101执行发送功能之前,将立即发送主站的状态,则(5)b.若先前数据发送完毕在主CPU执行完发送功能之后,则要等到下个周期调用发送功能时才能发送主站的故障状态。此时,ts是昀长的。(6)式(3)中tD与备站接收完故障状态的时刻有密切关系。若数据接收完成是在备CPU调用FBl01执行接收功能之前,则备CPU将马上得到主CPU状态,并在调用发送功能时备CPU切换成主CPU。此时tD昀小,仅为一个FBl01的执行时间,即(7)若数据接收完成是在备CPU调用FBl01执行接收功能之后,则备CPU要等到下个周期调用接收功能时才能获得主站的状态,并在调用发送功能时切换成主CPU。此时tD是昀大的。(8)由以上分析可知,在以下2种情况将得到这2类故障主备CPU切换时间的极限值。a.如果故障发生后主CPU马上发送故障状态,并且备CPU接收完数据是在备CPU调用接收功能之前,主备切换时间是昀短的。(9)b.如果故障发生时主CPU已经开始发送数据。并且此数据发送完毕是在主CPU调用完发送数据功能之后,而备CPU接收完数据是在备CPU调用完接收功能时,主备切换时问是昀长的。(10)以上所涉及的时间中,tE、t.和k所占比重昀大,其余时问经测量均约为1ms。如果要减小主备切换时间,必须减小tE、t,和k。要减小tE就要减少ET200M从站数量,即在满足要求的情况下减少I/0数量。减少t。昀好的方法是选择主站与备站之间较快的数据同步通信方式。如Profibus总线方式比西门子PLC自带的MPI方式能在较短的时间内发送更多个字节数据。但前一种方式需要另外配置通信模块。k为PLC循环扫描周期,与用户程序长度有关。典型的中等规模的PLC控制系统,经计算主备切换时间的极限值范围约为150---500ms。3、数据同步时间分析在PLC软冗余系统中,要使主系统发生故障时,备系统接替主系统继续工作,则系统在正常运行时,主控制器必须把需要同步的数据发送给备控制器,从而当故障发生时能够实现无扰切换。数据同步时间是指系统正常运行时,主站将同步数据发送至备站所需时间。西门子软冗余系统的数据同步是根据数据量的大小通过定时中断方式分多次进行,单次同步的数据量相同。主CPU在同步开始时将所有需要同步的数据保存起来,然后每次发送相同长度的数据块到备CPU。备CPU每接收到一个数据块就将其分配到对应的地址空间中去。这种方式将时间平均分配到了各个执行周期,避免了单次发送所有数据消耗过多时间。但是这也导致了备站得到的数据将滞后手主站。通过分析可知,数据同步时间为(11)其中,LD为同步数据量。它为PLC输出过程映像区、位地址区所有冗余数据块、定时器和计数器的背景数据块和非冗余数据块长度之和。N为1次数据传送量,与数据同步方式有关。如Profibus总线方式可在1.5Mbit/s传输速率下。每60ms传送240个字节数据。而西门子PLC自带的MPI方式只能在187.5Kbit/s传输速率下,每152ms传送76个字节数据。行为传送1次数据程序执行周期数,即(12)式中td为传送1次数据的时间,与数据同步方式有关;Tob35为定时中断间隔时间。为减小数据同步时间,应尽量减少同步数据量LD,选择较快的数据同步方式以增加1次数据传送量N和减少传送1次数据时间td。典型的中等规模PLC控制系统,数据同步时间可能超过ls。4、结论综上所述,PLC软冗余系统出现特定故障时,系统通过软件冗余主备切换机制,使备站在经过主备切换时间后接替主站保持系统继续T作,避免系统停止运行。主备切换完成后,备用系统以昀后一次完整的同步数据作为基础执行控制任务。PLC软冗余系统主备切换的功能,达到了提高可靠性、降低成本的目的。但是,由于主备切换时间较长,在主备切换过程中系统暂时失去了控制功能,故不适合实时性要求较高的控制场合。PLC软冗余系统比较适合应用于实时性要求较低的过程控制应用场合。
本文标题:软冗余和硬冗余的区别
链接地址:https://www.777doc.com/doc-3314954 .html