SIMATIC S7-1200 PID串级控制(以巧克力加热炉温度控制为例)


一、PID控制原理

基于反馈控制理论,在工程实际中,应用最为广泛的比例、积分、微分控制,简称PID控制。
在这里插入图片描述
PID具有以下优点:
1.原理简单实用方便;
2.适用性强,可以广泛应用在化工,冶金等领域;
3.控制品质对其被控对象特性的变化不大敏感;
4.对模型依赖性少,按PID控制进行工作的自动控制调节器早已商品化。
S7-1200的PID功能:
1.提供3个PID指令:PID_Compact、PID_3Step、PID Temp;
2.PID的调节回路数仅受程序大小及执行时间影响,没有具体数量限制;
3.支持抗积分饱和功能;
4.支持不同错误的响应。
5.PID_3Step、PID_Temp支持死区;
6.PID_Temp支持控制带;
7.PID Temp支持串级控制。

二、PID控制指令

1.PID_Compact

PID_Compact是连续的PID控制指令,支持模拟量或脉冲宽度调制(PWM)输出。
在这里插入图片描述
在这里插入图片描述

引脚 注释
Setpoint 自动模式下的设定值
Input 工程量反馈值
Input_PER 模拟量反馈值(0~27648)
Disturbance 扰动变量或预控制值
ManualEnable 上升沿激活“手动”模式;下降沿激活由“Mode”指定的工作模式
ManualValue 该值在手动模式下使用,用作 PID 输出值
ErrorAck 确认错误
Reset 重启控制器
ModeActivate 上升沿激活由“Mode”指定的工作模式
Mode 通过“ModeActivate”的上升沿激活的模式;0:未激活;1:预调节;2:精确调节;3:自动模式;4:手动模式
ScaledInput 线性化输入
Output 工程量输出
Output_PER 模拟量输出(0~27648)
Output_PWM 脉宽调制输出
SetpointLimit_H 到达设定上限
SetpointLimit_L 到达设定下限
InputWarning_H 到达输入上限
InputWarning_L 到达输入下限
State 控制器当前操作模式
Error 错误报警
ErrorBits 报警信息

2.PID_3Step

PID_3Step是用于开关量信号控制的执行器;其输出用于模拟量和二进制阀门的控制;支持阀门的位置反馈和停止信号的检测;集成了电机转换时间的测量;支持死区控制。
在这里插入图片描述
在这里插入图片描述

引脚 注释
Setpoint 自动模式下的设定值
Input 工程量反馈值
Input_PER 模拟量反馈值(0~27648)
Actuator_H 阀门处于上端停止位时的数字位置反馈
Actuator_L 阀门处于下端停止位时的数字位置反馈
Feedback 阀门的位置反馈
Feedback_PER 阀门的模拟位置反馈
Disturbance 扰动变量或预控制值
ManualEnable 上升沿激活“手动”模式;下降沿激活由“Mode”指定的工作模式
ManualValue 在手动模式下指定阀门的绝对位置
Manual_UP 1:即使正在使用 Output_PER 或位置反馈,阀门也打开。如果已达到上端停止位,则阀门将不再移动;0:如果正在使用 Output_PER 或位置反馈,则阀门移至 ManualValue。否则阀门不再移动
Manual_DN 1:即使正在使用 Output_PER 或位置反馈,阀门也关闭。如果已达到下端停止位,则阀门将不再移动;0:如果正在使用 Output_PER 或位置反馈,则阀门移至 ManualValue。否则阀门不再移动
ErrorAck 确认错误
Reset 重新启动控制器
ModeActivate 上升沿激活由“Mode”指定的工作模式
ScaledInput 线性化输入
ScaledFeedback 线性化位置反馈
Output_UP 用于打开阀门的数字量输出值
Output_DN 用于关闭阀门的数字量输出值
Output_PER 模拟量输出值
SetpointLimit_H 到达设定上限
SetpointLimit_L 到达设定下限
InputWarning_H 到达输入上限
InputWarning_L 到达输入下限
State 控制器当前操作模式
Error 错误报警
ErrorBits 报警信息
Mode 通过“ModeActivate”的上升沿激活的模式;0:未激活;1:预调节;2:精确调节;3:自动模式;4:手动模式;6:转换时间测量;10:无停止位信号的手动模式

3.PID_Temp

PID_Temp转为温度控制而设计,支持加热和制冷控制;支持模拟量或脉冲宽度调制(PWM)输出;提供加热和制冷的自整定;带有抗积分饱和的级联控制功能;支持死区和控制带功能。
在这里插入图片描述
在这里插入图片描述

引脚 注释
Setpoint 自动模式下的设定值
Input 工程量反馈值
Input_PER 模拟量反馈值(0~27648)
Disturbance 扰动变量或预控制值
ManualEnable 上升沿激活“手动”模式;下降沿激活由“Mode”指定的工作模式
ManualValue 该值在手动模式下使用,用作 PID 输出值
ErrorAck 确认错误
Reset 重启控制器
ModeActivate 上升沿激活由“Mode”指定的工作模式
Mode 通过“ModeActivate”的上升沿激活的模式;0:未激活;1:预调节;2:精确调节;3:自动模式;4:手动模式
Master 级联控制的接口,通过主控制器“PID_Temp_1”调用从控制器“PID_Temp_2”
Slave 级联控制的接口,需要将主站Slave接口变量,在从站Master接口处调用
ScaledInput 标定后的过程值
OutputHeat 工程量加热输出
OutputCool 工程量制冷输出
OutputHeat_PER 模拟量加热输出
OutputCool_PER 模拟量制冷输出
OutputHeat_PWM 脉宽调制加热输出
OutputCool_PWM 脉宽调制制冷输出
SetpointLimit_H 到达设定上限
SetpointLimit_L 到达设定下限
InputWarning_H 到达输入上限
InputWarning_L 到达输入下限
State 控制器当前操作模式
Error 错误报警
ErrorBits 报警信息

4.指令块功能对比

指令 PID_Compact PID_3Step PID_Temp
模拟量输出 支持 支持 支持
PWM 支持 支持 支持
加热/指令输出 不支持 不支持 支持
死区 不支持 支持 支持
控制带 不支持 不支持 支持
串级控制 不支持 不支持 支持
预调节 支持 支持 支持
精确调节 支持 支持 支持
抗积分饱和 支持 支持 支持
执行器阀位反馈 不支持 支持 不支持

三、PID控制示例

1.调用并组态PID_Compact

PID指令块需要在循环中断组织块中调用;
在这里插入图片描述
在默认变量表中创建如下变量;
在这里插入图片描述
将变量连接到PID_Compact指令块的对应引脚;
在这里插入图片描述
组态PID_Compact;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
过程值标定功能只有在Input/Output参数选择Input_PER或Out_PER时,才会启用;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.调用被控对象仿真块

PID仿真块的库文件“LSim”可在西门子工业在线支持官网下载;
PID仿真块的库文件
关于添加全局库的方法,以及更多全局库文件的下载,见以下链接;
在 TIA Portal 中,如何打开、编辑和升级全局库
调用下载好的仿真块,并连接如下变量;
在这里插入图片描述

3.进行预调节

首先进行预调节,预调节用于确定对输出值跳变的过程响应,并搜索拐点。
要求:
1.设定值-过程值>(过程值上限值-过程值下限值)×30%;
2.设定值-过程值>设定值×50%;
3.PID控制器处于手动、未激活或者自动模式。
打开PLC仿真器,下载程序,双击打开调试界面;
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
为满足预调节的要求,给定Setpoint一个设定值,在程序段中修改操作数,我们设置为90;
在这里插入图片描述
点击Start进行预调节。

4.进行精确调节

预调节结束后,点击上传PID参数,将PID参数上传至CPU中,然后启动精确调节;
精确调节:使过程值出现恒定受限的振荡,并根据此振荡的幅度和频率为操作点调节PID参数;
要求:
1.控制器工作在操作点;
2.不希望有扰动。
在这里插入图片描述
精确调节结束后,点击上传PID参数,将PID参数上传至CPU中。
在这里插入图片描述

四、串级控制

  • 多个PID控制回路相互嵌套,形成级联控制;
  • 主控制器的输出值作为从控制器的设定值,最外层从控制器的输出值应用于执行器;
  • 可以迅速纠正控制系统中发生的扰动,显著降低扰动对受控变量的影响;
  • 从控制器回路以线性形式发挥作用。因此,这些非线性扰动对受控变量的负面影响可得到缓解。

在这里插入图片描述
以巧克力加热炉温度控制为例,将巧克力溶液的温度作为主控制器PID_Temp_1的反馈值Input,从上位机获得想要达到的巧克力溶液温度Setpoint,将水的温度作为从控制器PID_Temp_2的反馈值,将主控制器的输出OutputHeat作为从控制器的输入Setpoint,将从控制器的输出OutputHeat用于水温控制,从而通过水温控制巧克力溶液的温度达到设定值。

1.调用并组态PID_Temp

调用两次PID_Temp功能块,分别作为主控制器PID_Temp_1和从控制器PID_Temp_2,必须先调用主控制器,再调用从控制器,并连接变量;
在这里插入图片描述
PID_Temp_1组态过程如下所示:
在这里插入图片描述
注意:只有在作为从控制器的时候,才可以“激活制冷”;
在这里插入图片描述
勾选“控制器为主站”,这里从站数量为1,最大可支持255个从站;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PID_Temp_2组态过程如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在“输出的基本设置”选项卡中,加热/制冷方法可选择“切换加热/制冷的PID参数”,此时加热和制冷分别自整定;当加热和制冷的变化曲线基本一致时,可以选择“加热/制冷的制冷系数”,此时制冷的PID参数由加热的PID参数乘以设置的制冷系数得到。这里我们选择“切换加热/制冷的PID参数”;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.调用被控对象仿真块

仿真块下载链接已在上文给出,连接对应变量,同时,将水温反馈值赋值给巧克力溶液温度反馈值。
在这里插入图片描述

3.进行从控制器预调节加热

预调节常规要求:
1.ManualEnable = FALSE,Reset = FALSE;
2.PID_Temp处于“未激活”、“手动模式”或“自动模式”;
3.设定值与过程值均处于组态的限定范围内。
预调节加热要求:
1.设定值-过程值>(过程值上限值-过程值下限值)×30%;
2.设定值-过程值>设定值×50%;
3.设定值大于过程值。
因为要进行串级调试,故在进行主控制器自整定之前,需要进行从控制器自整定,但从控制器的设定值是主控制器的输出值,无法手动修改,此时,可以用调试面板中的设定替代值作为从控制器的设定值。
打开PID_Temp_2的调试面板,点击测量面板的start按钮,调节模式选择预调节加热,勾选控制器的在线状态面板里的Subst.Setpoint,设定一个满足预调节加热要求的数值,这里设置为80.0,然后点击旁边的闪电按钮,发送给PLC,最后点击调节面板的Start按钮,开始预调节加热。
在这里插入图片描述
调节状态显示系统已调节表示预调节加热完成。
在这里插入图片描述

4.进行从控制器预调节加热/制冷

要求同预调节加热。
此例程本步骤省略。

5.进行从控制器预调节制冷

预调节制冷要求:
1.已成功执行了“预调节加热”或“预调节加热/制冷”;
2.设定值-过程值<(过程值上限值-过程值下限值)×5%。
调节模式选择预调节制冷,点击调节面板的Start按钮,开始预调节制冷。
在这里插入图片描述

6.进行从控制器精确调节加热

精确调节常规要求:
1.控制回路已稳定在工作点;
2.不能被干扰;
2.PID_Temp处于“未激活”、“手动模式”或“自动模式”;
3.设定值与过程值均处于组态的限定范围内。
精确调节加热要求:
1.Heat.EnableTuning = True;激活加热自整定
2.Cool.EnableTuning = False;不激活制冷自整定
3.PidOutputSum>0.0。如果此条件不满足,则需要在精确调节加热前增加制冷偏移量
在这里插入图片描述
调节模式选择精确调节加热,调节偏移量此时不需要设置,点击调节面板的Start按钮,开始精确调节加热。
在这里插入图片描述
系统调节完毕后,点击上传PID参数。
在这里插入图片描述

7.进行从控制器精确调节制冷

精确调节制冷要求:
1.Heat.EnableTuning = False;不激活加热自整定
2.Cool.EnableTuning = True;激活制冷自整定
3.PidOutputSum<0.0。如果此条件不满足,则需要在精确调节制冷前增加加热偏移量
调节模式选择精确调节制冷,调节偏移量此时不需要设置,点击调节面板的Start按钮,开始精确调节制冷。
在这里插入图片描述
系统调节完毕后,点击上传PID参数。
在这里插入图片描述

8.进行主控制器预调节加热

在程序块中,手动修改PID_Temp_1的设定值Setpoint,这里设置为80.0;
打开PID_Temp_1的调试面板,可以看到:
在这里插入图片描述
所以将从控制器PID_Temp_2调试面板中的“Subst.Setpoint”取消勾选;
点击PID_Temp_1测量面板的start按钮,调节模式选择预调节加热,点击调节面板的Start按钮,开始预调节加热。
在这里插入图片描述

9.进行主控制器精确调节加热

调节模式选择精确调节加热,点击调节面板的Start按钮,开始精确调节加热;
在这里插入图片描述
系统调节完毕后点击上传PID参数。
在这里插入图片描述
更改PID_Temp_1的设定值Setpoint,若系统可以较为准确地调节温度值,则说明此系统的PID参数较为合适,下载程序即可。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 16:10:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 16:10:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 16:10:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 16:10:06       18 阅读

热门阅读

  1. kube-ovn自定义vpc

    2024-02-20 16:10:06       22 阅读
  2. 开源BLHELI-S 代码详细解读(四)

    2024-02-20 16:10:06       22 阅读
  3. Vue3中watch与watchEffect的区别

    2024-02-20 16:10:06       23 阅读
  4. OSS业务存储适配器模式

    2024-02-20 16:10:06       21 阅读
  5. python数据分析numpy基础之var求数组方差

    2024-02-20 16:10:06       26 阅读
  6. 缓存使用常见思路及问题

    2024-02-20 16:10:06       18 阅读
  7. BUG:required a single bean, but 2 were found:

    2024-02-20 16:10:06       22 阅读
  8. Prompt Engineering 提示工程教程详情

    2024-02-20 16:10:06       29 阅读
  9. LeetCode_20_简单_有效的括号

    2024-02-20 16:10:06       31 阅读
  10. Github 2024-02-19 开源项目日报 Top10

    2024-02-20 16:10:06       31 阅读