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

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

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

請問一下$err故障變量該如何使用呢?

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:微笑應(yīng)對 ? 2022-09-14 15:14 ? 次閱讀

7591de7c-304c-11ed-ba43-dac502259ad0.png

$ err

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

該變量可用于評估相對于提前運行的當(dāng)前執(zhí)行程序。例如,該變量可用于評估程序中的錯誤,以便能夠使用適當(dāng)?shù)墓收戏?wù)功能對其進(jìn)行響應(yīng)。

該變量具有寫保護(hù),只能被讀取。

該變量可用于評估相對于提前運行的當(dāng)前執(zhí)行程序。例如,該變量可用于評估程序中的錯誤,以便能夠使用適當(dāng)?shù)墓收戏?wù)功能對其進(jìn)行響應(yīng)。

該變量具有寫保護(hù),只能被讀取。

$ ERR對于機器人和提交解釋器是分別存在的。每個解釋器只能訪問其自己的變量。對于命令解釋器,$ ERR不存在。

每個子程序級別都有其自己的$ ERR表示形式。這樣,來自一個級別的信息不會覆蓋來自不同級別的信息,并且可以同時從不同級別讀取信息。

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

$ERR=Information

信息類型:Error_T

列出有關(guān)當(dāng)前正在執(zhí)行的程序的信息.

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

Number:發(fā)生運行時錯誤時的消息編號。如果未發(fā)生錯誤,則顯示零值。

Interpreter:當(dāng)前解釋器?

#R_INT:機器人解釋器

?#S_INT:提交解釋器

int_type當(dāng)前圖片類型和中斷狀態(tài)

?#I_NORMAL:該程序不是中斷程序。

?#I_INTERRUPT:該程序為中斷程序。

?#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ā)器的上下文

?#TRG_NONE:該子程序不是觸發(fā)子程序。
?#TRG_REGULAR:在向前運動期間切換了觸發(fā)器子程序。
?#TRG_BACKWARD:觸發(fā)子程序在向后運動期間被切換。
?#TRG_RESTART:觸發(fā)子程序已打開,切換回正向運動。
?#TRG_REPLAY:觸發(fā)子程序在向后運動后反復(fù)切換。

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

如何使用呢?

1.ERR_RAISE() 的示例:

如果不想不輸出所有可能存在的運行時間錯誤信息,而是只不輸出特定的信息,則可以通過 SWITCH … ENDSWITCH 進(jìn)行該區(qū)分。在該示例中只不輸出信息 1422??赡艽嬖诘钠渌\行時間錯誤信息將顯示。

1 DEF myProg ()

2 DECL E6POS myPos

3 INI

4 ON_ERROR_PROCEED

5 myPos = $POS_INT

行 5 將觸發(fā)信息 1422 {$ 變量 } 值無效 。(此外由中斷調(diào)用該程序。)

6 SWITCH ($ERR.NUMBER) 情況區(qū)分取決于 $ERR.NUMBER獲取機器人故障號

7 CASE 0

如果在行 5 中未出現(xiàn)錯誤,則 $ERR.NUMBER==0。在這種情況下不需要任何操作。

8 CASE 1422

如果觸發(fā)了信息 1422,則 $ERR.NUMBER==1422。在需要時可以編程設(shè)定一個錯誤策略。

9 ;在需要時編程設(shè)定錯誤策略

...

10 DEFAULT

11 ERR_RAISE ($ERR)

如果觸發(fā)了一個不同于 1422 的信息,則現(xiàn)在 (隨后)通過 ERR_RAISE 輸出該信息。

12 ENDSWITCH

...

13 END

2.ON_ERROR_PROCEED的示例:

1 DEF myMainProg ()

2 INT myVar, myVar2

3 INI

4 ON_ERROR_PROCEED

行 5 觸發(fā)信息 1422 {$ 變量 } 值無效 ,因為 myVar 未安裝,因此無法將其傳輸給子程序。該行中的 ON_ERROR_PROCEED 事先抑制錯誤信息。

5 mySubProg (myVar)

6 HALT

如果在此通過變量修正讀取 $ERR,則以下分量具有以下值:$ERR.number == 1422/$ERR.line_nr == 15/$ERR.module[] == "MYMAINPROG"/ $ERR.up_name[] == "MYMAINPROG".

3.$ ERR不僅可以用于錯誤處理,還可以用于確定當(dāng)前環(huán)境。

在此示例中,參數(shù)從機器人程序和提交程序都轉(zhuǎn)換為子程序。在子程序中,系統(tǒng)確定參數(shù)來自哪個解釋器。所執(zhí)行的操作取決于結(jié)果。

機器人程序:

GLOBALDEF mySUB (par:IN)

INTpar

INI

IF($ERR.INTERPRETER==#R_INT) THEN -如果故障時機器人解釋器-發(fā)出輸出

$OUT_C[par]= TRUE

ELSE

$OUT[par]= TRUE

ENDIF

...

END

75efb966-304c-11ed-ba43-dac502259ad0.png




審核編輯:劉清

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

    關(guān)注

    211

    文章

    28418

    瀏覽量

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

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61158
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6513

原文標(biāo)題:$err 故障變量的用法

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

收藏 人收藏

    評論

    相關(guān)推薦

    請問一下ADS1118-Q1的內(nèi)部基準(zhǔn)電壓是多少?

    請問一下ADS1118-Q1的內(nèi)部基準(zhǔn)電壓是多少? 謝 。
    發(fā)表于 11-26 06:25

    請問一下TLV320aic33的驅(qū)動配置需要什么條件?

    您好!TLV320aic33目前只使用了其ADC的功能,將個模擬信號轉(zhuǎn)換為音頻數(shù)據(jù),IIC的方式進(jìn)行配置。 目前IIC是通過之前使用過的IIC轉(zhuǎn)板直接進(jìn)行的命令,再進(jìn)行讀回所的命令讀取不到,應(yīng)該是通訊不成功,
    發(fā)表于 10-22 07:42

    請問一下OPA818在做TIA電路時,跨阻為3K時,帶寬可以達(dá)到多少

    請問一下OPA818在做TIA 電路時,跨阻為3K 時,帶寬可以達(dá)到多少
    發(fā)表于 07-29 06:41

    請問ENV設(shè)置環(huán)境變量怎么保存?

    我按照手冊設(shè)置好了環(huán)境變量 可是如果重啟一下env窗口 剛剛設(shè)置的又清掉了 請問下有沒有人知道怎么保存這個環(huán)境變量
    發(fā)表于 07-09 06:24

    伺服驅(qū)動器err13故障原因怎么解決

    伺服驅(qū)動器ERR13故障種常見的伺服驅(qū)動器故障,通常表示伺服驅(qū)動器的編碼器信號異常。為了解決這個問題,我們需要從多個方面進(jìn)行分析和排查。本文將詳細(xì)介紹
    的頭像 發(fā)表于 06-06 12:10 ?1.6w次閱讀

    請問訪問XMC4400的FW_TRACE_ERR (63H) 的JTAG指令是什么?

    英飛凌 xmc4400_rm_v1.6_2016-UM-v01_06-EN.pdf 中 XMC4400 的 FW_TRACE_ERR (63H) 是用于訪問的 JTAG 指令? 25.3.2 故障
    發(fā)表于 05-17 12:25

    請問頭文件能不能定義變量?

    最近在編譯個工程的時候,突然遇到了變量重復(fù)定義的問題,根據(jù)提示打開這幾個 C 文件,并沒有發(fā)現(xiàn)定義變量的地方。后來再找找,原來變量定義在
    的頭像 發(fā)表于 04-28 09:33 ?1166次閱讀

    請問一下PLC能控制哪些電機?

    PLC具有廣泛的應(yīng)用范圍,能夠控制多種類型的電機。以下是些常見的PLC可以控制的電機類型
    的頭像 發(fā)表于 04-16 10:32 ?882次閱讀

    工控主板發(fā)生故障怎么辦?

    工控主板發(fā)生故障怎么辦?前幾天有個客戶問了我這個問題,大部分情況下出現(xiàn)的故障并不可怕,主要是用戶粗心大意造成的。那今天小編就來講解一下工控主板
    的頭像 發(fā)表于 04-11 18:19 ?879次閱讀

    字符型、指針型等變量如何初始化

     對于數(shù)值類型的變量往往初始化為0,但對于其他類型的變量,如字符型、指針型等變量如何初始化?
    的頭像 發(fā)表于 03-18 11:02 ?1464次閱讀

    請問一下spice仿真怎么產(chǎn)生時鐘信號?

    SPICE是種用于模擬和分析電子電路的計算機程序。在SPICE仿真中,產(chǎn)生時鐘信號是許多電路設(shè)計和模擬任務(wù)中的關(guān)鍵步驟。
    的頭像 發(fā)表于 02-06 14:22 ?1130次閱讀

    請問一下LDO旁路電容如何選擇?

    雖然很多工程師們在解決噪聲問題上往往認(rèn)為電容是種有效的途徑,但是電容本身的作用可不僅于此。
    的頭像 發(fā)表于 01-24 17:27 ?1807次閱讀
    <b class='flag-5'>請問</b><b class='flag-5'>一下</b>LDO旁路電容<b class='flag-5'>該</b>如何選擇<b class='flag-5'>呢</b>?

    萌新想請問一下各位佬關(guān)于pcb布線的些問題??!

    請問一下佬們,在pcb布線的時候,我看其他人畫的板子,同樣的電壓輸出例如都是3.3V或者5V為什么線寬不,這個是怎么判斷線寬給多少。還有例如這種引腳為什么線寬也要拉大
    發(fā)表于 01-17 20:58

    請問下位機與上位機如何保持時鐘同步?

    。本文將詳細(xì)介紹下位機與上位機如何進(jìn)行時鐘同步,并探討些常見的技術(shù)和方法。 首先,讓我們了解一下時鐘同步的基本原理。在系統(tǒng)中,時鐘被用于指導(dǎo)事件的發(fā)生和處理。在下位機和上位機之間,會存在定的時延。這意味著
    的頭像 發(fā)表于 01-16 17:11 ?1511次閱讀

    如何使用GPT監(jiān)控變量

    其他功能占用,當(dāng)這兩種方法都不是很好的選擇的情況,我們也可以考慮使用GPT來監(jiān)控變量。這里給大家介紹一下如何使用GPT監(jiān)控變量。
    的頭像 發(fā)表于 01-04 12:21 ?1251次閱讀
    如何使用GPT監(jiān)控<b class='flag-5'>變量</b>