夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交

  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
智趣黃sir
級別: 探索解密
精華主題: 0
發(fā)帖數量: 68 個(gè)
工控威望: 102 點(diǎn)
下載積分: 1777 分
在線(xiàn)時(shí)間: 32(小時(shí))
注冊時(shí)間: 2023-07-06
最后登錄: 2025-06-04
查看智趣黃sir的 主題 / 回貼
樓主  發(fā)表于: 2024-12-16 14:22
1,采用匯川的EASy521,程序想實(shí)現自動(dòng)切手動(dòng),只動(dòng)氣缸,怕操作者移動(dòng)軸,因為軸如果移動(dòng)的話(huà),沒(méi)法監測到是否移動(dòng),再切回自動(dòng)的話(huà),會(huì )導致撞車(chē)。
本人的思路是如以下程序,切到手動(dòng)的M3下降沿,記錄當前位置,再切回自動(dòng),進(jìn)行差值計算,只能實(shí)現部分,還請各位大神指點(diǎn)。M3是自動(dòng)模式,M4是自動(dòng)運行中,F在的問(wèn)題是可以實(shí)現部分功能,但是拍急停的話(huà),就會(huì )出現報警,因為急停拍下后,各個(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)前位置差值絕對值:=ABS(X自動(dòng)前位置差值);
    X自動(dòng)前位置點(diǎn)位差值絕對值:=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)前位置差值絕對值:=ABS(Y自動(dòng)前位置差值);
    Y自動(dòng)前位置點(diǎn)位差值絕對值:=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)前位置差值絕對值:=ABS(Z自動(dòng)前位置差值);
    Z自動(dòng)前位置點(diǎn)位差值絕對值:=ABS(Z自動(dòng)前位置點(diǎn)位差值);
    
        L自動(dòng)前位置差值:=L自動(dòng)前位置new-L自動(dòng)前位置old;
    L自動(dòng)前位置差值絕對值:=ABS(L自動(dòng)前位置差值);

END_IF;

IF M4=true AND X自動(dòng)前位置差值絕對值>E0.5  AND X自動(dòng)前位置點(diǎn)位差值絕對值>E0.5 THEN
           Alarm[86]:=TRUE;
END_IF;
IF M4=true AND Y自動(dòng)前位置差值絕對值>E0.5  AND Y自動(dòng)前位置點(diǎn)位差值絕對值>E0.5 THEN
           Alarm[87]:=TRUE;
END_IF;
IF M4=true AND Z自動(dòng)前位置差值絕對值>E0.5  AND Z自動(dòng)前位置點(diǎn)位差值絕對值>E0.5 THEN
           Alarm[88]:=TRUE;
END_IF;
IF M4=true AND L自動(dòng)前位置差值絕對值>E0.5  THEN
           Alarm[89]:=TRUE;
END_IF;
hezhen880924
級別: 略有小成
精華主題: 0
發(fā)帖數量: 174 個(gè)
工控威望: 300 點(diǎn)
下載積分: 899 分
在線(xiàn)時(shí)間: 643(小時(shí))
注冊時(shí)間: 2013-01-08
最后登錄: 2025-03-17
查看hezhen880924的 主題 / 回貼
1樓  發(fā)表于: 2024-12-16 14:30
搞這么復雜干嘛,看下別人怎么寫(xiě)的,多吸收點(diǎn)經(jīng)驗。太復雜了
多看別人的程序,少走很多彎路,很多人碰到過(guò)這個(gè)問(wèn)題,相信人外有人。
[ 此帖被hezhen880924在2024-12-31 09:08重新編輯 ]
刺猬果果
級別: 探索解密
精華主題: 0
發(fā)帖數量: 110 個(gè)
工控威望: 192 點(diǎn)
下載積分: 3878 分
在線(xiàn)時(shí)間: 114(小時(shí))
注冊時(shí)間: 2022-04-18
最后登錄: 2025-06-05
查看刺猬果果的 主題 / 回貼
2樓  發(fā)表于: 2024-12-16 14:40
在M3下降沿給個(gè)變量賦值TRUE;切換回M3上升沿的時(shí)候和這個(gè)變量做個(gè)&運算
sjm123
https://weike.fm/SyNGJc43f
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 500 個(gè)
工控威望: 1229 點(diǎn)
下載積分: 627 分
在線(xiàn)時(shí)間: 128(小時(shí))
注冊時(shí)間: 2016-05-14
最后登錄: 2025-06-05
查看sjm123的 主題 / 回貼
3樓  發(fā)表于: 2024-12-16 14:58
你這搞得好復雜
向大佬學(xué)習~向大佬致敬
壓縮包解WINRAR
一天學(xué)一點(diǎn)點(diǎn)
空群:4057363
nightblueblu
道阻且長(cháng),窮且益堅。
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 1039 個(gè)
工控威望: 1862 點(diǎn)
下載積分: 291 分
在線(xiàn)時(shí)間: 1152(小時(shí))
注冊時(shí)間: 2017-02-09
最后登錄: 2025-06-05
查看nightblueblu的 主題 / 回貼
4樓  發(fā)表于: 2024-12-16 15:38
常規思路,沒(méi)啥問(wèn)題,這么寫(xiě)雖然復雜卻沒(méi)有任何問(wèn)題。
還有一種就是,軸定位全部使用絕對位置,移動(dòng)也就移動(dòng)了,只要恢復后檢測軸移動(dòng)過(guò)程中有沒(méi)有干涉就可以了,一般軸移動(dòng)過(guò)程中的干涉大致就是些氣缸動(dòng)作不到位,你把氣缸的位置檢測作為軸移動(dòng)的條件就可以
至于急停,急停了就重新復位再來(lái),急停式緊急情況下使用,不是當作普通的停止使用,急停最大程度的保護人員、設備、產(chǎn)品,不是隨意使用的玩意兒
Your happiness is everything.
中文就中文
級別: 探索解密
精華主題: 0
發(fā)帖數量: 137 個(gè)
工控威望: 165 點(diǎn)
下載積分: 5508 分
在線(xiàn)時(shí)間: 129(小時(shí))
注冊時(shí)間: 2024-11-13
最后登錄: 2025-06-05
查看中文就中文的 主題 / 回貼
5樓  發(fā)表于: 2024-12-16 18:54
要么給氣缸手動(dòng)寫(xiě)個(gè)權限,要么給軸寫(xiě)個(gè)手動(dòng)權限。不要瞎動(dòng)。
zq123666
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 557 個(gè)
工控威望: 2221 點(diǎn)
下載積分: 27325 分
在線(xiàn)時(shí)間: 1224(小時(shí))
注冊時(shí)間: 2021-03-24
最后登錄: 2025-06-05
查看zq123666的 主題 / 回貼
6樓  發(fā)表于: 2024-12-25 18:07
這是常規寫(xiě)法!觸發(fā)暫停時(shí)一個(gè)上升沿保存氣缸狀態(tài)與軸位置,再切自動(dòng)繼續時(shí)比較狀態(tài)!不一致則提示對應的軸或氣缸與暫停前狀態(tài)位置不同,并提示人工操作返回暫停前狀態(tài)位置后方可再自動(dòng),否則則需要對模塊初始化。
我會(huì )寫(xiě)個(gè)界面,指示燈顯示各氣缸/軸位置與暫停前比較,并做按鈕可手動(dòng)恢復回暫停前狀態(tài),這樣就不必整機初始化或模塊初始化操作了。
急停拍下后設備必須整機初始化啊,要不還分什么急停按鈕與暫停按鈕呢
bruce2020
級別: 論壇先鋒
精華主題: 1 篇
發(fā)帖數量: 1306 個(gè)
工控威望: 1571 點(diǎn)
下載積分: 3923 分
在線(xiàn)時(shí)間: 895(小時(shí))
注冊時(shí)間: 2017-11-25
最后登錄: 2025-06-05
查看bruce2020的 主題 / 回貼
7樓  發(fā)表于: 2024-12-25 21:53
又討論世紀難題。切換,還是要記住狀態(tài)。是否到位。在什么位置。
急停就是遇到緊急情況按下的,是為了保證人安全,其次是設備安全。使用者,經(jīng)常按的話(huà)。報廢物料就算他的操作了。
氣缸狀態(tài)的話(huà),用異或來(lái)比較。
[ 此帖被bruce2020在2024-12-25 22:02重新編輯 ]
卓發(fā)智能
相互學(xué)習,共同進(jìn)步。
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 2490 個(gè)
工控威望: 3106 點(diǎn)
下載積分: 12504 分
在線(xiàn)時(shí)間: 671(小時(shí))
注冊時(shí)間: 2008-08-03
最后登錄: 2025-06-03
查看卓發(fā)智能的 主題 / 回貼
8樓  發(fā)表于: 2024-12-26 08:28
軸移動(dòng)有什么問(wèn)題啊,手動(dòng)時(shí)做好防撞條件限制,軸定位用絕對位置指令,就算軸在手動(dòng)時(shí)走過(guò)了位置也沒(méi)有關(guān)系,再次啟動(dòng)絕對定位時(shí)會(huì )自已找到指令給定的座標位置。
相信自我!
payfsl
級別: 工控俠客
精華主題: 2 篇
發(fā)帖數量: 2620 個(gè)
工控威望: 2898 點(diǎn)
下載積分: 40087 分
在線(xiàn)時(shí)間: 488(小時(shí))
注冊時(shí)間: 2010-08-03
最后登錄: 2025-06-02
查看payfsl的 主題 / 回貼
9樓  發(fā)表于: 2024-12-30 19:49
您的程序邏輯是在自動(dòng)模式切換到手動(dòng)模式時(shí)記錄軸的位置,然后從手動(dòng)模式切換回自動(dòng)模式時(shí)計算位置差值,如果差值超過(guò)設定的閾值,則觸發(fā)報警。這個(gè)邏輯是合理的,但是您提到的問(wèn)題是在急停情況下會(huì )出現報警,因為急停會(huì )導致軸立即停止,這可能會(huì )導致位置差值計算出現異常。

為了解決這個(gè)問(wèn)題,您可以考慮以下幾個(gè)步驟:

1. **增加急停狀態(tài)檢測**:在您的程序中增加一個(gè)變量來(lái)檢測急停狀態(tài),當急停按鈕被按下時(shí),這個(gè)變量會(huì )被設置為真。

2. **在急停狀態(tài)下跳過(guò)位置差值計算**:在您的程序中,當檢測到急停狀態(tài)時(shí),跳過(guò)位置差值的計算和報警觸發(fā)。

3. **急;謴秃笾刂梦恢**:當急停狀態(tài)被解除后,重置軸的位置記錄,以便下一次從手動(dòng)切換到自動(dòng)時(shí)能夠正確計算位置差值。

以下是修改后的程序示例:

```pascal
VAR
    急停狀態(tài): BOOL; (* 急停狀態(tài)標志 *)
    X自動(dòng)前位置old: REAL;
    Y自動(dòng)前位置old: REAL;
    Z自動(dòng)前位置old: REAL;
    L自動(dòng)前位置old: REAL;
    X自動(dòng)前位置new: REAL;
    Y自動(dòng)前位置new: REAL;
    Z自動(dòng)前位置new: REAL;
    L自動(dòng)前位置new: REAL;
    X自動(dòng)前位置差值: REAL;
    Y自動(dòng)前位置差值: REAL;
    Z自動(dòng)前位置差值: REAL;
    L自動(dòng)前位置差值: REAL;
    X自動(dòng)前位置點(diǎn)位差值: REAL;
    Y自動(dòng)前位置點(diǎn)位差值: REAL;
    Z自動(dòng)前位置點(diǎn)位差值: REAL;
    X自動(dòng)前位置差值絕對值: REAL;
    Y自動(dòng)前位置差值絕對值: REAL;
    Z自動(dòng)前位置差值絕對值: REAL;
    L自動(dòng)前位置差值絕對值: REAL;
    X自動(dòng)前位置點(diǎn)位差值絕對值: REAL;
    Y自動(dòng)前位置點(diǎn)位差值絕對值: REAL;
    Z自動(dòng)前位置點(diǎn)位差值絕對值: REAL;
END_VAR

自動(dòng)模式下降沿(CLK := M3, Q => );
IF 自動(dòng)模式下降沿.Q THEN
    IF NOT 急停狀態(tài) 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;
END_IF;

自動(dòng)模式上升沿(CLK := M4, Q => );
IF 自動(dòng)模式上升沿.Q THEN
    IF NOT 急停狀態(tài) 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)前位置差值絕對值 := ABS(X自動(dòng)前位置差值);
        X自動(dòng)前位置點(diǎn)位差值絕對值 := 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)前位置差值絕對值 := ABS(Y自動(dòng)前位置差值);
        Y自動(dòng)前位置點(diǎn)位差值絕對值 := 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)前位置差值絕對值 := ABS(Z自動(dòng)前位置差值);
        Z自動(dòng)前位置點(diǎn)位差值絕對值 := ABS(Z自動(dòng)前位置點(diǎn)位差值);

        L自動(dòng)前位置差值 := L自動(dòng)前位置new - L自動(dòng)前位置old;
        L自動(dòng)前位置差值絕對值 := ABS(L自動(dòng)前位置差值);

        IF M4 = TRUE AND X自動(dòng)前位置差值絕對值 > E0.5 AND X自動(dòng)前位置點(diǎn)位差值絕對值 > E0.5 THEN
            Alarm[86] := TRUE;
        END_IF;
        IF M4 = TRUE AND Y自動(dòng)前位置差值絕對值 > E0.5 AND Y自動(dòng)前位置點(diǎn)位差值絕對值 > E0.5 THEN
            Alarm[87] := TRUE;
        END_IF;
        IF M4 = TRUE AND Z自動(dòng)前位置差值絕對值 > E0.5 AND Z自動(dòng)前位置點(diǎn)位差值絕對值 > E0.5 THEN
            Alarm[88] := TRUE;
        END_IF;
        IF M4 = TRUE AND L自動(dòng)前位置差值絕對值 > E0.5 THEN
            Alarm[89] := TRUE;
        END_IF;
    END_IF;
END_IF;

(* 急停按鈕被按下時(shí)設置急停狀態(tài) *)
急停按鈕按下(CLK := E-Stop, Q => );
IF 急停按鈕按下.Q THEN
    急停狀態(tài) := TRUE;
END_IF;

(* 急停按鈕釋放后重置急停狀態(tài)和軸位置 *)
急停按鈕釋放(CLK := E-Stop, Q => );
IF 急停按鈕釋放.Q THEN
    急停狀態(tài) := FALSE;
    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;
```

請注意,您需要根據您的實(shí)際硬件和軟件環(huán)境調整上述代碼。希望這些修改能夠幫助您解決問(wèn)題。
本帖最近評分記錄:
  • 下載積分:+1(一輪明月) X動(dòng)前位置點(diǎn)位差值這個(gè)的 ..
  • 下載積分:+2(智趣黃sir) 謝謝大佬,思路清晰
  • 三人行必有我師焉,擇其善者而從之 ,學(xué)而不思則罔,思而不學(xué)則殆
    鐵鍬莊稼漢
    級別: 探索解密
    精華主題: 0
    發(fā)帖數量: 68 個(gè)
    工控威望: 120 點(diǎn)
    下載積分: 497 分
    在線(xiàn)時(shí)間: 15(小時(shí))
    注冊時(shí)間: 2024-09-01
    最后登錄: 2025-06-03
    查看鐵鍬莊稼漢的 主題 / 回貼
    10樓  發(fā)表于: 2024-12-31 10:48
    表示看不懂,梯形圖還行,我一直用的就是梯形圖
    智趣黃sir
    級別: 探索解密
    精華主題: 0
    發(fā)帖數量: 68 個(gè)
    工控威望: 102 點(diǎn)
    下載積分: 1777 分
    在線(xiàn)時(shí)間: 32(小時(shí))
    注冊時(shí)間: 2023-07-06
    最后登錄: 2025-06-04
    查看智趣黃sir的 主題 / 回貼
    11樓  發(fā)表于: 2025-01-16 17:14
    payfsl這位大佬思路清晰,正解!
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go

    夜夜躁日日躁狠狠久久|国产精品亚洲va在线观看|色天天天天综合男人的天堂|日本特黄特色aa大片免费|国产好痛疼轻点好爽的视频|欧美18school人禽杂交