我们一台德国进口设备的PLC用的是S7-414CPU,里面有一个老外自编的FB块作为PI控制器程序(没有微分环节),积分环节的算法如图所示。但让我感觉疑惑的是,这个PI控制器是在OB1内的FC中调用,而不是像西门子FB41那样一般在OB35中调用,而且它的采样时间就采用了 #OB1_PREV_CYCLE,但设备的实际运行效果却是非常好的,说明人家的程序没有问题,但它的控制效果是如何保证的呢?请高手能给以解答,多谢了!
图片说明:
最佳答案
理论上将PID控制最好在OB35等循环中断块中调用,因为PID中的模拟量离散化是需要采样周期尽量相等的,所以一般程序都是将PID块放在OB35中,但是PID块也要求采样周期尽量端,使使离散化的采样结果更接近实际的模拟量,计算更精确,一般程序可能OB1的扫面时间很短,几MS或者十几MS,而OB35是固定的100MS,老外可能考虑的是OB1采样周期短这个因素,正常运行的时候不会有什么影响,一旦发生中断或者网络原因导致OB1扫描时间加长才会稍有影响
提问者对于答案的评价:
感谢解答,非常满意这个答案。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc203003.html