在西门子S7-200 SMART PLC中,编写一个PID程序块,可以通过以下步骤实现。
PID算法:
其实说简单点: PID控制输出=比例项 + 积分项 + 微分项
Output := (Kp * Error) + (Ki * Integral) + (Kd * Derivative);
1. 1创建PID子程序
首先,创建一个子程序(SBR0),命名为PID。这个功能块将包含PID控制的逻辑。
1.2定义输入输出参数
在变量表中定义输入、输出和临时变量等。(如下)
子程序段1:
计算当前偏差,即设定值-反馈值
子程序段2:
计算积分项:将当前误差乘以采样时间并累加到积分项中
积分项=积分项+(当前误差*采样时间)
子程序段3:
积分抗饱和。注意积分增益不能为0在判断。
子程序段4:
微分项=(当前误差-上一次误差)/ 采样时间
子程序段5:
计算PID
输出=(比例增益*当前误差)+(积分增益*积分项)+(微分增益*微分项)
保存当前误差,用于下一次计算微分项
子程序段6:
输出限制
子程序段7:
手动赋值
上面就是在S7-200 SMART项目中经过实践检验,特别适用于需要多个PID回路的应用PID程序块。


返回顶部
刷新页面
下到页底