在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GetError與GetErrorID指令的區別與應用場景分析

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2022-03-14 17:55 ? 次閱讀

GetError 與 GetErrorID 指令的使用

在 STEP7 11 中,可以通過GetError (獲取本地錯誤信息)或者GetErrorID (獲取本地錯誤ID )指令查詢塊內出現的錯誤。

8f2980d4-9384-11ec-952b-dac502259ad0.jpg請注意:GetError 和 GetErrorID 均支持塊內的錯誤處理。當在程序塊中調用GetError 或GetErrorID 指令后,如果該程序塊發生錯誤,CPU則將忽略任何預定義的系統響應。也就是說CPU 會忽略此錯誤,而且CPU 的Error 燈(紅色)也不會亮,CPU 也不會停機。所以說該指令在某種程度上也起到了抑制程序錯誤的作用,同時有一定的風險存在。

建議該指令在程序塊中的最后一個網絡中調用, 這樣可以診斷整個程序塊中的錯誤,如果在程序中間調用該指令,則后面的程序如果有錯誤,CPU 也會忽略錯誤,不會停機,也沒有相關報錯,將不利于問題的診斷

1. GetError 與 GetErrorID 的調用

編程界面下, 點擊右側 “指令-> 基本指令-> 程序控制操作” 中可以找到GetError及GetErrorID 兩個指令。(見下圖1)

8f370164-9384-11ec-952b-dac502259ad0.jpg

圖1.

2. GerError 指令的使用

GetError:使用“獲取本地錯誤信息”指令,可以查詢塊內出現的錯誤。如果在塊執行期間出現錯誤,則發生的第一個錯誤的詳細信息將保存在輸出 ERROR 中。消除第一個錯誤后,該指令會在Error 處輸出下一個錯誤的信息。僅當使能輸入 EN 的信號狀態為“1”且顯示了錯誤信息時,才置位“獲取本地錯誤信息”指令的使能輸出 ENO。

GetError 指令的輸出參數Error 的數據類型為ErrorStruct(見圖2),請注意:常規的變量類型中并未包含此類型。

8f4d4a6e-9384-11ec-952b-dac502259ad0.jpg

圖2

定義Error 變量的步驟:

1.需要創建一個全局數據塊并定義變量,例如變量名為Error,在DB 塊中手動輸入" Errorstruct ",該變量類型無法通過下拉列表選擇(見圖3)。

8f5f0826-9384-11ec-952b-dac502259ad0.jpg

圖3

通常輸入“ E ” 時就可以看見該變量類型,可以直接點選。(見圖4)

8f852164-9384-11ec-952b-dac502259ad0.jpg

圖4.

2. 定義后的Error 結構如下:(見圖5),詳細的參數介紹請參考該指令的幫助文件。(選中塊, 按鍵盤上功能鍵 F1 )

8fa2ee10-9384-11ec-952b-dac502259ad0.jpg

圖5.

3. 定義完成后可以直接在引腳輸入所創建的DB 塊的名稱,即可在下拉框中找到所定義的Error 變量( 見圖6)。

8fb9a74a-9384-11ec-952b-dac502259ad0.jpg

圖6.

直接選擇Error 即可完成輸出參數的定義(圖7)。

8fe10a9c-9384-11ec-952b-dac502259ad0.jpg

圖7.

可以通過打開DB 塊,監控Error的狀態判斷程序是否報錯。詳細報錯信息請參考該塊的幫助(選中塊, 按鍵盤上功能鍵 F1 )

例如: 在FC1 中編程調用一個不存在的地址 DB1.DBX0.0,此時GetError 指令執行, cpu 運行正常, 沒有error 燈亮,診斷緩沖區也不會報錯( 見圖8 )。

8ffbe268-9384-11ec-952b-dac502259ad0.jpg

圖8.

8f2980d4-9384-11ec-952b-dac502259ad0.jpg?注意:在TIA Protal v11 中,如果程序中使用了未定義的變量或未創建的變量,編譯將會報警,但程序可以下載, 未定義變量不能通過變量分配,見下圖9。

902a707e-9384-11ec-952b-dac502259ad0.jpg

圖9.

此時監控DB 塊中Error 變量的狀態, 根據監視值查詢幫助可以知道 FC1 中調用的全局數據塊 DB1 中,偏移地址0 不存在(圖10)。

90429974-9384-11ec-952b-dac502259ad0.jpg

圖10.

3. GetErrorID 的使用

GetErrorID:使用“獲取本地錯誤 ID”指令(見圖11),可以查詢塊內出現的錯誤。如果在塊執行過程中系統信號出錯,會將發生的第一個錯誤的 ID 保存在輸出 ID 的變量中。ID 輸出中只能指定 WORD 數據類型的操作數(見圖12)。消除第一個錯誤后,該指令才會輸出發生的下一個錯誤的ID。僅當“獲取本地錯誤 ID”指令的輸入的信號狀態為“1”且顯示了錯誤信息時,才置位該指令的輸出。

90664edc-9384-11ec-952b-dac502259ad0.jpg

圖11

907f3ece-9384-11ec-952b-dac502259ad0.jpg

圖12

下表列出了GetRrrorID 指令的輸出參數 ID 可以輸出的值對應的報錯信息。(GetError 指令輸出結構變量中的ErrorID適用于下表)

ID ID 說明
0 0

無錯誤

2503 9475

指針無效

2505 9477

在用戶程序中調用“Stop”指令 (SFC46)

2520 9504

STRING 無效

2522 9506

讀取錯誤:操作數超出有效范圍

2523 9507

寫入錯誤:操作數超出有效范圍

2524 9508

讀取錯誤:操作數無效

2525 9509

寫入錯誤:操作數無效

2528 9512

讀取錯誤:數據對齊

2529 9513

寫入錯誤:數據對齊

252C 9516

指針無效

2530 9520

寫入錯誤:數據塊

2533 9523

使用了無效指針

2534 9524

塊編號錯誤 FC

2535 9525

塊編號錯誤 FB

2538 9528

訪問錯誤:DB 不存在

2539 9529

訪問錯誤:使用了錯誤 DB

253A 9530

全局數據塊不存在

253C 9532

故障信息或函數不存在

253D 9533

系統函數不存在

253E 9534

故障信息或函數塊不存在

253F 9535

系統塊不存在

2550 9552

訪問錯誤:DB 不存在

2551 9553

訪問錯誤:使用了錯誤 DB

2575 9589

程序嵌套深度出錯

2576 9590

本地數據分配出錯

2942 10562

讀取錯誤:Input

2943 10563

寫入錯誤:Output

常問問題

90976b5c-9384-11ec-952b-dac502259ad0.jpg?GetError 與GetErrorID 的區別?

:GetError 與GetErrorID 區別在于 GetError 可以得到比較詳細的信息,如塊編號,偏移地址等, 便于問題的快速診斷及定位。GetErrorID 指令僅輸出簡單報錯信息。

如果程序比較復雜,建議使用GetError 指令可以更快捷的幫助查找程序錯誤 。

90976b5c-9384-11ec-952b-dac502259ad0.jpg?是否可以在一個塊中( FC 或 FB )中不同的網絡段中(Network)多次調用 GetError 或 GetError ID 指令?

:可以。在一個塊中不同的網絡段中調用多次GetError 指令或 GetErrorID 指令,可以診斷一個塊中不同網絡段中的錯誤(見圖13)。

90bf08f6-9384-11ec-952b-dac502259ad0.jpg

圖13.

當然也可以在一個塊中的最后一個網絡只調用一次,如果程序中存在多處錯誤,發生的第一個錯誤的詳細信息將輸出至輸出參數Error 或 ID 處, 當第一個錯誤消失后,第二個錯誤的錯誤信息才被輸出至輸出參數。

90976b5c-9384-11ec-952b-dac502259ad0.jpg?是否可以在 OB1 中調用GetError 或 GetError ID 指令?

答:可以,使用方法與在FC 或 FB 中調用類似。

情況一:OB1 程序中出錯:

如果OB1 中的程序出錯,例如調用未組態硬件的 I 地址,但未調用GetError 指令,CPU error 燈會紅色閃爍,診斷緩沖區報錯(見圖14), 但CPU不會停機( 僅限于CPU 固件版本v2.0 以上版本,固件版本為V1.0 的CPU 在此種情況下會停機)

90f54470-9384-11ec-952b-dac502259ad0.jpg

圖14.

此時如果在OB1 中最后一條網絡調用GetError 或GetErrorID 指令,則診斷緩沖區的報錯信息消失, CPU 指示燈恢復正常。

情況二:OB1 本身的網絡中沒有錯誤, 但在 OB1 中調用的塊中存在錯誤, 例如FC1中存在錯誤:

1 )如果OB1 中無條件調用的塊例如FC1 出錯,OB1的其它網絡沒有錯誤, FC1 中有錯誤但并沒有調用Get Error 指令,CPU error 燈也會紅色閃爍,診斷緩沖區報錯(見圖15),但CPU不會停機( 僅限于CPU 固件版本v2.0 以上版本,固件版本為V1.0 的CPU 在此種情況下會停機),當在FC1 調用GetError 指令后, CPU 報錯信息消失,指示燈恢復正常。

91165534-9384-11ec-952b-dac502259ad0.jpg

圖15.

2 )如果OB1 中有條件調用塊,例如FC1, 但FC1 在OB 1 中的執行條件沒有滿足,則 CPU 不會報錯。一旦FC1 調用條件滿足被執行,且FC1 中的錯誤一直存在,則CPU error 燈也會閃,診斷緩沖區報錯(見圖15), 但CPU不會停機( 僅限于CPU 固件版本v2.0 以上版本,固件版本為V1.0 的CPU 在此種情況下會停機) 。

3) 如果OB1 中調用的塊FC 有錯誤,在OB1 中調用了GetError 指令,但出錯的塊 FC1 中未調用 GetError 指令,則CPU 也會出現 指示燈Error 紅色閃爍,診斷緩沖器報錯。見圖16。

913b9290-9384-11ec-952b-dac502259ad0.jpg

圖16.

總結:由此可見, GetErrorID 或GetError 指令是基于塊的指令,只能診斷調用它的塊中的錯誤,如果出錯的程序中未調用該指令,則無法診斷該塊中的錯誤。

審核編輯:郭婷


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10905

    瀏覽量

    213031

原文標題:S-1500 :GetError 與 GetErrorID 指令的使用

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NFC協議分析儀的技術原理和應用場景

    NFC協議分析儀的技術原理和應用場景可以詳細闡述如下:技術原理NFC(Near Field Communication,近場通信)協議分析儀是一種用于分析NFC通信協議和性能的專業設備
    發表于 09-25 14:45

    參數分析儀的技術原理和應用場景

    參數分析儀的技術原理和應用場景因其具體類型和用途的不同而有所差異。以下是對參數分析儀技術原理和應用場景的詳細歸納: 技術原理 基于物理性質的測量: 某些參數
    發表于 10-17 14:42

    射頻分析儀的技術原理和應用場景

    射頻分析儀是一種功能強大的電子測量儀器,在無線通信、電子測試等領域具有廣泛的應用。以下是關于射頻分析儀的技術原理和應用場景的詳細介紹:一、射頻分析儀的技術原理射頻
    發表于 11-26 14:32

    數據網絡分析儀的原理和應用場景

    數據網絡分析儀的原理和應用場景可以分別闡述如下:一、數據網絡分析儀的原理數據網絡分析儀的原理主要涉及以下幾個方面: 數據捕獲:網絡分析儀通過
    發表于 01-16 14:57

    信號分析儀的原理和應用場景

    信號分析儀是一種用于分析電信號頻譜和特性的儀器,其原理和應用場景如下:一、信號分析儀的原理信號分析儀的工作原理基于頻譜
    發表于 01-17 14:37

    函數信號分析儀的原理和應用場景

    函數信號分析儀是一種精密的電子測量儀器,其原理和應用場景如下所述:原理函數信號分析儀的核心原理主要基于信號的頻譜分析和時域分析。它通過采集輸
    發表于 01-20 14:13

    混合信號分析儀的原理和應用場景

    混合信號分析儀是一種集成度高、功能強大的電子測量設備,其原理和應用場景如下:一、原理混合信號分析儀由模擬部分和數字部分組成,用于混合信號的分析。其工作原理主要包括以下幾個方面: 信號采
    發表于 01-21 16:45

    脈沖信號分析儀?的原理和應用場景

    脈沖信號分析儀是一種用于測量和分析脈沖信號的精密儀器。以下是對其原理和應用場景的詳細介紹:一、原理脈沖信號分析儀的工作原理主要基于電子測量技術和信號處理技術。當脈沖信號被
    發表于 01-23 14:00

    this的使用場景及與C,Java中的this的區別

    【JS】this有哪些使用場景?跟C,Java中的this有什么區別?如何改變this的值?
    發表于 03-11 10:17

    小容量OLT應用場景分析

    是2U高的緊湊型OLT形態。盒式OLT一般是固定式設備,線卡不可插拔,成本低;而2U高OLT一般具備電信級的保護,具備良好的電源、風扇、主控板冗余等能力。  二、小容量OLT應用場景分析  下面將按照
    發表于 12-03 14:29

    DC-DC和LDO二者的區別和應用場景

    本質不同。要想了解二者的區別和應用場景,需從原理上進行分析。一、LDOⅠ 原理??LDO,全稱低壓差線性穩壓器(Low Dropout Regulator),屬于線性電源,應用時所需要的外接元件較...
    發表于 11-11 09:00

    幾種LED調光協議分析及具體應用場景介紹

    市面上主流幾種LED調光協議分析及具體應用場景介紹目前國內外的LED驅動已經不僅僅滿足照明需求,更多是去追求各種不同場景的應用,搭配各種數字協議,實現某種特定的功能,比如在汽車大燈的應用中,未為兼容
    發表于 12-31 08:04

    labview 和 wincc 的區別 使用場景

    labview 和 wincc 的區別 使用場景 都是上位機軟件,都可以做監控軟件 wincc的名氣也比較大 對比的資料較少 寫這些文章的人,從自己的從事的行業出發,帶有自己的思維 使用的場景 肯定
    發表于 10-27 18:01

    GetErrorGetErrorID指令的使用

    在 STEP7 11 中,可以通過GetError (獲取本地錯誤信息)或者GetErrorID (獲取本地錯誤ID )指令查詢塊內出現的錯誤。
    的頭像 發表于 01-29 10:57 ?1858次閱讀

    PLC中ALT和ALTP指令區別

    在PLC(可編程邏輯控制器)編程中,ALT和ALTP是兩個重要的指令,它們各自具有獨特的功能和應用場景。本文將從多個方面對這兩個指令進行詳細的分析和比較,以便讀者能夠更深入地理解它們之
    的頭像 發表于 06-17 16:42 ?4077次閱讀
    主站蜘蛛池模板: 香蕉操| 亚欧成人乱码一区二区 | 51vv福利视频在线精品 | 1024人成网站色 | 五月婷婷激情 | 色屋在线| 羞羞答答xxdd影院欧美 | 中国男女全黄大片一级 | 天天射天天干天天 | 久久riav国产精品 | 99精品热视频 | 岛国大片在线播放 | 国产片翁熄系列乱在线视频 | 视频一区视频二区在线观看 | 五月六月伊人狠狠丁香网 | 性欧美videofree视频另类 | 久久国内视频 | 亚洲综合色网 | 狠狠色丁香婷婷久久综合不卡 | 亚洲网站视频 | 免费看黄视频的网站 | 国产男女免费视频 | 爱草免费视频 | 韩国三级hd中文字幕 | 一区二区不卡视频 | 在线观看亚洲免费视频 | 中文字幕一区二区三区在线播放 | 一区视频在线播放 | 在线干| 视频二区在线观看 | 欧美不卡1卡2卡三卡老狼 | 亚洲一区毛片 | 偷操 | 久久夜色精品国产噜噜小说 | 又粗又大的机巴好爽欧美 | 特级淫片aaaaa片毛片 | 亚洲free| 色多多在线看 | bt天堂在线最新版在线 | 一级特黄aa毛片免费观看 | 天天躁狠狠躁夜夜躁 |