智趣黃sir
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 60 個(gè)
工控威望: 93 點(diǎn)
下載積分: 1738 分
在線時(shí)間: 26(小時(shí))
注冊(cè)時(shí)間: 2023-07-06
最后登錄: 2024-12-17
查看智趣黃sir的 主題 / 回貼
樓主  發(fā)表于: 10天前
1,采用匯川的EASy521,程序想實(shí)現(xiàn)自動(dòng)切手動(dòng),只動(dòng)氣缸,怕操作者移動(dòng)軸,因?yàn)檩S如果移動(dòng)的話,沒法監(jiān)測(cè)到是否移動(dòng),再切回自動(dòng)的話,會(huì)導(dǎo)致撞車。
本人的思路是如以下程序,切到手動(dòng)的M3下降沿,記錄當(dāng)前位置,再切回自動(dòng),進(jìn)行差值計(jì)算,只能實(shí)現(xiàn)部分,還請(qǐng)各位大神指點(diǎn)。M3是自動(dòng)模式,M4是自動(dòng)運(yùn)行中,F(xiàn)在的問題是可以實(shí)現(xiàn)部分功能,但是拍急停的話,就會(huì)出現(xiàn)報(bào)警,因?yàn)榧蓖E南潞,各個(gè)軸就立即停止。


自動(dòng)模式下降沿(CLK := M3,Q => );
IF 自動(dòng)模式下降沿.Q THEN
    X自動(dòng)前位置old:=X_Axis.fActPosition;
    Y自動(dòng)前位置old:=Y_Axis.fActPosition;
    Z自動(dòng)前位置old:=Z_Axis.fActPosition;
    L自動(dòng)前位置old:=Lift_Axis.fActPosition;
END_IF;

自動(dòng)模式上升沿(CLK := M4 ,Q => );
IF 自動(dòng)模式上升沿.Q then
    X自動(dòng)前位置new:=X_Axis.fActPosition;
    Y自動(dòng)前位置new:=Y_Axis.fActPosition;
    Z自動(dòng)前位置new:=Z_Axis.fActPosition;
    L自動(dòng)前位置new:=Lift_Axis.fActPosition;

    X自動(dòng)前位置差值:=X自動(dòng)前位置new-X自動(dòng)前位置old;
    X自動(dòng)前位置點(diǎn)位差值:=X自動(dòng)前位置new-POSTION_X[X_Axis_AutoAbNum];
    X自動(dòng)前位置差值絕對(duì)值:=ABS(X自動(dòng)前位置差值);
    X自動(dòng)前位置點(diǎn)位差值絕對(duì)值:=ABS(X自動(dòng)前位置點(diǎn)位差值);

    Y自動(dòng)前位置差值:=Y自動(dòng)前位置new-Y自動(dòng)前位置old;
    Y自動(dòng)前位置點(diǎn)位差值:=Y自動(dòng)前位置new-POSTION_Y[Y_Axis_AutoAbNum];
    Y自動(dòng)前位置差值絕對(duì)值:=ABS(Y自動(dòng)前位置差值);
    Y自動(dòng)前位置點(diǎn)位差值絕對(duì)值:=ABS(Y自動(dòng)前位置點(diǎn)位差值);
    
        Z自動(dòng)前位置差值:=Z自動(dòng)前位置new-Z自動(dòng)前位置old;
    Z自動(dòng)前位置點(diǎn)位差值:=Z自動(dòng)前位置new-POSTION_Z[Z_Axis_AutoAbNum];
    Z自動(dòng)前位置差值絕對(duì)值:=ABS(Z自動(dòng)前位置差值);
    Z自動(dòng)前位置點(diǎn)位差值絕對(duì)值:=ABS(Z自動(dòng)前位置點(diǎn)位差值);
    
        L自動(dòng)前位置差值:=L自動(dòng)前位置new-L自動(dòng)前位置old;
    L自動(dòng)前位置差值絕對(duì)值:=ABS(L自動(dòng)前位置差值);

END_IF;

IF M4=true AND X自動(dòng)前位置差值絕對(duì)值>E0.5  AND X自動(dòng)前位置點(diǎn)位差值絕對(duì)值>E0.5 THEN
           Alarm[86]:=TRUE;
END_IF;
IF M4=true AND Y自動(dòng)前位置差值絕對(duì)值>E0.5  AND Y自動(dòng)前位置點(diǎn)位差值絕對(duì)值>E0.5 THEN
           Alarm[87]:=TRUE;
END_IF;
IF M4=true AND Z自動(dòng)前位置差值絕對(duì)值>E0.5  AND Z自動(dòng)前位置點(diǎn)位差值絕對(duì)值>E0.5 THEN
           Alarm[88]:=TRUE;
END_IF;
IF M4=true AND L自動(dòng)前位置差值絕對(duì)值>E0.5  THEN
           Alarm[89]:=TRUE;
END_IF;
hezhen880924
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 151 個(gè)
工控威望: 277 點(diǎn)
下載積分: 842 分
在線時(shí)間: 558(小時(shí))
注冊(cè)時(shí)間: 2013-01-08
最后登錄: 2024-12-25
查看hezhen880924的 主題 / 回貼
1樓  發(fā)表于: 10天前
搞這么復(fù)雜干嘛,看下別人怎么寫的,多吸收點(diǎn)經(jīng)驗(yàn)。太復(fù)雜了
刺猬果果
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 93 個(gè)
工控威望: 172 點(diǎn)
下載積分: 3065 分
在線時(shí)間: 88(小時(shí))
注冊(cè)時(shí)間: 2022-04-18
最后登錄: 2024-12-24
查看刺猬果果的 主題 / 回貼
2樓  發(fā)表于: 10天前
在M3下降沿給個(gè)變量賦值TRUE;切換回M3上升沿的時(shí)候和這個(gè)變量做個(gè)&運(yùn)算
cooovl
向大佬學(xué)習(xí)   向大佬致敬。
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 281 個(gè)
工控威望: 801 點(diǎn)
下載積分: 343 分
在線時(shí)間: 71(小時(shí))
注冊(cè)時(shí)間: 2016-05-14
最后登錄: 2024-12-23
查看cooovl的 主題 / 回貼
3樓  發(fā)表于: 10天前
你這搞得好復(fù)雜
人生是沒有捷徑只能一步一個(gè)腳印往前行.....................
nightblueblu
道阻且長(zhǎng),窮且益堅(jiān)。
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1025 個(gè)
工控威望: 1848 點(diǎn)
下載積分: 258 分
在線時(shí)間: 1129(小時(shí))
注冊(cè)時(shí)間: 2017-02-09
最后登錄: 2024-12-25
查看nightblueblu的 主題 / 回貼
4樓  發(fā)表于: 10天前
常規(guī)思路,沒啥問題,這么寫雖然復(fù)雜卻沒有任何問題。
還有一種就是,軸定位全部使用絕對(duì)位置,移動(dòng)也就移動(dòng)了,只要恢復(fù)后檢測(cè)軸移動(dòng)過程中有沒有干涉就可以了,一般軸移動(dòng)過程中的干涉大致就是些氣缸動(dòng)作不到位,你把氣缸的位置檢測(cè)作為軸移動(dòng)的條件就可以
至于急停,急停了就重新復(fù)位再來,急停式緊急情況下使用,不是當(dāng)作普通的停止使用,急停最大程度的保護(hù)人員、設(shè)備、產(chǎn)品,不是隨意使用的玩意兒
Your happiness is everything.
中文就中文
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 69 個(gè)
工控威望: 96 點(diǎn)
下載積分: 1160 分
在線時(shí)間: 46(小時(shí))
注冊(cè)時(shí)間: 2024-11-13
最后登錄: 2024-12-25
查看中文就中文的 主題 / 回貼
5樓  發(fā)表于: 10天前
要么給氣缸手動(dòng)寫個(gè)權(quán)限,要么給軸寫個(gè)手動(dòng)權(quán)限。不要瞎動(dòng)。
zq123666
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 505 個(gè)
工控威望: 2168 點(diǎn)
下載積分: 23317 分
在線時(shí)間: 1092(小時(shí))
注冊(cè)時(shí)間: 2021-03-24
最后登錄: 2024-12-25
查看zq123666的 主題 / 回貼
6樓  發(fā)表于: 昨天
這是常規(guī)寫法啊!觸發(fā)暫停時(shí)一個(gè)上升沿保存氣缸狀態(tài)與軸位置,再切自動(dòng)繼續(xù)時(shí)比較狀態(tài)!不一致則提示對(duì)應(yīng)的軸或氣缸與暫停前狀態(tài)位置不同,并提示人工操作返回暫停前狀態(tài)位置后方可再自動(dòng),否則則需要對(duì)模塊初始化。
我會(huì)寫個(gè)界面,指示燈顯示各氣缸/軸位置與暫停前比較,并做按鈕可手動(dòng)恢復(fù)回暫停前狀態(tài),這樣就不必整機(jī)初始化或模塊初始化操作了。
急停拍下后設(shè)備必須整機(jī)初始化啊,要不還分什么急停按鈕與暫停按鈕呢
bruce2020
級(jí)別: 論壇先鋒
精華主題: 1 篇
發(fā)帖數(shù)量: 1089 個(gè)
工控威望: 1350 點(diǎn)
下載積分: 3429 分
在線時(shí)間: 732(小時(shí))
注冊(cè)時(shí)間: 2017-11-25
最后登錄: 2024-12-26
查看bruce2020的 主題 / 回貼
7樓  發(fā)表于: 昨天
又討論世紀(jì)難題。切換,還是要記住狀態(tài)。是否到位。在什么位置。
急停就是遇到緊急情況按下的,是為了保證人安全,其次是設(shè)備安全。使用者,經(jīng)常按的話。報(bào)廢物料就算他的操作了。
氣缸狀態(tài)的話,用異或來比較。
[ 此帖被bruce2020在2024-12-25 22:02重新編輯 ]