0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

$ERR匯總版V12.6相關(guān)信息說明

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:微笑應(yīng)對(duì) ? 2022-12-07 16:57 ? 次閱讀

$ 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)。

該變量具有寫保護(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)行時(shí)錯(cuò)誤時(shí)的消息編號(hào)。如果未發(fā)生錯(cuò)誤,則顯示零值。

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中斷(錯(cuò)誤停止)

int_prio中斷優(yōu)先級(jí)

?1,2,4…39

?81…128

line_nr當(dāng)前程序中的行號(hào)

module[]當(dāng)前程序的目錄和名稱

up_name[]當(dā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ā)子程序已打開,切換回正向運(yùn)動(dòng)。

3.#TRG_REPLAY:觸發(fā)子程序在向后運(yùn)動(dòng)后反復(fù)切換。

注意:此組件在KUKA System Software 8.3或更高版本中可用。

包含有關(guān)當(dāng)前程序信息的結(jié)構(gòu)

該變量可用于評(píng)估當(dāng)前執(zhí)行的程序相對(duì)于提前運(yùn)行。例如,該變量可用于評(píng)估程序中的錯(cuò)誤,以便能夠使用合適的故障服務(wù)功能對(duì)其進(jìn)行響應(yīng)。

該變量是寫保護(hù)的,只能讀取。

$ERR 單獨(dú)存在于機(jī)器人和提交解釋器中。每個(gè)解釋器只能訪問自己的變量。命令解釋器不存在 $ERR。

每個(gè)子程序級(jí)別都有自己的 $ERR 表示。這樣,一個(gè)層次的信息不會(huì)覆蓋不同層次的信息,可以同時(shí)讀取不同層次的信息。

ON_ERROR_PROCEED 在當(dāng)前解釋器和當(dāng)前級(jí)別隱式刪除 $ERR 中的信息。

$ERR=Information

Information Type: Error_T

STRUC Error_T INT number, PROG_INT_E interpreter, INT_TYP_E int_type, INT int_prio, line_nr, CHAR module[24], up_name[24], TRIGGER_UP_TYPE trigger_type

ON_ERROR_PROCEED錯(cuò)誤繼續(xù)

ON_ERROR_PROCEED 可用于抑制由以下程序行觸發(fā)的運(yùn)行時(shí)錯(cuò)誤消息。機(jī)器人控制器跳過觸發(fā)錯(cuò)誤的語句,并用有關(guān)錯(cuò)誤的信息填充系統(tǒng)變量 $ERR。

ON_ERROR_PROCEED 始終適用于以下行,即使這是一個(gè)空行!例外:如果以下行包含語句 CONTINUE,則 ON_ERROR_PROCEED 適用于后面的行。

如果 ON_ERROR_PROCEED 之后的行是子程序調(diào)用,則該語句引用調(diào)用本身,而不是子程序的第一行。

$ERR 和 ERR_RAISE() 是使用 ON_ERROR_PROCEED 時(shí)的重要工具。

函數(shù) ERR_RAISE() 隨后可以生成抑制的運(yùn)行時(shí)錯(cuò)誤消息。它只能將系統(tǒng)變量 $ERR 或從 $ERR 派生的變量作為 OUT 參數(shù)處理。

ON_ERROR_PROCEED 對(duì)運(yùn)動(dòng)語句沒有影響:

樣條/端線;PTP_SPLINE/ENDSPL INE;點(diǎn)對(duì)點(diǎn);PTP_REL;

LIN_REL; CIRC_REL; ASYPTP;停止;異步;異步取消;

MOVE_EMI

ON_ERROR_PROCEED 對(duì)以下控制結(jié)構(gòu)沒有影響:

為/ENDFOR;去; IF/ELSE/ENDIF;循環(huán)/ENDLOOP;重復(fù)/直到;

跳過/結(jié)束跳過;開關(guān)/外殼/默認(rèn)/ENDSWITCH;同時(shí)/結(jié)束盡管

ON_ERROR_PROCEED with CONTINUE:

ON_ERROR_PROCEED

CONTINUE

$OUT[1]=TRUE

CONTINUE

ON_ERROR_PROCEED

$OUT[1]=TRUE

兩個(gè)語句序列的效果是相同的。在這兩個(gè)示例中,ON_ERROR_PROCEED 和 CONTINUE 作用于 $OUT[1]=TRUE。

$ERR、ON_ERROR_PROCEED 和 ERR_RAISE() 的示例:

例1

如果您不想抑制所有可能的運(yùn)行時(shí)錯(cuò)誤消息,而只希望抑制特定的錯(cuò)誤消息,則可以使用 SWITCH ... ENDSWITCH 進(jìn)行區(qū)分。在此示例中,僅抑制消息 1422。將顯示任何其他運(yùn)行時(shí)錯(cuò)誤消息。

1 DEF myProg ()

2 DECL E6POS myPos

3 INI

4 ON_ERROR_PROCEED

5 myPos = $POS_INT

6 SWITCH ($ERR.NUMBER)

7 CASE 0

8 CASE 1422

9 ;如果需要,程序故障服務(wù)功能

...

10 DEFAULT

11 ERR_RAISE ($ERR)

12 ENDSWITCH

...

13 END

4-5第 5 行觸發(fā)消息 1422 {$variable} value invalid(除非程序被中斷調(diào)用)。前一行中的 ON_ERROR_PROCEED 會(huì)抑制錯(cuò)誤消息。

6 … 12取決于 $ERR.NUMBER 的差異化

7 如果第 5 行沒有發(fā)生錯(cuò)誤,$ERR.NUMBER==0。在這種情況下,不需要任何操作。

8, 9 如果消息 1422 已被觸發(fā),$ERR.NUMBER==1422。如果需要,可以對(duì)故障服務(wù)功能進(jìn)行編程

10, 11 如果觸發(fā)了 1422 以外的消息,則現(xiàn)在(隨后)通過 ERR_RAISE 生成此消息。

這個(gè)例子說明了每個(gè)程序級(jí)都有自己的$ERR表示。 1 DEF myMainProg () 2 INT myVar, myVar2 3 INI 4 ON_ERROR_PROCEED 5 mySubProg (myVar)

第5行觸發(fā)消息1422{$variable}值無效,因?yàn)閙yVar未初始化,因此無法傳輸?shù)阶映绦颉?/p>

預(yù)編碼行中的ON_ERROR_PROCEED將抑制錯(cuò)誤消息。

5 mySubProg (myVar)

如果此處使用變量校正函數(shù)讀取$ERR,則以下組件具有以下值:

$ERR。編號(hào)==1422

$ERR。line_nr==15

$ERR。模塊[]==“MYMAINPROG”

$ERR。up_name[]==“MYMAINPROG”

6 HALT 7 myVar2 = 7 8 mySubProg (myVar2) 9 END --------------------------------------- 10 DEF mySubProg (myTest:IN) 11 INT myTest 12 HALT 13 END

如果在子程序中使用變量糾正函數(shù)讀取$ERR,則以下組件具有以下值:

$ERR。數(shù)字==0

$ERR。line_nr==0

$ERR。模塊[]==“MYMAINPROG”

$ERR。up_name[]==“MYSUBPROG”

這清楚地表明,$E RR始終具有來自當(dāng)前級(jí)別的信息(在本例中來自子程序MySubProg)。另一方面,MyMainProg的信息未知。

此示例還顯示了每個(gè)程序級(jí)別都有自己的$ERR表示。該示例還顯示了如何將$ERR信息傳輸?shù)讲煌募?jí)別。

1 DEF myMainProg2 ()

2 INI

3 ON_ERROR_PROCEED

4 $OUT[-10] = TRUE

第4行觸發(fā)消息1444陣列索引不可接受ON_ERROR_PROCEED,在前一行中抑制錯(cuò)誤消息。

5 myHandleErr ($ERR, $ERR)

$ERR的內(nèi)容被傳輸?shù)阶映绦騼纱危阂淮巫鳛镮N參數(shù),一次作為OUT參數(shù)。

6 END

---------------------------------------

7 DEF myHandleErr (inErr:IN, outErr:OUT)

8 DECL Error_T inErr, outErr

9 ON_ERROR_PROCEED

10 $OV_PRO=100/0

第10行觸發(fā)消息1451除以0.ON_ERROR_PROCEED,在前一行中抑制錯(cuò)誤消息。

11 ERR_RAISE($ERR)

ERR_RAISE($ERR)從第10行生成消息,而不是從第4行生成消息。$ERR始終具有當(dāng)前級(jí)別的信息。在本例中,從子程序myHandleErr。

12 ERR_RAISE(outErr)

ERR_RAISE(outErr)從主程序的第4行生成消息,因?yàn)閛utErr是對(duì)主程序中$ERR的引用。

13 ERR_RAISE(inErr)

ERR_RAISE(inErr)不允許,因此觸發(fā)消息1451{(變量名)}無效參數(shù)。 ERR_RAISE只能處理$ERR或從$ERR派生的OUT變量。

...

14 END

$ERR不僅可用于錯(cuò)誤處理,還可用于確定當(dāng)前環(huán)境。 在本例中,參數(shù)從機(jī)器人程序和提交程序轉(zhuǎn)換為子程序。在子程序中,系統(tǒng)確定參數(shù)來自哪個(gè)解釋器。執(zhí)行的操作取決于結(jié)果。

機(jī)器人程序:

DEF Main ()

...

mySUB (55)

...

END

提交程序: DEF SPS () ... LOOP mySUB (33) ... ENDLOOP ... END 子程序: GLOBAL DEF mySUB (par:IN) INT par INI IF ($ERR.INTERPRETER==#R_INT) THEN $OUT_C[par] = TRUE ELSE $OUT[par] = TRUE ENDIF ... END

與$ERR故障變量相關(guān)聯(lián)的函數(shù)

清除與$ERR相關(guān)的過程故障信息:

ERR_CLEAR (ERROR_T PERR :OUT )
產(chǎn)生與$ERR相關(guān)的過程故障信息:
ERR_RAISE (ERROR_T PERR :OUT )






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28103

    瀏覽量

    205849
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1995

    瀏覽量

    61011
  • Err
    Err
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6495

原文標(biāo)題:KUKA系統(tǒng)變量:$ERR 匯總版V12.6

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labvIEW 8.2相關(guān)程序

    labvIEW8.2相關(guān)程序
    發(fā)表于 12-19 20:45

    430相關(guān)資料,需要的下載哦

    TI提供的430例程,430相關(guān)資料,需要的下載哦
    發(fā)表于 03-13 14:56

    STM32相關(guān)資料免費(fèi)分享

    STM32相關(guān)資料免費(fèi)分享
    發(fā)表于 11-17 08:35

    SPI的啟辰W25Q64相關(guān)知識(shí)點(diǎn)匯總,錯(cuò)過絕對(duì)后悔

    SPI的啟辰W25Q64相關(guān)知識(shí)點(diǎn)匯總,錯(cuò)過絕對(duì)后悔
    發(fā)表于 12-20 07:22

    TCL767相關(guān)資料

    TCL767相關(guān)資料,有需要的可以下來看看。
    發(fā)表于 02-19 16:11 ?0次下載

    Intel845相關(guān)資料

    Intel845相關(guān)資料,有需要的下來看看。
    發(fā)表于 02-19 16:14 ?0次下載

    protel,pcb,單片機(jī),stm32相關(guān)的知識(shí)

    protel相關(guān)的知識(shí),pcb相關(guān)的知識(shí),單片機(jī)相關(guān)的知識(shí),stm32相關(guān)的知識(shí)。
    發(fā)表于 03-10 17:18 ?0次下載

    OP07相關(guān)資料

    OP07相關(guān)資料,有需要的朋友可以下來看看
    發(fā)表于 08-09 16:50 ?0次下載

    OP37相關(guān)資料

    OP37相關(guān)資料,有需要的朋友可以下來看看
    發(fā)表于 08-09 16:50 ?0次下載

    BCM2075相關(guān)資料

    BCM2075相關(guān)資料,又需要的朋友下來看看
    發(fā)表于 08-18 18:00 ?0次下載

    eZ430相關(guān)資料

    eZ430相關(guān)資料,又需要的朋友可以下 來看看
    發(fā)表于 08-18 18:00 ?0次下載

    APM2301相關(guān)資料pdf下載

    APM2301相關(guān)資料pdf下載
    發(fā)表于 04-12 16:48 ?19次下載

    星翼電子:LORA模塊ATK-LORA-01相關(guān)信息描述

    星翼電子:LORA模塊ATK-LORA-01相關(guān)信息描述
    的頭像 發(fā)表于 10-16 09:53 ?6576次閱讀
    星翼電子:LORA模塊ATK-LORA-01<b class='flag-5'>相關(guān)</b><b class='flag-5'>信息</b>描述

    關(guān)于開發(fā)STM32相關(guān)資料下載

    開發(fā)STM32相關(guān)資料下載
    的頭像 發(fā)表于 03-24 11:35 ?2322次閱讀
    關(guān)于開發(fā)STM32<b class='flag-5'>相關(guān)</b>資料下載

    CH341A編程器軟件V1.4相關(guān)資料下載

    CH341A編程器軟件V1.4相關(guān)資料下載
    發(fā)表于 11-04 16:13 ?17次下載