自动化网-工控人家园官网移动版

主页 > 工控品牌 > 西门子 >

s7-200系列PLC使用PID向导编程时PID自动/手动无扰切换

使用 PID 指令向导编程时,指令向导会自动调用 PID 指令,并且编写外围的控制变量标准化换算、定时采样等功能。用户在使用 PID 指令向导时,需要在用户程序中用 SM0.0 调用指令向导生成的子程序(如 PIDx_INIT 子程序)。PID 向导可以生成带自动/手动切换功能的子程序,这个子程序使用一个数字量点为“1”、“0”的状态来控制是否投入 PID 自动控制。
 
  到目前为止(STEP 7-Micro/WIN V4.0 SP5),使用 PID 向导生成的子程序时,由于用户程序不能直接使用 PID 指令,它的无扰切换能力因为隔了外壳子程序,所以受到了局限。如果对无扰切换要求比较严格,需要另外编一些程序加以处理。
 
  考察如下 PID 控制子程序。  

图 1. PID 向导生成的指令
 
  图中:
  a.过程反馈量
  b.设定值,实数
  c.自动/手动控制,“1”=自动,“0”=手动
  d.手动控制输出值,0.0 - 1.0 之间的一个实数
  e.PID 控制输出值
  要实现无扰动切换,必须:
  .在从自动向手动切换时,使手动输出值(VD2004)等于当前的实际控制输出值;
  .在从手动向自动切换使,使设定值相当于当前的过程反馈值。
  为此,可编写类似下图所示的程序,放在 PID 控制子程序之前:  无扰切换处理程序

图 2. 无扰切换处理程序  图中:
  a.自动/手动切换控制点
  b.从自动向手动切换时,使手动输出值等于实际当前值
  c.从手动向自动切换时,把当前反馈量换算为相应的给定值
  上述程序中的 Scale_I_to_R 就是量程变换指令库中的子程序。这是为了解决过程反馈与设定值之间的换算问题。用户也可以自己编程换算,或者根据反馈与给定的取值范围决定是否需要换算。
  此段程序适用于 STEP 7-Micro/WIN V4.0 SP5 及以前版本,仅供参考,如果在实际项目中使用,上述程序未必一定适用。用户需要根据实际工艺决定自己的编程思路。 
(责任编辑:admin)