Page 63 - 2019-6
P. 63
工业自动化 许志胜 等·西门子 S7-1500 的 PID 温度控制在挤出机上的应用
(6)设定值与过程值的差值大于过程值上限与过 程虽然平稳,超调小,却极耗时间 , 如图 12 所示。
程值下限之差的 30%。
(7)设定值与过程值的差值大于设定值的 50%。
(8)设定值大于过程值。
为了满足上述要求,并使系统进入稳态,可以手
动模式下调整输出,使受控量相对稳定,然后启动预
调节。挤出机的机筒区共有 6 路 PID 温度控制(如图
10),开始调试时 6 路 PID_TEMP 工艺对象分别做预
调节,使用调节后的 PID 参数控制机筒区温度,升温
平稳,时间长,超调小,如图 11 所示。
图 12 多路 PID_TEMP 预调节后机筒区 5 的参数
借助于死区功能可以很好的解决第 1 个问题。如
果过程值位于设定值附近的死区内,则控制偏差会受
到抑制,这样 PID 算法就不会做出响应并且会减少输
出值不必要的波动。在调节过程中,加热或制冷过程
的死区宽度不会自动设置。必须手动对死区宽度进行
图 10 单路 PID_TEMP 预调节后升温曲线 正确组态。如果将死区宽度设置为 0.0,会禁用死区。
考虑到温度的滞后及要求的控制精度 ±1℃,把死区
宽度设为 2℃,这样当误差在 2℃之内时,PID 算法会
保持输出值不变,减少了波动。
借助于设置控制区域宽度可以解决第 2 个问题。
如果过程值不处于设定值附近的控制区,控制器将输
出最小输出值或最大输出值。这意味着,过程值会更
快地到达设定值。如果过程值位于设定值附近的控制
区内,则输出值通过 PID 算法进行计算。挤出机正常
工作时的温度在 200℃左右(根据物料的区别略有不
同),把控制区域宽度设为 100℃,当温度在 100℃以
图 11 单路 PID_TEMP 预调节后机筒区 5 的参数
下时,控制器输出 100% ;当温度在 300℃(由于风机
但是机筒区的温度控制属于多区域控制系统,多 快速制冷的原因几乎不可能达到)时,控制器输出 0%。
区域控制系统的特点为各个温度区域会由于热耦合而 设置控制区域宽度后,由于温度滞后的原因,会使超
相互影响,在这种多区域控制的应用中有必要同时对 调变大,但会大大缩短到达设定值的时间,而且过程
各区域完成预调节加热。同时激活 6 路 PID_TEMP 的 值最终也会趋于稳态,总体来说是利大于弊。
预调节功能,调节后的 P 值及 I 值都有所增加,升温 4.4 风机的控制
过程明显变短。 风机的控制没有使用工艺对象 PID_TEMP 输出控
使用多路预调节后的 PID 参数加热机筒区温度时, 制,而是编写程序短时制冷。经过反复测试后得到的
存在 2 个问题。1 是接近于稳态时,由于存在温度误 控制逻辑为(如图 13):当温度偏差大于 5℃时,制
差,PID 输出频繁波动,导致固态继电器频繁通断 ; 2 冷风机一直接通 ;当温度偏差大于 1.5℃小于 5℃时,
是当实际值远低于设定值时,PID_TEMP 就开始调节 周期内短时接通,10 s 周期接通 2 s ;当温度偏差小于
输出,导致 PID 输出并没有达到 100%,这种升温过 1.5℃时,考虑温度的滞后性,不制冷。
2019 第 45 卷 ·47·
年

