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

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

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

西門子博途: 有關(guān)處理程序執(zhí)行錯(cuò)誤的示例

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-07-12 17:43 ? 次閱讀

簡(jiǎn)介

本地錯(cuò)誤處理可單獨(dú)編程,也可與其它代碼一起編程。為確??勺R(shí)別程序中的所有錯(cuò)誤,建議使用本地錯(cuò)誤處理組合方案,如以下示例所示。

為提高錯(cuò)誤分析的準(zhǔn)確程度的錯(cuò)誤分析,除輸出參數(shù) RET_VAL 之外,還可使用指令“GET_ERROR”或“GET_ERR_ID”。這些方案提供有錯(cuò)誤代碼,并在相應(yīng)指令的描述中對(duì)其進(jìn)行詳細(xì)說明。

此外,RET_VAL 輸出參數(shù)也可能不輸出有效錯(cuò)誤代碼。如果在讀取輸入?yún)?shù)時(shí)發(fā)生訪問錯(cuò)誤(如,指令輸出無法入),則這是因?yàn)橹噶顖?zhí)行已中斷。此時(shí),建議在用戶程序中插入兩條指令“GET_ERROR”和“GET_ERR_ID”。這是因?yàn)?,發(fā)生此類錯(cuò)誤時(shí),這兩條指令將返回可靠的錯(cuò)誤信息

警告
讀取輸入?yún)?shù)時(shí)發(fā)生訪問錯(cuò)誤
RET_VAL 參數(shù)未返回有效的錯(cuò)誤代碼,且診斷緩沖區(qū)中未輸出任何詳細(xì)錯(cuò)誤信息。

錯(cuò)誤的第一個(gè)指示符可以是狀態(tài)字的 BR 位,也可以是使能輸出 ENO 。如果返回信號(hào)狀態(tài)“0”,則說明指令執(zhí)行過程中出錯(cuò)。信號(hào)狀態(tài)為“1”表示無錯(cuò)誤,因而無需進(jìn)行進(jìn)一步錯(cuò)誤分析,但存儲(chǔ)器訪問錯(cuò)誤例外。此時(shí),信號(hào)狀態(tài)為“1”表示發(fā)生錯(cuò)誤。

操作步驟

以下示例說明了如何在讀取輸入?yún)?shù)時(shí)識(shí)別訪問錯(cuò)誤:

按以下方式聲明程序塊的塊接口
2c08f8a8-2097-11ee-962d-dac502259ad0.png
2c08f8a8-2097-11ee-962d-dac502259ad0.png
編寫以下程序代碼
2c5e90ec-2097-11ee-962d-dac502259ad0.png
2c5e90ec-2097-11ee-962d-dac502259ad0.png

在程序段 1 中,調(diào)用指令“MOVE_BLK_VARIANT:塊移動(dòng)”。在 SRC 參數(shù)中,使用一個(gè)變量索引訪問“SrcField”源區(qū)域。如果指令成功執(zhí)行無錯(cuò)誤,則使能輸出 ENO 將返回信號(hào)狀態(tài)“1”,同時(shí)程序執(zhí)行跳轉(zhuǎn)到程序段 4 中繼續(xù)執(zhí)行。

如果指令在執(zhí)行過程中發(fā)生訪問錯(cuò)誤(如,由變量索引而引發(fā)),則程序段 2 中的指令“GET_ERR_ID:獲取本地錯(cuò)誤 ID”將返回錯(cuò)誤 ID。程序段 2 中“UNEQUAL”的錯(cuò)誤 ID 將與值“0”進(jìn)行比較并返回結(jié)果 #Test2 = TRUE。在程序段 3 中,“EQUAL”的錯(cuò)誤 ID 將與值“0”進(jìn)行比較,并返回結(jié)果 #Test3 = TRUE。

此時(shí),輸出參數(shù) RET_VAL 處的 #TagRet_Val 操作數(shù)將不返回有效錯(cuò)誤代碼。

例外

但也有一些指令不適用于以上示例中所列的錯(cuò)誤處理方式。具體包括以下指令:

通常不支持 EN/ENO 機(jī)制的指令

禁用 ENO 的指令

S_COMP

PEEK、PEEK_BOOL、POKE、POKE_BOOL 和 POKE_BLK

即使發(fā)生訪問錯(cuò)誤,這些指令中的 BR 位或使能輸出 ENO 也將設(shè)置為 TRUE。

以下示例中說明了如何在 STL 編程語言中編程可靠的錯(cuò)誤處理方式:

2caaad74-2097-11ee-962d-dac502259ad0.png

STL 說明
SET // 操作數(shù) #Tag_ErrorID 將初始化為“0”。
L 0
T #Tag_ErrorID
CALL S_COMP // 調(diào)用該指令。
src_type := String // 參數(shù) IN1 和 IN2 的數(shù)據(jù)類型
relation := EQ // 該指令的比較類型
IN1 := #StringArray.THIS[#index] // 對(duì) ARRAY 元素的可變?cè)L問。
IN2 := 'STRING' // 將兩個(gè)值互相比較。
OUT := #TagResult // 如果兩個(gè)值相等,則操作數(shù) #TagResult 的信號(hào)狀態(tài)為“1”。
A BR // 查詢 BR 位。
CALL GET_ERR_ID // 調(diào)用該指令。
RET_VAL := #Tag_ErrorID // 發(fā)生訪問錯(cuò)誤時(shí),該指令將輸出一個(gè)錯(cuò)誤代碼。

即使 BR 位的信號(hào)狀態(tài)為“1”,也將檢測(cè)到訪問錯(cuò)誤。通過評(píng)估指令“GET_ERR_ID:獲取本地錯(cuò)誤 ID”的操作數(shù) #Tag_ErrorID,可查詢?cè)撳e(cuò)誤代碼。





審核編輯:劉清

聲明:本文內(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)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7492

    瀏覽量

    163850
  • 西門子
    +關(guān)注

    關(guān)注

    94

    文章

    3039

    瀏覽量

    115886
  • STL算法
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    5366

原文標(biāo)題:西門子博途: 有關(guān)處理程序執(zhí)行錯(cuò)誤的示例

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    北京回收西門子組態(tài)軟件

    回收西門子變頻器SINAMICS V10系列變頻器回收西門子觸摸屏回收西門子組態(tài)軟件回收西門子
    發(fā)表于 05-27 12:16

    西門子1200碼垛機(jī)程序應(yīng)用

    西門子1200碼垛機(jī)、立體倉庫程序(帶注釋),程序應(yīng)用到變頻器、觸摸屏、步進(jìn)電機(jī)、工業(yè)機(jī)器人、視覺相機(jī)。
    發(fā)表于 09-03 07:42

    西門子大賽1200電梯參考程序

    西門子大賽1200電梯參考程序,V13文件.有需要的加油!
    發(fā)表于 06-22 15:56 ?183次下載

    帶注釋的西門子200程序

    西門子200程序
    發(fā)表于 10-17 10:59 ?0次下載

    西門子PLC S7-200smart程序下載錯(cuò)誤分析

    S7-200smart中來執(zhí)行,在下載過程中,有時(shí)會(huì)出現(xiàn)下載錯(cuò)誤的情況。  西門子PLC系列S7-200 smart程序下載問題  用戶在使用西門
    發(fā)表于 07-23 15:27 ?4697次閱讀

    西門子SETP7常見錯(cuò)誤分析

    西門子STEP7編程常見錯(cuò)誤分析解答。
    發(fā)表于 04-30 11:15 ?56次下載

    西門子PLC指令和程序設(shè)計(jì)

    西門子PLC指令和程序設(shè)計(jì)方法免費(fèi)下載。
    發(fā)表于 05-07 09:42 ?121次下載

    西門子PLC編程軟件下載

    西門子PLC編程軟件TIA V13 SP1 SIMATIC_WinCC_Runtime_Professional_SP1_for_V13---江西工控論壇有下載密碼www.jx-gongkong.com
    發(fā)表于 03-01 11:04 ?68次下載

    圖如何實(shí)現(xiàn)遠(yuǎn)程調(diào)試西門子PLC

    設(shè)備現(xiàn)場(chǎng)的PLC程序需要調(diào)整工藝流程,或者有小故障需要排除,就需要工程師到現(xiàn)場(chǎng)。隨著物聯(lián)網(wǎng)技術(shù)的成熟,通過4G網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控和調(diào)試PLC已經(jīng)常規(guī)化。西門子的PLC是市場(chǎng)上占有率最高的,差不多40%的市場(chǎng)占有率。那如何實(shí)現(xiàn)圖軟件遠(yuǎn)
    的頭像 發(fā)表于 10-13 09:14 ?4664次閱讀
    <b class='flag-5'>博</b>圖如何實(shí)現(xiàn)遠(yuǎn)程調(diào)試<b class='flag-5'>西門子</b>PLC

    如何在平臺(tái)調(diào)試西門子G120變頻器

      隨著工業(yè)自動(dòng)化邁向智能化越來越近,科技工作者不斷的突破,近年在傳動(dòng)領(lǐng)域,采用工業(yè)以太網(wǎng)(Profinet)和變頻器通訊非常廣泛,今天我們簡(jiǎn)單的介紹下在平臺(tái)調(diào)試西門子G120變頻器。
    的頭像 發(fā)表于 04-25 10:17 ?2.9w次閱讀
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器

    大型西門子PLC程序結(jié)構(gòu)示例

    大型的西門子PLC程序結(jié)構(gòu)示例。
    的頭像 發(fā)表于 07-06 10:34 ?1340次閱讀

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法
    的頭像 發(fā)表于 08-31 09:14 ?8109次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法

    西門子plc單按鈕啟停的十種方法(1200/1500PLC)

    西門子1200/1500PLC單按鈕啟??刂?0種設(shè)計(jì)方法
    發(fā)表于 08-31 09:15 ?6655次閱讀
    <b class='flag-5'>西門子</b>plc單按鈕啟停的十種方法(<b class='flag-5'>博</b><b class='flag-5'>途</b>1200/1500PLC)

    如何在平臺(tái)調(diào)試西門子G120變頻器

    隨著工業(yè)自動(dòng)化邁向智能化越來越近,科技工作者不斷的突破,近年在傳動(dòng)領(lǐng)域,采用工業(yè)以太網(wǎng)(Profinet)和變頻器通訊非常廣泛,今天我們簡(jiǎn)單的介紹下在平臺(tái)調(diào)試西門子G120變頻器。
    發(fā)表于 09-07 12:50 ?4988次閱讀
    如何在<b class='flag-5'>博</b><b class='flag-5'>途</b>平臺(tái)調(diào)試<b class='flag-5'>西門子</b>G120變頻器

    西門子PLC中OB塊的功能詳解

    塊)是不可或缺的重要組成部分,它承擔(dān)著PLC與外部設(shè)備通信、內(nèi)部程序執(zhí)行以及錯(cuò)誤處理等多重任務(wù)。本文將對(duì)西門子PLC中OB塊的功能進(jìn)行詳細(xì)的闡述,以期為讀者提供全面而深入的了解。
    的頭像 發(fā)表于 06-15 11:27 ?4725次閱讀