观看S7-200程序指令 PID视频:
PID 回路指令(比例、积分、微分回路)用于执行 PID 计算。
逻辑堆栈栈顶 (TOS) 值必 须为 1(能流),才能启用 PID 计算。
该指令有两个操作数: 作为回路表起始地址的表 地址和取值范围为常数 0 到 7 的回路编号。
可以在程序中使用八条 PID 指令。 如果两条或两条以上的 PID 指令使用同一回路编号 (即使它们的表地址不同),这些 PID 计算会互相干扰,输出不可预料。 回路表存储九个用于监控回路运算的参数,这些参数中包含过程变量当前值和先前值、设 定值、输出、增益、采样时间、积分时间(复位)、微分时间(速率)以及积分和(偏 置)。
要在所需采样速率下执行 PID 计算,必须在定时中断例程或主程序中以受定时器控制的 速率执行 PID 指令。 必须通过回路表提供采样时间作为 PID 指令的输入。
PID 指令已集成自整定功能。 有关自整定的详细说明,请参见“PID 回路和整定” (页 503)。
“PID 整定控制面板” (页 512)只能用于通过 PID 向导创建的 PID 回路。 STEP 7-Micro/WIN SMART 提供 PID 向导,指导您为闭环控制过程定义 PID 算法。 从 “工具”(Tools) 菜单中选择“指令向导”(Instruction Wizard) 命令,然后从“指令向 导”(Instruction Wizard) 窗口中选择“PID”。
说明 上限设定值和下限设定值应与过程变量的上下限对应。
使用 PID 向导
使用 PID 向导组态 PID 回路
说明 在此对话框中选择要组态的回 路。 多可组态 8 个回
路。 在此对话框上选择回路时,PID 向导左侧的树视图随组态该回路 所需的所有节点一起更新。
可为回路组态自定义名称。 此部 分的默认名称是“回路 x”,其中“x” 等于回路编号。
说明 设置下列回路参数: • 增益(默认值 = 1.00) • 采样时间(默认值 = 1.00) • 积分时间(默认值 = 10.00) • 微分时间(默认值 = 0.00)
指定回路过程变量 (PV) 如何标 定。 可以从以下选项中选择: • 单极性(默认值: 0 到 27648;可编辑) • 双极性(默认值: -27648 到 27648;可编辑) • 单极性 20% 偏移量(范围: 5530 到 27648;已设定,不 可变更) • 温度 x 10 °C • 温度 x 10 °F 在“标定”(Scaling) 参数中,指定 回路设定值 (SP) 如何标定。 默 认值是 0.0 和 100.0 之间的一个 实数。
说明 输入回路输出选项: • 回路输出如何标定: – 模拟量 – 数字量 • 模拟标定参数: – 单极性(默认值: 0 到 27648;可编辑) – 双极性(默认值: -27648 到 24678;可编辑) – 单极性 20% 偏移量(范围: 5530 到 27648;已设定,不 可变更) • 模拟量范围参数: 指定回路输 出范围。 可能的范围为 - 27648 到 +27648,具体取决 于标定选择。 可指定通过报警
输入识别的条 件。 根据需要使用复选框启用警 报: • 报警下限 (PV): 设置 0.0 到 报警上限之间的标准化报警下 限;默认值是 0.10。 • 报警上限 (PV): 设置报警下 限到 1.00 之间的标准化报警 上限,默认值是 0.90。 • 模拟量输入错误: 指定将输入 模块连接到 PLC 的位置。
说明 可进行以下代码选择: • 子例程: PID 向导创建用于初 始化所选 PID 组态的子例程。 • 中断: PID 向导创建用于 PID 回路执行的中断例程。 注: 向导为子例程和中断例程指 定了默认名称;您可编辑该默认 名称。 • 手动控制: 使用“添加 PID 的 手动控制”(Add Manual Control of the PID) 复选框以 允许手动控制 PID 回路。
说明 可指定数据块中放置组态的 V 存 储器字节的起始地址。 向导可建 议一个表示大小正确且未使用的 V 存储器块的地址。
该屏幕显示 PID 向导生成的子例 程和中断例程列表,并对如何将 它们集成到您的程序中进行简要 说明
STEP 7-Micro/WIN SMART 中包含 PID 整定控制面板 (页 512),允许您以图形方式监视 PID 回路。 此外,控制面板还可用于启动自整定序列、中止序列以及应用建议的整定值 或您自己的整定值。
PID 算法
在稳态运行中,PID 控制器调节输出值,使偏差 (e) 为零。 偏差是设定值 (SP)(所需工 作点)与过程变量 (PV)(实际工作点)之差。 PID 控制的原理基于以下方程,输出 M(t) 是比例项、积分项和微分项的函数: 输出 = 比例项 + 积分项 + 微分项 M(t) = KC * e + KC ∫0t e dt + Minitial + KC * de/dt 其中: M(t) 回路输出(时间的函数) KC 回路增益 e 回路偏差(设定值与过程变量之差) Minitial 回路输出的初始值 要在数字计算机中执行该控制函数,必须将连续函数量化为偏差值的周期采样,并随后计 算输出。 数字计算机进行处理采用的相应方程如下: 输出 = 比例项 + 积分项 + 微分项 Mn = Kc * en + KI * ∑1nex + Minitial + KD * (en - en-1) 其中: Mn 采样时间 n 时的回路输出计算值 Kc 回路增益 en 采样时间 n 时的回路偏差值 en-1 前一回路偏差值(采样时间 n - 1 时) KI 积分项的比例常数 M initial 回路输出的初始值 KD 微分项的比例常数 从该公式中可以看出,积分项是从第 1 次采样到当前采样所有偏差项的函数。 微分项是 当前采样和前一次采样的函数,而比例项仅是当前采样的函数。 在数字计算机中,保存 偏差项的所有样本既不实际,也没有必要。
因为从个样本开始,每次对偏差进行采样时数字计算机都必须计算输出值,因此仅需 存储前一偏差值和前一积分项值。 由于数字计算机解决方案具有重复特性,因此可以简 化在任何采样时间都需计算的方程。 简化后的方程如下: 输出 = 比例项 + 积分项 + 微分项 Mn = KC * en + KI * en + MX + KD * (en - en-1) 其中: Mn 采样时间 n 时的回路输出计算值 Kc 回路增益 en 采样时间 n 时的回路偏差值 en-1 前一回路偏差值(采样时间 n - 1 时) KI 积分项的比例常数 MX 前一积分项的值(采样时间 n - 1 时) KD 微分项的比例常数 CPU 使用以上简化方程的改进方程计算回路输出值。 改进的方程如下: 输出 = 比例项 + 积分项 + 微分项 Mn = MPn + MIn + MDn 其中: Mn 采样时间 n 时的回路输出计算值 MPn 采样时间 n 时回路输出的比例项值 MIn 采样时间 n 时回路输出的积分项值 MDn 采样时间 n 时回路输出的微分项值
理解 PID 方程的元素
PID 方程的比例项:
比例项 MP 是增益 (KC) 与偏差 (e) 的乘积,其中,增益控制输出计 算的灵敏度,偏差是给定采样时间时的设定值 (SP) 与过程变量 (PV) 之差。 CPU 求解比 例项所采用的方程如下: MPn = KC * (SPn - PVn) 其中: MPn 采样时间 n 时回路输出的比例项值 KC 回路增益 SPn 采样时间 n 时的设定值 PVn 采样时间 n 时的过程变量值 PID 方程的积分项: 积分项 MI 与一段时间内的偏差之和 (e) 成比例。 CPU 求解积分项 所采用的方程如下: MIn = K1 en + MX = KC * (TS / TI) * (SPn - PVn) + MX 其中: MIn 采样时间 n 时回路输出的积分项值 KC 回路增益 TS 回路采样时间 TI 积分时间(也称为积分时间或复位) SPn 采样时间 n 时的设定值 PVn 采样时间 n 时的过程变量值 MX 采样时间 n-1 时的积分项值(也称为积分和或偏置) 积分和或偏置 (MX) 是积分项的所有先前值之和。 每次计算 MIn 之后,都会使用 MIn 值 (该值可能被调整或限定)更新偏置(有关详细信息,请参见“变量和范围”部分)。 偏置 的初始值通常设为次计算回路输出之前的输出值 (Minitial)。 积分项还包括几个常数: 增益 (KC)、采样时间 (TS)、积分时间或复位 (TI),其中,采样时间是 PID 回路重新计算输 出值的周期时间,积分时间是用于控制积分项在输出计算中的影响的时间。 PID 方程的微分项: 微分项 MD 与偏差变化成比例。 CPU 使用以下方程来求解微分项: MDn = KC * (TD / TS) * ((SPn - PVn) - (SPn-1 - PVn-1))
为避免由于设定值变化而导致微分作用激活引起输出发生阶跃变化或跳变,对此方程进行 了改进,假定设定值为常数 (SPn = SPn-1)。 这样,将计算过程变量的变化而不是偏差的 变化,如下所示: MDn = KC * (TD / TS) * ((SPn - PVn) - (SPn-1 - PVn-1)) 或: MDn = KC * (TD / TS) * (PVn-1 - PVn) 其中: MDn 采样时间 n 时回路输出的微分项值 KC 回路增益 TS 回路采样时间 TD 回路的微分周期(也称为微分时间或速率) SPn 采样时间 n 时的设定值 SPn-1 采样时间 n - 1 时的设定值 PVn 采样时间 n - 1 时的过程变量值 PVn-1 采样时间 n - 1 时的过程变量值 必须保存过程变量而不是偏差,供下次计算微分项使用。 在次采样时,PVn - 1 的值 初始化为等于 PVn。
选择回路控制的类型
在许多控制系统中,可能只需使用一种或两种回路控制方法。 例如,可能只需要使用比 例控制或比例积分控制。 可以通过设置常数参数值来选择所需的回路控制类型。 如果不需要积分作用(PID 计算中没有“I”),则应为积分时间(复位)指定无穷大值 “INF”。 即使没有使用积分作用,积分项的值也可能不为零,这是因为积分和 MX 有初始 值。 如果不需要微分作用(PID 计算中没有“D”),则应为微分时间(速率)指定值 0.0。 如果不需要比例作用(PID 计算中没有“P”),但需要 I 或 ID 控制,则应为增益指定值 0.0。 由于回路增益是计算积分项和微分项的方程中的一个系数,如果将回路增益设置为 值 0.0,计算积分项和微分项时将对回路增益使用值 1.0。