該程序顯示怎樣通過觸發器激活扭矩模式。(在后臺中,在工藝程序包 KUKA.ServoGun 中使用可對比的程序。即用戶不必對其進行編程。) 主程序: ?1 DEF SPOT() ?2 DECL BOOL error_occurred ? ?... ?3 Interrupt DECL 1 WHEN $stopmess DO resume_subprog() 如果出現一個錯誤,則應調用 resume_subprog()。 ?4 Interrupt ON 1? ?5 REPEAT ?6? error_occurred = false ?7? SPOT_MOVE()調用焊接程序 SPOT_MOVE()。 8 UNTIL error_occurred == false
如果出現一個錯誤 (即在 error_occurred == true 時),則重復 SPOT_MOVE()。
焊接程序:
1 DEF SPOT_MOVE()
...
2 TorqLimWeld = {lower -1000, upper 1000 , monitor #off}
3 i = 6+EG_EXTAX_ACTIVE
...
4 LIN P_APPROX C_DIS
5 $VEL_EXTAX[EG_EXTAX_ACTIVE]=EG_MAX_CONST_VEL[EG_EXTAX_ACTIVE]
6 LIN P_APPROX C_DIS
7 TRIGGER WHEN DISTANCE=0 DELAY=50 DO SET_TORQUE_LIMITS(i,
TorqLimWeld) PRIO = -1
在焊鉗觸碰工件前不久,減小轉矩。
8 LIN P_PART C_DIS
9 TRIGGER WHEN DISTANCE=0 DELAY=50 DO START_TIMER_SPOT() PRIO=82
10 LIN P_PRESSURE C_DIS
11 LIN P_WELD建立壓力,然后進行焊接。
12 WAIT FOR EG_TRIGGER_END焊接計時器發出焊接完成信號。
13 RESET_TORQUE_LIMITS(i)
取消扭矩限制并重新接通正式的監控。此外,使額定位置與實際位置相適應。 14 Interrupt OFF 1
15 LIN P_PART C_DIS
16 END
提交程序:伺服焊鉗建立壓力 E1 在 ASYPTP {E1 10} 時已同步。 或者:$ASYNC_MODE 已配置 (位 0 = 1),以使在 ASYPTP 時在提交解釋器中隱含地將軸設定為同步。 1 IF $PRO_STATE1==#P_FREE確保沒有選擇機器人程序。 2 SET_TORQUE_LIMITS(7,{upper 1000, monitor #off }) 限制正扭矩并關閉常規的監控。 3 ASYPTP {E1 10}沿工件后目標點 {E1 10} 方向移動。建立對工件的壓力。 ... 4 RESET_TORQUE_LIMITS(7) 取消扭矩限制并重新接通正式的監控。此外,使額定位置與實際位置相適應。 解釋器在 RESET_TORQUE_LIMITS(7) 中等至異步運動已結束。 只在如此之后才進行額定 / 實際匹配。因此,不需要在 RESET… 之前編程設定 WAIT FOR $ASYNC_STATE == #IDLE。 5 ASYPTP {E1 -10}重新打開焊鉗。 6 ENDIF
-
機器人
+關注
關注
211文章
28646瀏覽量
208439 -
程序
+關注
關注
117文章
3796瀏覽量
81420 -
觸發器
+關注
關注
14文章
2003瀏覽量
61353
原文標題:KUKA 機器人程序:伺服焊鉗建立壓力
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論