分享

S7-200SMART与PID的应用(二)

 金玉满堂jjnla8 2020-02-07

  五、程序编写

利用PID向导编写程序、使温度保持在给定值,并对PID参数进行整定

六、下载并调试

下载操作在这不做阐述

1、调试说明:

(1) 比例增益:提高调节速度,减小误差,但不能消除稳态误差;

参考方法可由小到大单独调节

(2)积分作用:消除稳态误差,使系统的动态相应的变慢,积分过大会影响系统的稳定性。调节参考方法:将调节好的比例系数调整到50%--80%;由大到小,增加积分影响

(3)微分作用:超前控制,减少调节时间,对干扰有放大作用

调节方法参考:由小到大单独调节,并相应调整比例和积分,追求调节偏差的变化率

(4)PID调节方法:先将积分和微分关闭,先调比例,在比例差不多时加上积分,一般情况,比例值越大输出结果越快;积分越大,输出结果越慢;微分在调节温控时使用,一般情况可不用

 2、可通过状态图表监控并修改给定值、手自动状态、PWM输出设置等。

     但也可通过PID控制面板进行调试,如下图所示:

1、给定值和过程值共用图形左侧的纵轴,输出使用图形右侧的纵轴

2、采样时间是PID控制回路对反馈采样和重新计算输出值的时间间隔(在PID向导配置中更改)

3、速率:设置图形显示区所有显示值的采样更新速率时间

4、调节参数:增益、积分和微分的当前值

5、如果选择启用手动调节,可在计算值中修改PID参数

 6、在自动模式下,单击“启动”按钮,启动自整定,自整定完成后,单击“更新”按钮,可把参数写进CPU中

7、单击“选项”可进入自整定参数设置(如下图)

七、PID常见问题

1、 PID向导生成的程序为何不执行?

     确保用SM0.0无条件调用PID0_CTRL库

在程序的其它部分不要再使用SMB34定时中断,也不要对SMB34赋值

确认当前工作状态:手动还是自动

2、如何实现PID反作用调节?

     在有些控制中需要PID反作用调节。例如:在夏天控制空调制冷时,若反馈温度(过程值)低于设定温度,需要关阀,减小输出控制(减少冷水流量等)这就是PID反作用调节(在PID正作用中若过程值小于设定值,则需要增大输出控制)

若想实现PID反作用调节,需要把PID回路的增益设为负数。对于增益为0的积分或微分控制来说,如果指定积分时间、微分时间为负值,则是反作用回路。

3、 如何根据工艺要求有选择地投入PID功能?

      可使用'手动/自动'切换的功能。PID向导生成的PID功能块需要保证每个扫描周期都调用,所以在主程序内使用SM0.0调用。

4、 PID控制不稳定怎么办?如何调试PID?

      闭环系统的调试,首先应当做开环测试。所谓开环,就是在PID调节器不投入工作的时候,观察:(1)反馈通道的信号是否稳定(2)输出通道是否动作正常

       可以试着给出一些比较保守的PID参数,比如放大倍数(增益)不要太大,可以小于1,积分时间不要太短,以免引起振荡。在这个基础上,可以直接投入运行观察反馈的波形变化。给出一个阶跃给定,观察系统的响应是最好的方法。

       如果反馈达到给定值之后,历经多次振荡才能稳定或者根本不稳定,应该考虑是否增益过大、积分时间过短;如果反馈迟迟不能跟随给定,上升速度很慢,应该考虑是否增益过小、积分时间过长……PID参数的调试是一个综合的、互相影响的过程,实际调试过程中的多次尝试是非常重要的步骤。 

5、没有采用积分控制时,为何反馈达不到给定?

     因为积分控制的作用在于消除纯比例调节系统固有的“静差”。没有积分控制的比例控制系统中,没有偏差就没有输出量,没有输出就不能维持反馈值与给定值相等。所以永远不能做到没有偏差。

6、S7-200 SMART控制变频器,在变频器也有PID控制功能时,应当使用谁的PID功能?

      可以根据具体情况使用。一般来说,如果需要控制的变量直接与变频器直接有关,比如变频水泵控制水压等,可以优先考虑使用变频器的PID功能。

7、指令块与向导使用的PID回路号是否可以重复?

不可以重复,使用PID向导时,对应回路的指令块也会调用,所以指令块与向导使用的PID回路号不能重复,否则会产生预想不到的结果。

8、同一个程序里既使用PID指令块又使用向导,PID数目怎样计算?

使用PID向导时,对应回路的指令块也会调用,所以PID指令块与向导一共支持8个。

9、PID指令块可以在主程序/子程序里调用吗?

     可以,但是不推荐,主程序/子程序的循环时间每个周期都可能不同,不能保证精确的采样,建议用定时中断,例如SMB34/SMB35。

10、SMB34定时最大255ms,如果采样时间是1S怎样实现?

     采样时间是1S,要求PID指令块每隔1S调用一次。可以先做一个250ms的定时中断,然后编程累加判断每4次中断执行一次PID指令即可。

11、 PID指令块怎样实现手动调节?

      可以简单地使用'调用/不调用'指令的方式控制自动/手动模式。不调用PID指令时,可以手动给输出地址0.0-1.0之间的实数。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多