PID功能

PID功能用于对闭环过程进行控制。PID控制适用于温度,压力,流量等物理量,是工业现场中应用最为广泛的一种控制方式,其原理是,对被控对象设定一个给定值,然后将实际值测量出来,并与给定值比较,将其差值送入PID控制器,PID控制器按照一定的运算规律,计算出结果,即为输出值,送到执行器进行调节,其中的P,I,D指的是比例,积分,微分,是一种闭环控制算法。通过这些参数,可以使被控对象追随给定值变化并使系统达到稳定,自动消除各种干扰对控制过程的影响。

S7-1200 PID控制器

S7-1200 CPU提供了PID控制器回路数量受到CPU的工作内存及支持DB块数量限制。严格上说并没有限制具体数量,但实际应用推荐客户不要超过16路PID回路。可同时进行回路控制,用户可手动调试参数,也可使用自整定功能,提供了两种自整定方式由PID控制器自动调试参数。另外STEP7 Basic还提供了调试面板,用户可以直观的了解控制器及被控对象的状态。

PID控制器结构

PID控制器功能主要依靠三部分实现,循环中断块,PID指令块,工艺对象背景数据块。用户在调用PID指令块时需要定义其背景数据块,而此背景数据块需要在工艺对象中添加,称为工艺对象背景数据块。PID指令块与其相对应的的工艺对象背景数据块组合使用,形成完整的PID控制器。PID控制器结构如图1。


图1 PID控制器结构

循环中断块可按一定周期产生中断,执行其中的程序。PID指令块定义了控制器的控制算法,随着循环中断块产生中断而周期性执行,其背景数据块用于定义输入输出参数,调试参数以及监控参数。此背景数据块并非普通数据块,需要在目录树视图的工艺对象中才能找到并定义。

S7-1200 PID_Compact 的版本说明

自软件 TIA Protal V13 起,固件为 4.0 或更高版本的 S7-1200,可以使用 PID_Compact V2.2 指令。

S7-1200 在 V4.0 以上,TIA V13 SP1 以上,使用 S7-PLCSIM V13 SP1 可以仿真 PLC 程序,但不支持工艺功能(高速计数器、运动控制、PID 调节)的仿真。

PID_Compact 的版本与 CPU 和 FW 的兼容性

下表显示了 PID_Compact 的每个版本可用于哪种 CPU:

CPU

FW

PID_Compact

S7-1200 

≥ V4.x

V2.2
V1.2

S7-1200

≥ V3.x

V1.2
V1.1

S7-1200

≥ V2.x

V1.2
V1.1

S7-1200

≥ V1.x

V1.0

PID_Compact V2.x 的 CPU 处理时间和存储器要求

PID_Compact V2.0 工艺对象典型 CPU 处理时间(取决于 CPU 类型):

CPU

典型 CPU 处理时间 (PID_Compact V2.x)

CPU 1211C ≥ V4.0

300 µs

CPU 1215C ≥ V4.0

300 µs

CPU 1217C ≥ V4.0

300 µs

PID_Compact V2.0 工艺对象背景数据块的存储器要求:

分类

PID_Compact V2.x 背景数据块的存储器要求

装载存储器要求

约 12000 个字节

总工作存储器要求

788 个字节

保持性工作存储器要求

44 个字节

PID_Compact 不同版本的特性

在 TIA Protal 软件中使用 PID 功能,有两种方式选择 PID 的指令版本。
方式一、通过在工艺对象中添加新对象,在弹出的“新增对象”对话框中,左侧竖列选择 “PID” 后,看对话框中间部分对于 “Compact PID” 版本的选择,如图 2 和图 3 所示:

图2、工艺对象-添加新对象


图3、选择 Compact PID 指令文件夹版本

方式二、当程序处于编程界面时,右侧指令栏中在工艺 > PID 控制 > Compact PID 指令 > 版本选择,如图4 和图 5所示:

图4、指令栏 > 工艺 > Compact PID


图5、Compact PID 不同版本选择

Compact PID文件夹 V5.0 和 V4.0 的区别是 PID_Temp 指令,其中 PID_Compact 指令均为 V2.2. 编写 PID 功能时,可以使用上述方法进行 PID 指令的版本选择。
在硬件版本一定的情况下,建议使用对应固件中最新版本的指令。PID Compact 指令不同版本所对应新特性,如下表所示:

PID_Compact 版本

不同版本指令的新特性

V2.2

全面改进对错误的响应
Error 指示是否存在错误处于未决状态。如果 Error=TRUE,则此周期内至少有一条错误消息处于未决状态。ErrorBits 显示发生的具体错误。
使用 ErrorAck 在不重启控制器或清除积分作用的情况下确认错误和警告。切换工作模式不会清除处于非未决状态的错误。
使用 Reset 可以重启控制器、清除积分作用,同时清除处于非未决状态的错误。
组态界面增加对错误响应的设置
可使用 SetSubstituteOutput 和 ActivateRecoverMode 来组态对错误的响应。
使用 Mode 和 ModeActivate 来切换工作模式
将 PID_Compact 作为多重背景数据块进行调用
启动特性
根据工作模式设置 ENO
如果 State=0,则 ENO=FALSE;如果 State≠0,则 ENO=TRUE。
可修改调节期间允许的设定值拐点(CancelTuningLevel)
输出值限值的范围(下限可小于 0.0)
增加积分的预分配作用
从“未激活”切换到“自动模式”时,可使用变量 IntegralResetMode 和 OverwriteInitialOutputValue 确定积分作用的预分配。
在 Disturbance 参数中启用扰动变量
PID 参数的默认值(更改权重系数)
重命名某些变量名称

V1.2

CPU 启动时的手动模式
如果 CPU 启动时 ManualEnable = TRUE,则 PID_Compact 以手动模式启动。 并非一定需要 ManualEnable 出现上升沿。
预调节
如果在预调节期间关闭 CPU,当重新开启 CPU 时预调节会再次启动。

V1.1

CPU 启动时的手动模式
CPU 启动时,仅在 ManualEnable 出现上升沿时,PID_Compact 才切换到手动模式。
没有上升沿时,PID_Compact 在 ManualEnable 为 FALSE 的上一个工作模式下启动。
对 Reset 的响应
Reset 上升沿时会复位错误和警告并清除积分作用,Reset 下降沿会触发切换到最近激活的工作模式。
过程值的默认上限(更改为 120.0)