$ err
具有有關(guān)當(dāng)前程序信息的結(jié)構(gòu)
該變量可用于評(píng)估相對(duì)于提前運(yùn)行的當(dāng)前執(zhí)行程序。例如,該變量可用于評(píng)估程序中的錯(cuò)誤,以便能夠使用適當(dāng)?shù)墓收戏?wù)功能對(duì)其進(jìn)行響應(yīng)。
該變量具有寫(xiě)保護(hù),只能被讀取。
$ERR=Information
信息類(lèi)型: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)行時(shí)錯(cuò)誤時(shí)的消息編號(hào)。如果未發(fā)生錯(cuò)誤,則顯示零值。
Interpreter:當(dāng)前解釋器?
#R_INT:機(jī)器人解釋器
?#S_INT:提交解釋器
int_type當(dāng)前圖片類(lèi)型和中斷狀態(tài)
?#I_NORMAL:該程序不是中斷程序。
?#I_INTERRUPT:該程序?yàn)橹袛喑绦颉?/p>
?#I_STOP_INTERRUPT:通過(guò)$ STOPMESS中斷(錯(cuò)誤停止)
int_prio中斷優(yōu)先級(jí)
?1,2,4…39
?81…128
line_nr當(dāng)前程序中的行號(hào)
module[]當(dāng)前程序的目錄和名稱(chēng)
up_name[]當(dāng)前子程序的目錄和名稱(chēng)
trigger_type
觸發(fā)屬于子程序的觸發(fā)器的上下文
1.#TRG_NONE:該子程序不是觸發(fā)子程序。?#TRG_REGULAR:在向前運(yùn)動(dòng)期間切換了觸發(fā)器子程序。?#TRG_BACKWARD:觸發(fā)子程序在向后運(yùn)動(dòng)期間被切換。
2.#TRG_RESTART:觸發(fā)子程序已打開(kāi),切換回正向運(yùn)動(dòng)。
3.#TRG_REPLAY:觸發(fā)子程序在向后運(yùn)動(dòng)后反復(fù)切換。
注意:此組件在KUKA System Software 8.3或更高版本中可用。
$ERR不僅可以用于錯(cuò)誤處理,還可以用于確定當(dāng)前環(huán)境。
在本例中,參數(shù)從robot程序和submit程序傳遞到子例程。子程序確定參數(shù)源自哪個(gè)解釋器。根據(jù)結(jié)果,將執(zhí)行另一個(gè)操作。
機(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
此示例顯示,每個(gè)程序級(jí)別都有自己的$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未初始化,因此無(wú)法傳遞給子程序。前一行中的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總是具有來(lái)自當(dāng)前級(jí)別的信息(此處來(lái)自子程序MySubProg)。另一方面,來(lái)自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)注
213文章
30257瀏覽量
217854 -
KUKA
+關(guān)注
關(guān)注
3文章
218瀏覽量
17246 -
解釋器
+關(guān)注
關(guān)注
0文章
103瀏覽量
6900
原文標(biāo)題:KUKA系統(tǒng)變量$err說(shuō)明 V12.16
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
探究$err 故障變量的用法
KUKA機(jī)器人PN系統(tǒng)網(wǎng)絡(luò)故障的判斷方法
KUKA系統(tǒng)變量:$ERR
KUKA與$ERR故障變量相關(guān)聯(lián)的函數(shù)
KUKA系統(tǒng)變量$err注意事項(xiàng)說(shuō)明
KUKA系統(tǒng)變量$INTERPRETER解釋器
KUKA系統(tǒng)變量:$ERR 程序信息的結(jié)構(gòu)
KUKA系統(tǒng)變量:$ERR匯總版V3.14
KUKA機(jī)器人系統(tǒng)變量$PRO_NAME所選程序的名稱(chēng)(參考解釋器)
KUKA系統(tǒng)變量:$IOSIM_OPT模擬的激活或停用
$err故障變量的用法介紹

評(píng)論