$ err
具有有關(guān)當(dāng)前程序信息的結(jié)構(gòu)
該變量可用于評估相對于提前運(yùn)行的當(dāng)前執(zhí)行程序。例如,該變量可用于評估程序中的錯誤,以便能夠使用適當(dāng)?shù)墓收戏?wù)功能對其進(jìn)行響應(yīng)。
該變量具有寫保護(hù),只能被讀取。
$ERR=Information
信息類型:Error_T
列出有關(guān)當(dāng)前正在執(zhí)行的程序的信息.
變量結(jié)構(gòu):
STRUC Error_T INT number, PROG_INT_Einterpreter, INT_TYP_E int_type, INT int_prio, line_nr, CHAR module[24],up_name[24], TRIGGER_UP_TYPE trigger_type
解釋:
Number:發(fā)生運(yùn)行時錯誤時的消息編號。如果未發(fā)生錯誤,則顯示零值。
Interpreter:當(dāng)前解釋器?
#R_INT:機(jī)器人解釋器
?#S_INT:提交解釋器
int_type當(dāng)前圖片類型和中斷狀態(tài)
?#I_NORMAL:該程序不是中斷程序。
?#I_INTERRUPT:該程序?yàn)橹袛喑绦颉?/p>
?#I_STOP_INTERRUPT:通過$ STOPMESS中斷(錯誤停止)
int_prio中斷優(yōu)先級
?1,2,4…39
?81…128
line_nr當(dāng)前程序中的行號
module[]當(dāng)前程序的目錄和名稱
up_name[]當(dāng)前子程序的目錄和名稱
trigger_type
觸發(fā)屬于子程序的觸發(fā)器的上下文
1.#TRG_NONE:該子程序不是觸發(fā)子程序。?#TRG_REGULAR:在向前運(yùn)動期間切換了觸發(fā)器子程序。?#TRG_BACKWARD:觸發(fā)子程序在向后運(yùn)動期間被切換。
2.#TRG_RESTART:觸發(fā)子程序已打開,切換回正向運(yùn)動。
3.#TRG_REPLAY:觸發(fā)子程序在向后運(yùn)動后反復(fù)切換。
注意:此組件在KUKA System Software 8.3或更高版本中可用。
$ERR不僅可以用于錯誤處理,還可以用于確定當(dāng)前環(huán)境。
在本例中,參數(shù)從robot程序和submit程序傳遞到子例程。子程序確定參數(shù)源自哪個解釋器。根據(jù)結(jié)果,將執(zhí)行另一個操作。
機(jī)器人程序:
DEF Main ()
...
my_prog (55)
...
END
提交Programm::
DEF my_sub ()
...
LOOP
my_prog (33)
...
ENDLOOP
...
END
Unter programm:
GLOBAL DEF my_prog (par:IN)
INT par
INI
SWITCH $ERR.interpreter
CASE #R_INT
$OUT[par] = TRUE
CASE #S_INT
sub_prog_s()
CASE #EXT_S_INT1
sub_prog_1()
CASE #EXT_S_INT2
sub_prog_2()
CASE #EXT_S_INT3
sub_prog_3()
...
ENDSWITCH
...
END
此示例顯示,每個程序級別都有自己的$ERR重新表示。
1 DEF myMainProg ()
2 INT myVar, myVar2
3 INI
4 ON_ERROR_PROCEED
5 mySubProg (myVar)
第5行實(shí)際觸發(fā)消息1422{$Variable}Invalid,因?yàn)閙yVar未初始化,因此無法傳遞給子程序。前一行中的ON_ERROR_PROCEED禁止顯示該消息。
6 HALT
如果您從此處的變量顯示中讀取$ERR,則以下組件具有以下值:
$ERR.number===1422
$ERR.line_nr==15
$ERR.module[]===MYMAINPROG“
$ERR.up_name[]===MYMAINPROG“
7 myVar2 = 7
8 mySubProg (myVar2)
9 END
---------------------------------------
10 DEF mySubProg (myTest:IN)
11 INT myTest
12 HALT
如果從變量顯示中讀取$ERR,則以下組件具有以下值:
$ERR.number==0
$ERR.line_nr==0
$ERR.module[]===MYMAINPROG“
$ERR.up_name[]===MYSUBPROG“
這表明:$ERR總是具有來自當(dāng)前級別的信息(此處來自子程序MySubProg)。另一方面,來自MyMainProg的信息是未知的。
13 END
ERR_RAISE:稍后輸出抑制消息
ERR_RAISE隨后可以輸出用ON_ERROR_PROCEED抑制的消息。
ERR_RAISE只能處理$ERR或從$ERR派生的變量作為OUT參數(shù)。
ERR_RAISE ($ERR | out_var)
審核編輯:黃飛
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28418瀏覽量
207096 -
KUKA
+關(guān)注
關(guān)注
3文章
217瀏覽量
16532 -
解釋器
+關(guān)注
關(guān)注
0文章
103瀏覽量
6513
原文標(biāo)題:KUKA系統(tǒng)變量$err說明 V12.16
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論