文档介绍:如何使用 S7-200CPU 的 PID 控制
第一部分、PID 控制
S7-200 能够进行 PID 控制。S7-200 CPU 最多可以支持 8 个 PID 控制回路(8 个 PID 指
令功能块)。
PID 是闭环控制系统的比例-积分-微分控制算法。
PID 控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照 PID 算法
计算出控制器的输出量,控制执行机构去影响被控对象的变化。
PID 控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈
跟随给定变化。
根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是 PI
(比例-积分)控制,这时没有微分控制部分。
PID 算法在 S7-200 中的实现
PID 控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID 也在计算机化
控制系统中实现。
为便于实现,S7-200 中的 PID 控制采用了迭代算法。详细的计算方法请参考《S7-200
系统手册》中 PID 指令部分的相关内容。
计算机化的 PID 控制算法有几个关键的参数 Kc(Gain,增益),Ti(积分时间常
数),Td(微分时间常数),Ts(采样时间)。
在 S7-200 中 PID 功能是通过 PID 指令功能块实现。通过定时(按照采样时间)执行
PID 功能块,按照 PID 运算规律,根据当时的给定、反馈、比例-积分-微分数据,
计算出控制量。
PID 功能块通过一个 PID 回路表交换数据,这个表是在 V 数据存储区中的开辟,长度
为 36 字节。因此每个 PID 功能块在调用时需要指定两个要素:PID 控制回路号,以及
控制回路表的起始地址(以 VB 表示)。
由于 PID 可以控制温度、压力等等许多对象,它们各自都是由工程量表示,因此有一
种通用的数据表示方法才能被 PID 功能块识别。S7-200 中的 PID 功能使用占调节范围
的百分比的方法抽象地表示被控对象的数值大小。在实际工程中,这个调节范围往往
被认为与被控对象(反馈)的测量范围(量程)一致。
1
PID 功能块只接受 - 之间的实数(实际上就是百分比)作为反馈、给定与控
制输出的有效数值,如果是直接使用 PID 功能块编程,必须保证数据在这个范围之
内,否则会出错。其他如增益、采样时间、积分时间、微分时间都是实数。
因此,必须把外围实际的物理量与 PID 功能块需要的(或者输出的)数据之间进行转
换。这就是所谓输入/输出的转换与标准化处理。《S7-200 系统手册》上有详细的介
绍。
S7-200 的编程软件 Micro/WIN 提供了 PID 指令向导,以方便地完成这些转换/
标准化处理。除此之外,PID 指令也同时会被自动调用。
调试 PID 控制器
PID 控制的效果就是看反馈(也就是控制对象)是否跟随设定值(给定),是否响应
快速、稳定,是否能够抑制闭环中的各种扰动而回复稳定。
要衡量 PID 参数是否合适,必须能够连续观察反馈对于给定变化的响应曲线;而实际
上 PID 的参数也是通过观察反馈波形而调试的。因此,没有能够观察反馈的连续变化
波形曲线的有效手段,就谈不上调试 PID 参数。
观察反馈量的连续波形,可以使用带慢扫描记忆功能的示波器(如数字示波器),波
形记录仪,或者在 PC 机上做的趋势曲线监控画面等。
新版编程软件 STEP 7 - Micro/WIN 内置了一个 PID 调试控制面板工具,具有
图形化的给定、反馈、调节器输出波形显示,可以用于手动调试 PID 参数。对于没有
“自整定 PID”功能的老版 CPU,也能实现 PID 手动调节。
PID 参数的取值,以及它们之间的配合,对 PID 控制是否稳定具有重要的意义。这些
主要参数是:
•采样时间:
计算机必须按照一定的时间间隔对反馈进行采样,才能进行 PID 控制的计算。采样时
间就是对反馈进行采样的间隔。短于采样时间间隔的信号变化是不能测量到的。过短
的采样时间没有必要,过长的采样间隔显然不能满足扰动变化比较快、或者速度响应
要求高的场合。
编程时指定的 PID 控制器采样时间必须与实际的采样时间一致。S7-200 中 PID 的采
样时间精度用定时中断来保证。
•增益(Gain,放大系数,比例常数)
增益与偏差(给定与反馈的差值)的乘积作为控制器输出中的比例部分。过大的增益
会造成反馈的振荡。
2
•积分时间(Integral Time)
偏差值恒定时,积分时间决定了控制器输出的变化速率。积分时间越短,偏差得到的