我用向导做了一个PID控制,确认是用SM0.0调用的初始化程序PID0_INIT,PID0分配的地址是自己指定的确保没被用过的干净地址VB2500(开始后面200个地址全是没被用过的),但PID在自动时,即AUTO_MANUAL为1时,PID输出有时有反应,有时无反应,没反应时好象没被激活一样,此时试过把AUTO_MANUAL置为0,用手动通道给定有输出的。PID自动不动作时,我用状态表监控P,I,D值都是好的我不知道问题出在哪里,这个现象不是每次都出现,时好时坏。请高手指点,在线等,谢谢!
问题补充:
我的反馈信号是0-10KG的压力,设定值是4KG,所以给定值低高限是0-10,设定是4.0,反馈值是AIW4,问题出在哪啊?
图片说明:
最佳答案
1.不得不说你描述的现象就是库地址冲突引起的(交叉引用可以查下,但是通讯的数据,间接寻址的数据交叉 引用查不出来)
2.你单独只做PID 的程序试过吗?新建个项目单独测试下吧。
3.手自动切换跟你的向导没关系。
提问者对于答案的评价:
十分感谢谢earlhust的提醒,确实是未删除的MODBUS通讯库地址分配的存在在作怪,这也是交叉引用找不出来的。删掉后确实好了。这个问题让我伤了好一段时间的神,总算找出原因来了。
专家置评
已阅,最佳答案正确。
如果有问题,可以考虑新建空白程序测试,可以排除不正常是否和其他程序有关系
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc174869.html