智趣黃sir
級別: 正式會員
|
1,采用匯川的EASy521,程序想實現(xiàn)自動切手動,只動氣缸,怕操作者移動軸,因為軸如果移動的話,沒法監(jiān)測到是否移動,再切回自動的話,會導(dǎo)致撞車。 本人的思路是如以下程序,切到手動的M3下降沿,記錄當(dāng)前位置,再切回自動,進(jìn)行差值計算,只能實現(xiàn)部分,還請各位大神指點。M3是自動模式,M4是自動運行中。現(xiàn)在的問題是可以實現(xiàn)部分功能,但是拍急停的話,就會出現(xiàn)報警,因為急停拍下后,各個軸就立即停止。 自動模式下降沿(CLK := M3,Q => ); IF 自動模式下降沿.Q THEN X自動前位置old:=X_Axis.fActPosition; Y自動前位置old:=Y_Axis.fActPosition; Z自動前位置old:=Z_Axis.fActPosition; L自動前位置old:=Lift_Axis.fActPosition; END_IF; 自動模式上升沿(CLK := M4 ,Q => ); IF 自動模式上升沿.Q then X自動前位置new:=X_Axis.fActPosition; Y自動前位置new:=Y_Axis.fActPosition; Z自動前位置new:=Z_Axis.fActPosition; L自動前位置new:=Lift_Axis.fActPosition; X自動前位置差值:=X自動前位置new-X自動前位置old; X自動前位置點位差值:=X自動前位置new-POSTION_X[X_Axis_AutoAbNum]; X自動前位置差值絕對值:=ABS(X自動前位置差值); X自動前位置點位差值絕對值:=ABS(X自動前位置點位差值); Y自動前位置差值:=Y自動前位置new-Y自動前位置old; Y自動前位置點位差值:=Y自動前位置new-POSTION_Y[Y_Axis_AutoAbNum]; Y自動前位置差值絕對值:=ABS(Y自動前位置差值); Y自動前位置點位差值絕對值:=ABS(Y自動前位置點位差值); Z自動前位置差值:=Z自動前位置new-Z自動前位置old; Z自動前位置點位差值:=Z自動前位置new-POSTION_Z[Z_Axis_AutoAbNum]; Z自動前位置差值絕對值:=ABS(Z自動前位置差值); Z自動前位置點位差值絕對值:=ABS(Z自動前位置點位差值); L自動前位置差值:=L自動前位置new-L自動前位置old; L自動前位置差值絕對值:=ABS(L自動前位置差值); END_IF; IF M4=true AND X自動前位置差值絕對值>E0.5 AND X自動前位置點位差值絕對值>E0.5 THEN Alarm[86]:=TRUE; END_IF; IF M4=true AND Y自動前位置差值絕對值>E0.5 AND Y自動前位置點位差值絕對值>E0.5 THEN Alarm[87]:=TRUE; END_IF; IF M4=true AND Z自動前位置差值絕對值>E0.5 AND Z自動前位置點位差值絕對值>E0.5 THEN Alarm[88]:=TRUE; END_IF; IF M4=true AND L自動前位置差值絕對值>E0.5 THEN Alarm[89]:=TRUE; END_IF; |
---|---|
|
cooovl
向大佬學(xué)習(xí) 向大佬致敬。
級別: 家園常客
|
你這搞得好復(fù)雜 |
|
---|---|---|
|
nightblueblu
道阻且長,窮且益堅。
級別: 論壇先鋒
|
常規(guī)思路,沒啥問題,這么寫雖然復(fù)雜卻沒有任何問題。 還有一種就是,軸定位全部使用絕對位置,移動也就移動了,只要恢復(fù)后檢測軸移動過程中有沒有干涉就可以了,一般軸移動過程中的干涉大致就是些氣缸動作不到位,你把氣缸的位置檢測作為軸移動的條件就可以 至于急停,急停了就重新復(fù)位再來,急停式緊急情況下使用,不是當(dāng)作普通的停止使用,急停最大程度的保護(hù)人員、設(shè)備、產(chǎn)品,不是隨意使用的玩意兒 |
|
---|---|---|
|
zq123666
級別: 工控俠客
|
這是常規(guī)寫法啊!觸發(fā)暫停時一個上升沿保存氣缸狀態(tài)與軸位置,再切自動繼續(xù)時比較狀態(tài)!不一致則提示對應(yīng)的軸或氣缸與暫停前狀態(tài)位置不同,并提示人工操作返回暫停前狀態(tài)位置后方可再自動,否則則需要對模塊初始化。 我會寫個界面,指示燈顯示各氣缸/軸位置與暫停前比較,并做按鈕可手動恢復(fù)回暫停前狀態(tài),這樣就不必整機(jī)初始化或模塊初始化操作了。 急停拍下后設(shè)備必須整機(jī)初始化啊,要不還分什么急停按鈕與暫停按鈕呢 |
---|---|
|
bruce2020
級別: 論壇先鋒
|
又討論世紀(jì)難題。切換,還是要記住狀態(tài)。是否到位。在什么位置。 急停就是遇到緊急情況按下的,是為了保證人安全,其次是設(shè)備安全。使用者,經(jīng)常按的話。報廢物料就算他的操作了。 氣缸狀態(tài)的話,用異或來比較。 [ 此帖被bruce2020在2024-12-25 22:02重新編輯 ] |
---|---|
|