DEF MAKROTRIGGER(Funktion :IN, Nummer :IN)
Trigger 1 : Wenn M97 dann 觸發(fā)指令M97
-–圈數 KF1 EZ1 / SP1-
i1 ( EIN ) = i1 + 1
--–圈數更換電極后開始銑削零件1 EZ1 / SP1 SZ1(基本/對接) --
F95 = i2 = i1
F94 = F95 & !F287 + F94
--–圈數 更換電極后開始銑削第2部分EZ1 / SP1 SZ1(基本/對接) --
F97 = i3 = i1
F96 = F97 & F287 + F96
-–圈數. 普通銑削EZ1 / SP1 SZ1(基本/對接)-
F99 = i4 = i1
F98 = F99 + F98
-–圈數. 開始銑削零件1 EZ1 / SP1 SZ2(對接)-
F101 = i8 = i1
F100 = F101 & !F287 + F100
–圈數. 開始銑削第2部分EZ1 / SP1 SZ2(對接)-
F103 = i9 = i1
F102 = F103 & F287 + F102
–圈數. 普通銑削EZ1 / SP1 SZ2(對接)-
F105 = i10 = i1
F104 = F105 + F104
-圈數. 開始銑削零件1 EZ1 / SP1 SZ3(對接)-
F107 = i11 = i1
F106 = F107 & !F287 + F106
-圈數. 開始銑削第2部分EZ1 / SP1 SZ3(對接)-
F109 = i12 = i1
F108 = F109 & F287 + F108
-圈數.普通銑削EZ1 / SP1 SZ3(對接)-
F111 = i13 = i1
F110 = F111 + F110
-圈數. 開始銑削零件1 EZ1 / SP1 SZ4(對接)-
F113 = i14 = i1
F112 = F113 & !F287 + F112
-圈數. 開始銑削第2部分EZ1 / SP1 SZ4(對接)-
F115 = i15 = i1
F114 = F115 & F287 + F114
-圈數. 普通銑削EZ1 / SP1 SZ4(對接)-
F117 = i16 = i1
F116 = F117 + F116
M97 = (E718 & A718 +F312) & E834 & A834 & !F72 & !F73 & (F90 + F92)
E718 夾緊力到位,A718夾緊,F312在旋轉測試時, E834銑刀轉, A834銑刀電機轉,F90移動焊鉗銑削STEP激活, F92固定焊鉗銑削STEP激活.
在SPS里的調用MAKROTRIGGER(0,0)
在SPS里的調用MAKROTRIGGER(0,0)
Funktion=0 Nummer=0
DEF MAKROTRIGGER(Funktion :IN, Nummer :IN)聲明程序
INT FUNKTION, Nummer,I
SWITCH Nummer
CASE 0; 用于初始化
FOR I=1 TO 8 循環(huán)執(zhí)行8個Trigger
MAKROTRIGGER(1,I)此時FUNKTION=1開始
ENDFOR
-------------------------------------------------------
CASE 1;
SWITCH FUNKTION FUNKTION=1
CASE 1; Init
Trigger 1 : Wenn M97 dann
GLOBALINTERRUPTDECL 31 WHEN $CYCFLAG[97] DO MAKROTRIGGER(2,1)
使用中斷程序激活MAKROTRIGGER(2,1)用來執(zhí)行程序 1 FUNKTION=2用于之形成程序,Nummer=1 用于跳到當前步. 由M97激活TRIGGER程序
INTERRUPTON 31
CASE 2; FUNKTION=2 執(zhí)行程序
-- Umdrehungen KF1 EZ1/SP1 --
i1 ( EIN ) = i1 + 1
VW(#COUNTER,TRUE,1,$COUNT_I[1] + 1) 執(zhí)行VW計數器程序
-- Umdreh. Startfraesen Teil 1EZ1/SP1 SZ1 (Basic/Docking) --
F95 = i2 = i1
$FLAG[95] = $COUNT_I[2] == $COUNT_I[1]
F94 = F95 & !F287 + F94
$FLAG[94] = $FLAG[95] AND NOT $FLAG[287] OR $FLAG[94]
-- Umdreh. Startfraesen Teil 2EZ1/SP1 SZ1 (Basic/Docking) --
F97 = i3 = i1
$FLAG[97] = $COUNT_I[3] == $COUNT_I[1]
F96 = F97 & F287 + F96
$FLAG[96] = $FLAG[97] AND $FLAG[287] OR $FLAG[96]
-- Umdreh. Normal Fraesen EZ1/SP1 SZ1 (Basic/Docking) --
F99 = i4 = i1
$FLAG[99] = $COUNT_I[4] == $COUNT_I[1]
F98 = F99 + F98
$FLAG[98] = $FLAG[99] OR $FLAG[98]
ENDSWITCH Trigger1程序結束
--------------------------------------------------------------
CASE 2; Trigger2
SWITCH FUNKTION
CASE 1; Init
Trigger 2 : Wenn M104 dann
GLOBALINTERRUPTDECL 32 WHEN $CYCFLAG[104] DO MAKROTRIGGER(2,2)
MAKROTRIGGER(2,2)激活Trigger2
INTERRUPTON 32
CASE 2;
ENDSWITCH Trigger2程序結束
---------------------------------------------------------------
... ... ...
ENDSWITCH
END
總結: 簡單的說MAKROTRIGGER是通過中斷命令來實現功能的.
-
電極
+關注
關注
5文章
831瀏覽量
27359 -
KUKA機器人
+關注
關注
4文章
143瀏覽量
9224
原文標題:KUKA機器人MAKRO_TRIGGER程序用法分析
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論