问题背景:一套性能要求比较高的自动化系统,要求:20ms内完成PID调节,即给定一个设定值q,20ms内通过PID控制使机构位置达到设定值。我已经用VB+采集卡实现了功能,采集卡采样率很高,所以可以实现5ms内一次PID运算,20ms内PID基本可以满足要求。但是现在用PLC出现问题!
问题:上述PID有一个要求:20ms内进行多次PID运算,要求PID运算速度很快。我用采集卡的采样率很高,所以可以5ms一次PID运算,程序在VB中实现。而PLC S7-200 PID最高只支持0.1 S 的采样周期,也就是100ms才计算一次PID。
求解决方法?如何用S7-200实现快速PID运算调节。
自己想的办法,求指导:我想可以通过上位机WINCC的全局脚本编写PID算法,这样计算机的运算速度很高,WINCC每5ms从PLC读一次模拟量输入,计算一次PID,结果输出给200PLC 模拟量输出通道。这种方法是否可行?求指教.
问题补充:
“wincc连接200不管用哪种方法,速度都不能满足要求,行不通”
为什么啊?
最佳答案
不可能实现,这中间影响因素太多了,模拟量模板的采样时间、PID的采样时间、PID的运算、PLC的执行周期,传感器采样时间、执行机构执行时间等,任一因素都会影响到PID运算。所以不可能在20ms完成。
即便楼主用VB编程,楼主提到5ms执行一次PID运算,20ms最多执行四次,4次就可以将过程值调整到设定值,这种PID调节的也太神起来吧,如果你的设定值变化较大时,超调、振荡现象肯定会出现。除非你的采集卡是微秒级的,你在微秒级内做相应的运算,这倒是有可能。
不过即便楼主的采集卡能实现微秒级的运算,楼主不要忘了,传感器本身做信号变送、执行机构跟随也是有时间的。所以,我很怀疑楼主用采集卡实现的功能,其次,如果用PLC来做快速PID功能,建议楼主还是放弃吧。
提问者对于答案的评价:
感谢大家!高手不少啊
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc304641.html