
S7-200能够进行PID控制。S7-200CPU最多可以支持8个PID控制回路(8个PID指令功能块)。PID是闭环控制系统的比例-积分-微分控制算法。根据具体项目的控制要求,在实际应用中有可能用到......
S7-200能够进行PID控制。S7-200CPU最多可以支持8个PID控制回路(8个PID指令功能块)。
PID是闭环控制系统的比例-积分-微分控制算法。
根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。
1、PID算法在S7-200中的实现
PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。
计算机化的PID控制算法有几个关键的参数:
●Kc:Gain,增益
●Ti:积分时间常数
●Td:微分时间常数
●Ts:采样时间
PID功能块通过一个PID回路表交换数据,这个表是在V数据存储区中的开辟,长度为36字节。因此每个PID功能块在调用时需要指定两个要素:PID控制回路号,以及控制回路表的起始地址(以VB表示)。
因此,必须把外围实际的物理量与PID功能块需要的(或者输出的)数据之间进行转换。这就是所谓输入/输出的转换与标准化处理。《S7-200系统手册》上有详细的介绍。
S7-200的编程软件Micro/WIN提供了PID指令向导,以方便地完成这些转换/标准化处理。除此之外,PID指令也同时会被自动调用。
1.1调试PID控制器
PID参数的取值,以及它们之间的配合,对PID控制是否稳定具有重要的意义。这些主要参数是:
●采样时间:
编程时指定的PID控制器采样时间必须与实际的采样时间一致。S7-200中PID的采样时间精度用定时中断来保证。
●增益(Gain,放大系数,比例常数)
●积分时间(IntegralTime)
偏差值恒定时,积分时间决定了控制器输出的变化速率。积分时间越短,偏差得到的修正越快。过短的积分时间有可能造成不稳定。积分时间的长度相当于在阶跃给定下,增益为“1”的时候,输出的变化量与偏差值相等所需要的时间,也就是输出变化到二倍于初始阶跃偏差的时间。如果将积分时间设为最大值,则相当于没有积分作用。
●微分时间(DerivativeTime)
1.2常见问题
1.对于某个具体的PID控制项目,是否可能事先得知比较合适的参数?有没有相关的经验数据?
虽然有理论上计算PID参数的方法,但由于闭环调节的影响因素很多而不能全部在数学上精确地描述,计算出的数值往往没有什么实际意义。因此,除了实际调试获得参数外,没有什么可用的经验参数值存在。甚至对于两套看似一样的系统,都可能通过实际调试得到完全不同的参数值。
2.PID控制不稳定怎么办?如何调试PID?
闭环系统的调试,首先应当做开环测试。所谓开环,就是在PID调节器不投入工作的时候,观察:
●输出通道是否动作正常
总之,PID参数的调试是一个综合的、互相影响的过程,实际调试过程中的多次尝试是非常重要的步骤,也是必须的。
S7-200的新一代产品提供了自整定的PID细调功能。
4.如何实现PID反作用调节?
参见PID向导中的常问问题。
5.S7-200控制变频器,在变频器也有PID控制功能时,应当使用谁的PID功能?可以根据具体情况使用。一般来说,如果需要控制的变量直接与变频器直接有关,比
如变频水泵控制水压等,可以优先考虑使用变频器的PID功能。
6、《S7-200系统手册》上的附录“用S7-200实现PID控制”的例子,是否可以直接使用?《S7-200系统手册》中的附录H在英文原版中并不存在。的PID例子是在第一代产品还不支持PID运算指令时的产物。现在用户可以使用PID指令块,或者PIDWizard(PID向导)编辑PID控制程序。
1.3PIDWizard-PID向导
Micro/WIN提供了PIDWizard(PID指令向导),可以帮助用户方便地生成一个闭环控制过程的PID算法。此向导可以完成绝大多数PID运算的自动编程,用户只需在主程序中调用PID向导生成的子程序,就可以完成PID控制任务。
PID向导既可以生成模拟量输出PID控制算法,也支持开关量输出;既支持连续自动调节,也支持手动参与控制。建议用户使用此向导对PID编程,以避免不必要的错误。如果用户不能确定中文编程界面的语义,我们建议用户使用英文版本的Micro/WIN,以免对向导中相关概念发生误解。
建议用户使用较新的编程软件版本。在新版本中的PID向导获得了改善。
1.4PID向导编程步骤
在Micro/WIN中的命令菜单中选择ToolsInstructionWizard,然后在指令