智趣黃sir
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 62 個
工控威望: 95 點
下載積分: 1762 分
在線時間: 29(小時)
注冊時間: 2023-07-06
最后登錄: 2025-01-24
查看智趣黃sir的 主題 / 回貼
樓主  發(fā)表于: 42天前
1,采用匯川的EASy521,程序想實現(xiàn)自動切手動,只動氣缸,怕操作者移動軸,因為軸如果移動的話,沒法監(jiān)測到是否移動,再切回自動的話,會導致撞車。
本人的思路是如以下程序,切到手動的M3下降沿,記錄當前位置,再切回自動,進行差值計算,只能實現(xiàn)部分,還請各位大神指點。M3是自動模式,M4是自動運行中,F(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;
智趣黃sir
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 62 個
工控威望: 95 點
下載積分: 1762 分
在線時間: 29(小時)
注冊時間: 2023-07-06
最后登錄: 2025-01-24
查看智趣黃sir的 主題 / 回貼
1樓  發(fā)表于: 11天前
payfsl這位大佬思路清晰,正解!
智趣黃sir
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 62 個
工控威望: 95 點
下載積分: 1762 分
在線時間: 29(小時)
注冊時間: 2023-07-06
最后登錄: 2025-01-24
查看智趣黃sir的 主題 / 回貼
2樓  發(fā)表于: 10天前
圖片:
引用
引用第13樓hezhen880924于2025-01-17 08:47發(fā)表的  :
自動運行按停止,自動打成手動,手動操作完,再打自動改下步號再啟動,軸會重新定位到目標坐標。
也可以比較之前坐標狀態(tài)做提示,真的很簡單,不知道你是不是遇到了特殊情況。
程序按數(shù)字步號比較運行,很清晰,哪步有問題就在觸摸屏把流程步號改成前一步號運行。
步號運行全是數(shù)字,流程好管理,數(shù)字可以定義動作注釋,串行并行都可以運行。



我的步號沒有開放出來可以修改,拍下急停,觸發(fā)STOP指令,同時報警也會把自動運行中M4這個復位掉,軸立刻停止,松開急停,按下復位和啟發(fā),繼續(xù)自動運行,F(xiàn)在的問題是如果連續(xù)觸發(fā)急停,就會出現(xiàn)問題,觸發(fā)一次沒關系。