PID

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

PID_Compact 不同版本的特性

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

 

 

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

 

 

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

 

 

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

PID_Temp 指令介绍

PID_Temp 提供了集成自整定功能的连续 PID 控制器。PID_Temp 专为温度控制而设计,适用于加热或加热/制冷应用。 为此提供了两路输出,分别用于加热和制冷。

PID_Temp 还可以用于其它控制任务。PID_Temp 可以级联,可以在手动或自动模式下使用。

PID_Temp 提供了自整定比例、积分和微分参数的功能。

PID_Temp 具有抗积分饱和功能并且能够对比例作用和微分作用进行加权。

PID 算法方框图如图 1 所示:

参数介绍略。。。。

PID_Temp 常见问题

如何修改 PID 参数的实际值?

通过组态界面离线方式修改参数需要重新下载并重启 PLC建议在线方式进行操作,方法如下:

1. 在组态界面点击监控按钮转至在线模式,勾选启动手动输入,直接修改 PID 参数,如图 1 所示。

 

 

2. 在工艺对象里双击调试进入调试界面,如图 2 所示。

 

 3. 在调试界面里点击监视按钮转至在线模式,如图 3 红色框所示。

4. 点击上传 PID 参数按钮,把 PID 参数的在线值上传到起始值,如图 3 蓝色框所示。

 

 5. 回到工艺对象,可以看到 PID_Temp_1 显示在线离线不一致,如图 4 所示。这是因为上一步里上传了 PID 参数到离线项目,这时为了保持一致,需要下载一下这个工艺对象。

 

如何设置模拟量输出 OutputHeat_PER / OutputCool_PER 的限制值?

下面以 OutputHeat_PER 为例,假设输出标定如图 5 所示,现需要限制 OutputHeat_PER 输出在原来的 0-50% 之间。

 

 

 

1、在输出设置 > 输出限值和标定 > OutputperHeat / OutputperCool 界面中,把 OutputHeat 上限和标定的上限值都改为 50%,如图 6 所示

 

 2、在输出设置 > 输出限值和标定 > OutputperHeat_PER / OutputperCool_PER 界面中,把 OutputHeat_PER 标定的上限值相应的改为 27648 × 50% = 13824,如图 7 所示。

 

posted @ 2023-02-26 04:20  wongchaofan  阅读(483)  评论(0编辑  收藏  举报