設備動作簡單的一般都是復位從頭開始,當設備動作復雜,是那種多工站,搬運加工的情況就不需要處理了,當一個工站故障后,怎么處理,可能是暫停后手動取走,排除故障,繼續自動,就涉及到 手動/自動切換,暫停和繼續的問題了
其實就是你愿不愿意花時間,要是你把所有的可能出現的情況都加到你的程序中,任何情況都能自動判斷和處理,也就可以完美的解決,但這個所有情況,不是那么好弄的,還有好多你想不到,考慮不到的地方,其實這個就是程序的BUG,就是你程序寫的好不好的一個標準
樓主的思路是一個解決方法,但確實是有安全隱患,機臺操作你要給一個原則,比如:故障報警后,必須復位,成為無異常狀態后,按啟動,或運行,機臺才會動,不能切換個模式,就有動作的
以前嘗試過,每個輸出動作都單獨做條件,像氣缸就是伸出條件,縮回條件,自動運行時每次動作前都判斷條件是否滿足,當不滿足時,有兩種處理,1:跳轉返回到上一步或上幾步,2:直接報警停止,在每個工站的開頭都做自動復位動作,就是把這個工站的幾個部件,按順序復位的起始狀態,這樣,當自動時暫停,被手動后,再繼續自動時,完全可以直接判斷,跳轉到開頭,進行自動復位,
當然多工站的處理時還有很多要考慮的地方,如這個工站這樣復位后,是不是對這個工件加工了2次,會不會成為不良;取走產品后是否還能動作,對后面的工站是否有影響等
做工程趕時間時,簡單處理,但又時間是最好還是細細考慮,做的面面俱到,賦予你的程序靈魂