黎为乐的个人博客

人活着就是对抗熵增定律,生命以负熵为生

欢迎访问黎为乐的个人博客!这里将分享人工智能与Java相关内容。

  menu

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_UP1:即使正在使用 Output_PER 或位置反馈,阀门也打开。如果已达到上端停止位,则阀门将不再移动;0:如果正在使用 Output_PER 或位置反馈,则阀门移至 ManualValue。否则阀门不再移动
Manual_DN1:即使正在使用 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_CompactPID_3StepPID_Temp
模拟量输出支持支持支持
PWM支持支持支持
加热/指令输出不支持不支持支持
死区不支持支持支持
控制带不支持不支持支持
串级控制不支持不支持支持
预调节支持支持支持
精确调节支持支持支持
抗积分饱和支持支持支持
执行器阀位反馈不支持支持不支持

三、PID控制示例

1. 调用并设置初始参数


首先,我们需要修改目标速度,并观察线体的稳定性。如果系统稳定,则无需更改任何配置。本次 PID 调速设定为每秒钟调整一次速度。

在本次案例中,我们将电机速度目标设置为1800mm/s。接下来,进入编辑自动 PID 控制块。

2.设置并调试初始参数

本次我们使用 cyclic interrupt PID control 控制块,该控制块可以定时自动进行一次 PID 运算。

3. 初始参数赋值

逻辑是根据输入的速度与目标速度进行比较,决定控制输出的百分比。我们将输出的百分比与电机的控制变量关联起来,从而实现自动调节速度以达到稳定效果。

4.调试与测试

此方法可以自动进行 PID 控速,对于精度要求不高的情况也足够使用,大大节省了调节 PID 的时间。

我们进行机器自动跑一圈,可得,最终根据效果可看到速度几乎趋向于稳定,上下误差浮动极小,速度稳定与1800mm/s

5.手动修改部分参数

如果对精度有更高要求,可以手动修改部分 PID 参数,使系统趋向于更加稳定。

四、结尾与总结

以上是笔者的关于博图PID控制示例,是一个快递分拣传送带,控制电机使得速度在合理的范围内稳定下来。

通过本次案例,我们展示了如何在快递分拣传送带上应用 PID 控制技术来稳定电机速度。使用 cyclic interrupt PID 控制块,我们可以自动进行 PID 运算,实现每秒钟调整一次速度,确保系统在设定的目标速度1800mm/s附近稳定运行。通过合理设置和调试初始参数,以及根据实际需求进行手动微调,能够显著提高系统的稳定性和精度。

尽管 PID 控制设置步骤繁多,但其操作简单且效果显著。通过这一示例,我们不仅了解了 PID 控制的基本原理和应用方法,还体会到其在实际工业控制中的重要性和便利性。希望本示例能够为您的项目提供有价值的参考,让您的系统运行更加高效稳定。

未来,我们将继续探索和优化 PID 控制技术,力求在更多领域实现更高效的自动化控制。让我们一起在技术的海洋中不断前行,探索更多的可能性。


标题:SIMATIC S7-1200 PID控制实例
作者:Leevle
地址:https://leevle.com/articles/2024/06/06/1717659664063.html