登录|注册|收藏精一控|在线留言|网站地图

您好!欢迎来到精一控官网!

精一控自动化10年专注-专业的自动化解决方案提供商10 years automation professional solution provider

全国咨询热线

13790148398

热门搜索关键词:

PLC编程
当前位置:首页 » 技术支持 » 中山PLC编程程序控制|PID 自动/手动调节的无扰动切换

中山PLC编程程序控制|PID 自动/手动调节的无扰动切换

字号:T|T
文章出处:网责任编辑:作者:人气:-发表时间:2015-01-22 08:57:00

 中山PLC编程程序控制|PID 自动/手动调节的无扰动切换

有些工程plc编程项目中可能需要根据工艺要求在不同的时刻投入、或者退出 PID 自动控制;

 

退出 PID 自动控制时,西门子plc控制器的输出部分可以由操作人员直接手动控制。这就是所谓的 PID 手动/自动切换。

 

PID 控制处于自动方式时,PID 控制器(S7-200 中的 PID 调节功能)会按照 PID 算法,自动通过输出的作用使过程反馈值跟随给定值变化,并保持稳定。

 

这是一个自动的闭环控制系统。操作人员可以根据现场工艺的要求,改变给定(即设定值)的值。

 

PID 控制处于手动方式时,PID 控制器不再起自动计算的作用。

 

这时,控制回路的输出是由操作人员手动控制、调整,由操作人员观察现场的控制效果,从而构成人工闭环控制。

 

 所谓 PID 自动/手动控制,就是看控制系统的输出是由 PID 控制器自动控制,还是由操作人员手动控制。

 

有些控制系统的执行机构不能承受较大的冲击,这就要求在进行 PID 自动/手动切换时,保持控制输出的稳定。这就是要求无扰动切换。

 

为了达到 PID 自动/手动控制的无扰动切换,需要在编程时注意一些相关事项。下面分别就直接使用 PID 指令编程,和使用 PID 向导编程两种情况作一介绍。

 

 

西门子s7-200

 

直接使用 PID 指令编程时的 PID 自动/手动无扰切换

 

直接使用 PID 指令块编写 PID 控制plc程序时,可以简单地使用“调用/不调用”指令的方式plc控制自动/手动模式。

 

因为 PID 指令本身已经具有实现无扰动切换的能力,此时在 PID 指令控制环节之外编程没有多大必要。

 

PID 指令的 EN 输入端使能(为“1”)时,我们认为是自动控制模式;EN 输入端未使能(为“0”)时,我们认为是手动plc控制模式。

 

PID 指令本身有一个“能流历史状态位”,以记录指令的状态切换。在 EN 端从“0”变为”“1”时,PID 指令认为这是从“手动”模式向“自动”模式切换。

 

PID 指令此时会自动执行一系列动作,以配合无扰动切换:

 

  • 使设定值( SPn) = 当前过程反馈变量(PVn)
     
  • 设置上次采样过程变量(PVn-1) = 当前过程反馈变量(PVn)
     
  • 设置积分偏差和(或所谓积分前项)(Mx) = 当前输出值(Mn)
     

使设定值等于当前反馈值可以避免出现偏差,使之不存在调整的要求;当然如果有工艺要求,也可以后续调整设定值。

 

其他的动作都是为了使 PID 在后续的操作中不改变输出的值。

 PLC编程程序

 

 

PLC编程时要注意:

  • 从自动模式向手动模式切换时,PID 指令的 EN 端不再有能流,计算停止,输出值 Mn 不再变化。

    此时如果需要操作人员人工观察控制的结果,手动控制输出量,就可以通过用户程序直接改变回路表中的输出值存储单元内容(见数据块或系统手册的相关部分内容)。

    如果有必要,操作人员的操作可能要进行一些标准化换算。
     
  • 为保证从手动模式向自动模式的切换无扰动,需要在手动控制时,或在切换过程中,

    禁止对 PID 回路表中设定值的更新,以便切换时 PID 指令用当前过程反馈值替代设定值。切换完成后,操作人员可以调整设定值。

 

使用 PID 向导编程时的 PID 自动/手动无扰切换

 

使用 PID 指令向导编程时,指令向导会自动调用 PID 指令,并且编写外围的控制变量标准化换算、定时采样等功能。

 

用户在使用 PID 指令向导时,需要在用户plc程序中用 SM0.0 调用指令向导生成的子程序(如 PIDx_INIT 子程序)。

 

PID 向导可以生成带自动/手动切换功能的子程序,这个子程序使用一个数字量点为“1”、“0”的状态来控制是否投入 PID 自动控制。

 

 到目前为止(STEP 7-Micro/WIN V4.0 SP5),使用 PID 向导生成的子程序时,由于用户程序不能直接使用 PID 指令,

 

它的无扰切换能力因为隔了外壳子程序,所以受到了局限。如果对无扰切换要求比较严格,需要另外编一些程序加以处理。

 

考察如下 PID 控制子程序。


 PID 向导生成的指令

图中:

  1. 过程反馈量
     
  2. 设定值,实数
     
  3. 自动/手动控制,“1”=自动,“0”=手动
     
  4. 手动控制输出值,0.0 - 1.0 之间的一个实数
     
  5. PID 控制输出值
     

要实现无扰动切换,必须:
 

  • 在从自动向手动切换时,使手动输出值(VD2004)等于当前的实际控制输出值;
     
  • 在从手动向自动切换使,使设定值相当于当前的过程反馈值。
     

为此,可编写类似下图所示的程序,放在 PID 控制子程序之前:


 无扰切换处理程序

图中:
 

  1. 自动/手动切换控制点
     
  2. 从自动向手动切换时,使手动输出值等于实际当前值
     
  3. 从手动向自动切换时,把当前反馈量换算为相应的给定值
     

 上述程序中的 Scale_I_to_R 就是量程变换指令库中的子程序。这是为了解决过程反馈与设定值之间的换算问题。

用户也可以自己编程换算,或者根据反馈与给定的取值范围决定是否需要换算。
 

 此段plc程序适用于 STEP 7-Micro/WIN V4.0 SP5 及以前版本,仅供参考,如果在实际项目中使用,上述plc程序未必一定适用。用户需要根据实际工艺决定自己的西门子plc编程思路。

排行榜

1信捷PLC XC2-14R/T/RT-E/C
2西门子PLC-CPU222 晶体管
3威纶触摸屏MT6070iH
4三菱PLC FX2N-64MT-001
5西门子smart200模拟量4输入2输出
6三菱PLC FX1S-30MT-001

同类文章排行

最新资讯文章

您的浏览历史

    正在加载...