雨后的彩虹
级别: 探索解密
精华主题: 0
发帖数量: 9 个
工控威望: 128 点
下载积分: 538 分
在线时间: 1(小时)
注册时间: 2012-12-06
最后登录: 2020-12-15
查看雨后的彩虹的 主题 / 回贴
楼主  发表于: 2020-11-14 10:36
最近在维修设备时,发现其PLC程序一启动,其复位指令控制的M40就被置位了,但前面的条件都没有满足,M40一直处于复位状态,想请教一下各位大侠,有谁知道这是咋回事啊? 
光明左使
级别: 论坛先锋
精华主题: 0
发帖数量: 148 个
工控威望: 1045 点
下载积分: 7091 分
在线时间: 90(小时)
注册时间: 2019-07-27
最后登录: 2024-05-03
查看光明左使的 主题 / 回贴
1楼  发表于: 2020-11-16 15:25
引用
引用第3楼雨后的彩虹于2020-11-14 11:33发表的  :
这是一个温度控制的程序,D1存储的是当前温度值,D200是温度设定值。C是计时器(记录M8014脉冲数的),这几个程序步是通过比较D1和D200的数值,当D1≥D200的时候,M40和M41就复位M40,当D1小于D200时,M42动作设备开始加热。这个M40是长期处于比较状态的,所以必须要用RST指令复位。
为了避免M40中途发生了冲突或被使用过,我把它换成了M210,但是在模拟运行时,发现这个M210还是处于置位状态。 [attachment=249550]

感覺你這個要做一個甚至多個上下限,用PV-SV的差值去做上下限比較,用ZCP指令更好一些。看上去應該是加熱液體的,如果是熱風這樣控制可能會不穩定。
“这个M40是长期处于比较状态的,所以必须要用RST指令复位。”這個不大明白你的用意,長期比較狀態爲什麽要用RST復位?比較結果的ON/OFF就是你比較出來的結果,等條件變化了結果自行就會變化,並不需要你單獨用指令去復位它。