关于S7-1200 PID控制的相关问题

1,怎么控制PID使能,比如:设备启动时 使能PID,设备停止PID不使能,这样就不会有PID值输出;
2,PID的输出是从0到100,这样的话就只有一个方向的修正,怎样做到有负的修正,比如从-100到100;
3,怎样把积分项手动清零。
4,采样时间错误: 循环中断 OB 的采样时间内没有调用 PID_Compact。这个报警应该怎么处理。谢谢

最佳答案

最近我也是刚把PID得使用捋了一遍。因为项目需要调试过程也遇到了你的问题,解决方法如下:
1、设备禁用时不调用PID,启用时调用,在启用后第一周期会出现错误,就是循环中断 OB 的采样时间内没有调用 PID_Compact。只出现一次。
2、如果你实际需要-100 到 100的输出,你就直接通过标度变换将0-100 转换到-100 到 100。
3、积分项可以设置自动清零,也可以通过将PID模式转换为手动模式,这样积分自然就清零了。
4、PID算法采样时间设置成循环中断时间的整数倍。但是这样做也不会消除问题1中出现启用第一周期时报警。我现在找到的方法是程序中不禁用PID_Compact,在需要禁用时我只需将其设置为手动模式,并且手动输出置为0。这样PID不会计算,同样也不会输出,在重新调用时也不会报错误。
有问题再交流!

提问者对于答案的评价:
谢谢你回答,我会照你的方法做实验的。

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc198016.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:45
下一篇 2017年8月26日

相关推荐