我在调试S7-200的PID回路时,发现在切换过程中,CPU会将切换瞬时的AD值写入PID回路给定值,替代了原先的设定值。这样的做法固然可以做到切换过程的完全无扰动,却带来了一个问题:
1、现场的模拟量信号毕竟不是标准信号发生器。由于受到各种因素的干扰,很难做到和使用者的设定值完全相等,此时写入的给定值和HMI显示的设定值出现差异。
2、为了保证能够及时切入PID状态,我们选择的切入条件一般是一个范围,而不是一个等值点。如果不对采样数值作处理,这个等值点出现的概率是很低的。
3、如果采用手动方式切换,很可能会出现新给定值与原设定值存在较大偏差;而这个偏差如果不在HMI上显示出来,后患无穷。
4、S7-200采用这样的切换模式,有悖于通常的思维定式。也可能是我的思想落后了。
对这个问题我百思不得其解。长考以后,还是回到原来的思维定式,在完成PID切换后,立即执行一次写指令,重新向给定值寄存器赋值。经过测试,如此编程并无不妥。实际使用后,系统至今正常运行。但是心里总觉得怪怪的,在此提出来,和众网友一起探讨一下。