您现在的位置是:首页 > PLC技术 > PLC技术

脉冲发生器FB 43的三级控制器仿真程序

来源:艾特贸易2017-12-28

简介例程“ PID_FB43 ”中的闭环控制系统由 PID 连续控制器 FB 41 、脉冲发生器 FB 43 、模拟电动调节阀的双向积分器和模拟被控对象的 FB 100 组成(见图 10-34 )。 图 10-34 三级控制器闭环仿真系

    例程“PID_FB43”中的闭环控制系统由PID连续控制器FB 41、脉冲发生器FB 43、模拟电动调节阀的双向积分器和模拟被控对象的FB 100组成(见图10-34)。

三级控制器闭环仿真系统的结构

    10-34    三级控制器闭环仿真系统的结构

    电动调节阀是典型的积分型执行机构,它的两个开关量输入脉冲信号用来控制电动阀的伺服电动机的正转和反转,使调节阀的开度(即阀门阀芯的位置)增大或减小。

   (1) OB1OB100

    与项目“PID控制”相同,OB1中的T8T9组成振荡电路(见图10-18),产生方波给定信号。设定值SP_INT的幅度为20.0%70.0%,周期为80s。具体的程序见随书光盘中的项目“PID_FB43”。

    OB100中调用FB 100FB 41FB 43,完成了下列操作:

   1)令各FB的启动标志COM_RSTTRUE,将它们的内部参数复位为默认值。

   2)设置FB 41FB 100的采样周期CYCLEFB 43PER_TM周期为500 ms

    3)设置被控对象( FB100)的增益和时间常数,被控对象的传递函数为3/[(3s+1)(s+1)]

   4)设置PID控制器的参数GAINTITD的初始值。控制器输出下限值为-100.0%,上限值为默认的100.0%

   5)设置FB 43的采样时间CYCLE和最小脉冲时间P_B_TM均为20 ms,比率系数RACIOFAC1.0STEP3_ONTURE(三级控制器)。

   6)在退出OB100之前,将3FB的启动标志位COM_RST复位。

   (2) OB35中的程序

    在硬件组态工具中设置OB35的循环执行周期为20 ms。每20 ms调用一次OB35,将“中断计数器”MW101,中断次数小于25时跳转到程序段5的标号m001处,执行一次FB 43和模拟电动调节阀的双向积分器程序。

    经过500 ms后,中断次数等于25,不再跳转,“中断计数器”被清零。此时除了执行FB 43,还要执行程序段24中的FB 100FB 41。调用FB 41的程序与项目“PID控制”的基本上相同,其区别在于控制器的输出不是直接送给被控对象FB 100,而是送给FB 43的输入变量INVFB 43分别用Q1.0Q1.1输出开阀的正脉冲和关阀的负脉冲。程序段6用数字双向积分器来模拟电动调节阀,积分器的输出值为被控对象的输入信号INV(见图10-34)。如果Q1.0Q1.1均为0,数字双向积分器的输出值不变。

    假设连续开阀时(FB 43的输入INV恒为100%),从全关到全开需要10s,平均每20 ms阀门开度变化量为0.2%。因此在Q1.01时将积分器的输出加0.2;在Q1.11时将积分器的输出减0.2。下面是OB35的程序。

    程序段1

   L    “中断计数器”

   +    1

   T    “中断计数器”    //中断次数计数器MW101

   L    25

   >=I

   JCN  m001    //中断次数小于25(500 ms)时跳转

    程序段2:调用被控对象仿真程序FB100,每500 ms执行一次程序段2~4

   L    0

   T    “中断计数器”

   CALL  “过程对象”,”过程对象DI    //调用FB 100

   INV    =    //程序段6令积分器的输出值作为被控对象的

    //输入值INV

   DISV    =    //扰动量,初始值为0.0

   GAIN    =    //比例系数,初始值为3.0

   TM_LAG1  =    //时间常数1,初始值为3s

   TM_LAG2  =    //时间常数2,初始值为1 s

   TM_LAG3  =    //时间常数3,初始值为0s

   COM_RST  =    //启动标志,在OB100被复位

   CYCLE    =    //采样周期,初始值为T#500MS

   OUTV    =PID_DI”.PV_IN    //被控对象输出,作为PID控制器的反馈值

    程序段3:计算微分操作的延迟时间,TM_LAG=TD/5

   L    PID_DI”.TD

   L    5. 000000e+ 000

   /R

   T    PID_DI”.TM_LAG

    程序段4:调用连续PID控制器FB 41,见例程“PID控制”

   CALL  ”CONT_C”,”PID_DI”

    程序段5:每20 ms中断时调用一次FB 43

   m001CALL  PULSEGEN”,“脉冲_DI    //调用FB 43

   INV    =PID_DI”.LMN    //来自FB 41PID浮点数输出

   PER_TM    .=    //周期时间,默认值为500 ms

   P_B_TM    .=    //最小脉冲时间,初始值为20 ms

   RATIOFAC  =    //比率系数,初始值为1.0

   STEP3_ON  .=    //初始值为TRUE,三级控制器

   ST2BI_ON  .=    //默认值为FALSE,不是二级控制器

   MAN_ON  =    //默认值为FALSE,自动模式

   POS_P_ON  =    //手动模式的正脉冲输入

   NEG_P_ON=    //手动模式的负脉冲输入

   SYN_ON    .=    //同步打开,默认值为TRUE

   COM_RST  .=    //启动标志,在OB100被复位

   CYCLE    =    //采样时间,初始值为20ms

   QPOS_P    =Q1.0    //开阀输出信号

   QNEG_P    =Q1.1    //关阀输出信号

    程序段6:用于模拟电动调节阀的双向积分器

   A    Q    1.0

   JCN    002

   L    “对象DI”.INV    //Q1.01则被控对象的输入INV0.2%

   L    2. 000000e - 001

   +R

   T    “对象DI.INV

    _002A    Q   1.1

   JCN    003

   L    “对象DI”.INV    //Q1.11则被控对象的输入INV0.2%

   L  2. 000000e - 001

   -R

   T    “对象DI”.INV

   003NOP  0

    10-35是经过反复调试后得到的较好的响应曲线,PID参数如下:比例系数为0.3,积分时间为20 s,微分时间为4sFB 43的脉冲输出周期为500ms

三级PID控制器响应曲线

    10-35    三级PID控制器响应曲线

(部分原创文章应编辑稿费需求,每篇需要收取2元的稿费,如需查看全文请联系客服索取,谢谢理解!在线客服:艾特贸易网客服为您服务