7
西门子模块6ES7331-7NF00-0AB0支持验货
因为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是长的。
(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所占比重大,其余时问经测量均约为1 ms。如果要减小主备切换时间,减小tE、t,和k。要减小tE就要减少ET200M从站数量,即在满足要求的情况下减少I/0数量。减少t。的方法是选择主站与备站之间较快的数据同步通信方式。如Profibus总线方式比西门子PLC自带的MPI方式能在较短的时间内发送多个字节数据。但种方式需要另外配置通信模块。k为PLC循环扫描周期,与用户程序长度有关。典型的中等规模的PLC控制系统,经计算主备切换时间的限值范围约为150---500 ms。
3、数据同步时间分析
在PLC软冗余系统中,要使主系统发生故障时,备系统接替主系统继续工作,则系统在正常运行时,主控制器把需要同步的数据发送给备控制器,从而当故障发生时能够实现无扰切换。
数据同步时间是指系统正常运行时,主站将同步数据发送至备站所需时间。西门子软冗余系统的数据同步是根据数据量的大小通过定时中断方式分多次进行,单次同步的数据量相同。主CPU在同步开始时将所有需要同步的数据保存起来,然后每次发送相同长度的数据块到备CPU。备CPU每接收到一个数据块就将其分配到对应的地址空间中去。这种方式将时间平均分配到了各个执行周期,避免了单次发送所有数据消耗过多时间。但是这也导致了备站得到的数据将滞后手主站。
通过分析可知,数据同步时间为
(11)
其中,LD为同步数据量。它为PLC输出过程映像区、位地址区所有冗余数据块、定时器和计数器的背景数据块和非冗余数据块长度之和。N为1次数据传送量,与数据同步方式有关。如Profibus总线方式可在1.5 Mbit/s传输速率下。每60 ms传送240个字节数据。而西门子PLC自带的MPI方式只能在187.5 Kbit/s传输速率下,每152 ms传送76个字节数据。行为传送1次数据程序执行周期数,即
(12)
式中td为传送1次数据的时间,与数据同步方式有关;Tob35为定时中断间隔时间。
为减小数据同步时间,应尽量减少同步数据量LD,选择较快的数据同步方式以增加1次数据传送量N和减少传送1次数据时间td。典型的中等规模PLC控制系统,数据同步时间可能过l s。
4、结论
综上所述,PLC软冗余系统出现特定故障时,系统通过软件冗余主备切换机制,使备站在经过主备切换时间后接替主站保持系统继续T作,避免系统停止运行。主备切换完成后,备用系统以后一次完整的同步数据作为基础执行控制任务。PLC软冗余系统主备切换的功能,达到了提高性、降的目的。
但是,由于主备切换时间较长,在主备切换过程中系统暂时失去了控制功能,故不适合实时性要求较高的控制场合。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为数据接收完毕到备站切换成主站的时间间隔。



4 微分PID控制器的PLC实现
4.1 PLC的工作原理及结构
PLC采用循环扫描T作方式,这个工作过程一般包括5个阶段:内部处理、与编程器的通信处理、输入扫描、执行用户程序、输出处理,其丁作过程如图8所示。图8中当PI上方式开关置于RUN(运行)时,执行所有阶段;当开关方式置于STOP(停止)时,不执行后3个阶段,此时可进行通信处理,如对PLC连机或离线编程。
图8 PLC工作原理图
PLC基本硬件结构与一般计算机几乎一样,主要由处理单元(CPU)、存储器(ROM/RAM)、输入/输出单元(I/O)、电源以及外部设备(如编程器)等几大部分组成。其基本结构如图9所示。
图9 PLC基本结构框图
PLC的软件含系统软件和用户程序。系统软件由PLC制造商同化在机内,用以控制可编程控制器本身运作;用户程序由可编程控制器的使用者编制并输入,用于控制外部对象运行。PLC有5种编程语言,即顺序功能图、梯形图、功能块图、指令表和结构文本。其中,较为常用的是梯形图、指令表和顺序功能流程图。而梯形图编程语言为直观易懂,简单方便,符合广大电气工程技术人员的使用习惯,冈此大多数厂家PLC的编程语言都采用梯形图语言。
这里。采用S7-200作为主控模块,EM231作为输入模块,EM232作为输出模块,则各控制参数地址分配如表1所示。
表1 S7-200 PID指令参数区地址分配
4.2 初始化PID参数
利用设定的KP=0.42,K1=0.0092,KD=34这组参数,先确定采样周期丁,再计算出τ1和τD,然后进行PID各参数在S7-200 PLC程序上的嵌入。西门子PLC提供有专门的PID控制模块,可以直接应用。下面进行相应的参数计算。
对温度控制系统,一般采样周期T=10~20 s,这里取T=10 s。则根据PID算法的表达式:
将上式离散化后,有:
可知:KP=0.42,K1=KPT/τ1=0.0092,KD=KPτD/T=34。计算可得:τ1=456 S=7.6 min,τD=809 s=13.5 min。
计算出相应参数之后,即可进行初始化PID参数,过程如下:
取设定值为满值的80%,存入VD 204中;KP=0.42,存入VD 212中;T=10 s,存入VD 216中;τ1=7.6 min。存入VD 220中;τD=13.5 min,存入VD 224中;定时中断时间t1=100 ms,存入SMB 34中。
4.3 主汽温微分PID控制器的程序实现
采用S7-200的3个PID同路实现对主汽温的串级微分控制。其中,回路1实现比例积分运算,回路2实现前微分运算,回路3实现比例运算。回路1和回路2构成了主汽温串级控制的主回路,回路3构成了主汽温串级控制的副回路。在调用PID回路之前,都要行数据的归一化处理。调用之后,还要进行逆归一化处理J81。其程序结构流程图如图10和图11所示。
图10 前微分控制程序结构图
图12 主控制环节程序结构图
由于副回路只采用比例控制,其结构比较简单,在这里不再叙述。
5 结 语
针对火力发电机组锅炉主汽温控制对象的非线性、多变量、多扰动、大滞后等特性,将基本PID控制器、微分PID控制器和模糊PID控制器应用于锅炉主汽温控制系统,并分别进行了研究。结果表明,微分PID控制器缩短了滞后时间,减小了调量,其控制性能和动态特性与模糊PID控制器相一致。与基本PID控制器相比,具有好的控制性能和动态特性。此外,微分PID控制器与模糊PID控制器相比,具有简单的硬件结构和高的性。同时,给出了基于PLC的程序设计。因此,基于PLC硬件设施的微分PID控制策略。对实现火力发电机组主蒸汽温度的控制有着重要的实用。