雨后的彩虹
級別: 探索解密
|
最近在維修設備時,發現其PLC程序一啟動,其復位指令控制的M40就被置位了,但前面的條件都沒有滿足,M40一直處于復位狀態,想請教一下各位大俠,有誰知道這是咋回事啊? |
---|---|
|
湛藍小爾
工控交流 Q703935819
級別: 家園常客
|
查找,M40和M40肯定有一個導通過。 自鎖M40,M41來查找,到底哪里觸發了 |
|
---|---|---|
|
混口飯吃
級別: 略有小成
|
CMP是不是比較指令D1D200一上電的值,使M40變換了吧如果D0>D200,M40=1 如果D0=D200,M41=1 如果D0<D200,M42=1 程序不全我猜的 |
---|---|
|
雨后的彩虹
級別: 探索解密
|
這是一個溫度控制的程序,D1存儲的是當前溫度值,D200是溫度設定值。C是計時器(記錄M8014脈沖數的),這幾個程序步是通過比較D1和D200的數值,當D1≥D200的時候,M40和M41就復位M40,當D1小于D200時,M42動作設備開始加熱。這個M40是長期處于比較狀態的,所以必須要用RST指令復位。 為了避免M40中途發生了沖突或被使用過,我把它換成了M210,但是在模擬運行時,發現這個M210還是處于置位狀態。 |
---|---|
|
雨后的彩虹
級別: 探索解密
|
我又找到以前程子華老師的一個CMP比較程序的范例,我把這個程序做了模擬測試,發現程序一運行,RST沒有出現開機即置位的狀態。感覺之前提到的這個程序還是在某一段上有bug。 個人認為,在一個程序中如果發現有出現莫名其妙的問題,應該嘗試把程序不重要的,或者沒有直接關聯的部分全部剔除掉。把有問題的核心程序內容進行單獨的測試,或許能看到問題所在。 |
---|---|
|
雨后的彩虹
級別: 探索解密
|
不是正常的。因為這個M40一直處于復位狀態,導致加熱程序出現了溫度不可控。以前不是這樣子,肯定是程序在編寫調試過程中有什么細節部分有問題。下午我把程序再精簡一下,看看問題在哪里 |
---|---|
|
金蛇郎君czz
車到山前必有路 czz674613079@163.com
級別: 網絡英雄
|
|
|
---|---|---|
|