一、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 调速设定为每秒钟调整一次速度。
在本次案例中,我们将电机速度目标设置为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 控制技术,力求在更多领域实现更高效的自动化控制。让我们一起在技术的海洋中不断前行,探索更多的可能性。