DEF MAKROTRIGGER(Funktion :IN, Nummer :IN)
Trigger 1 : Wenn M97 dann 觸發(fā)指令M97
-–圈數(shù) KF1 EZ1 / SP1-
i1 ( EIN ) = i1 + 1
--–圈數(shù)更換電極后開始銑削零件1 EZ1 / SP1 SZ1(基本/對接) --
F95 = i2 = i1
F94 = F95 & !F287 + F94
--–圈數(shù) 更換電極后開始銑削第2部分EZ1 / SP1 SZ1(基本/對接) --
F97 = i3 = i1
F96 = F97 & F287 + F96
-–圈數(shù). 普通銑削EZ1 / SP1 SZ1(基本/對接)-
F99 = i4 = i1
F98 = F99 + F98
-–圈數(shù). 開始銑削零件1 EZ1 / SP1 SZ2(對接)-
F101 = i8 = i1
F100 = F101 & !F287 + F100
–圈數(shù). 開始銑削第2部分EZ1 / SP1 SZ2(對接)-
F103 = i9 = i1
F102 = F103 & F287 + F102
–圈數(shù). 普通銑削EZ1 / SP1 SZ2(對接)-
F105 = i10 = i1
F104 = F105 + F104
-圈數(shù). 開始銑削零件1 EZ1 / SP1 SZ3(對接)-
F107 = i11 = i1
F106 = F107 & !F287 + F106
-圈數(shù). 開始銑削第2部分EZ1 / SP1 SZ3(對接)-
F109 = i12 = i1
F108 = F109 & F287 + F108
-圈數(shù).普通銑削EZ1 / SP1 SZ3(對接)-
F111 = i13 = i1
F110 = F111 + F110
-圈數(shù). 開始銑削零件1 EZ1 / SP1 SZ4(對接)-
F113 = i14 = i1
F112 = F113 & !F287 + F112
-圈數(shù). 開始銑削第2部分EZ1 / SP1 SZ4(對接)-
F115 = i15 = i1
F114 = F115 & F287 + F114
-圈數(shù). 普通銑削EZ1 / SP1 SZ4(對接)-
F117 = i16 = i1
F116 = F117 + F116
M97 = (E718 & A718 +F312) & E834 & A834 & !F72 & !F73 & (F90 + F92)
E718 夾緊力到位,A718夾緊,F312在旋轉(zhuǎn)測試時, E834銑刀轉(zhuǎn), A834銑刀電機(jī)轉(zhuǎn),F90移動焊鉗銑削STEP激活, F92固定焊鉗銑削STEP激活.
在SPS里的調(diào)用MAKROTRIGGER(0,0)
在SPS里的調(diào)用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 用于跳到當(dāng)前步. 由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計(jì)數(shù)器程序
-- 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程序結(jié)束
--------------------------------------------------------------
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程序結(jié)束
---------------------------------------------------------------
... ... ...
ENDSWITCH
END
總結(jié): 簡單的說MAKROTRIGGER是通過中斷命令來實(shí)現(xiàn)功能的.
-
電極
+關(guān)注
關(guān)注
5文章
842瀏覽量
27853 -
KUKA機(jī)器人
+關(guān)注
關(guān)注
4文章
144瀏覽量
9609
原文標(biāo)題:KUKA機(jī)器人MAKRO_TRIGGER程序用法分析
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論