91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

西門子博圖:錯(cuò)誤處理機(jī)制概覽

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-11-25 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概覽

可通過以下幾種不同的錯(cuò)誤處理機(jī)制進(jìn)行參數(shù)跟蹤或編程或訪問錯(cuò)誤:

機(jī)制 任務(wù) 錯(cuò)誤處理
使能輸入 EN 或 IF 指令 阻止程序代碼的執(zhí)行 本地
使能輸出 ENO 或二進(jìn)制結(jié)果位 指示一個(gè)錯(cuò)誤
參數(shù)輸出 RET_VAL、STATUS 和 ERROR
GET_ERROR 和 GET_ERR_ID 指令 響應(yīng)一個(gè)錯(cuò)誤
組織塊 全局

參數(shù)值錯(cuò)誤時(shí)的本地錯(cuò)誤處理

錯(cuò)誤發(fā)生后,除了通過本地錯(cuò)誤處理機(jī)制立即進(jìn)行響應(yīng),也可通過程序代碼內(nèi)進(jìn)行特定響應(yīng)。此時(shí),可以在程序塊(OB、FB 或 FC)中直接編寫本地錯(cuò)誤處理方式,但系統(tǒng)僅對發(fā)生在該程序塊中的錯(cuò)誤進(jìn)行處理。

本地錯(cuò)誤處理的優(yōu)勢

可根據(jù)該錯(cuò)誤信息編寫程序塊中發(fā)生相應(yīng)錯(cuò)誤時(shí)的響應(yīng)措施。

所編寫的錯(cuò)誤評估和錯(cuò)誤響應(yīng)不會(huì)中斷程序的循環(huán)運(yùn)行。

本地錯(cuò)誤處理不會(huì)影響系統(tǒng)性能。如果錯(cuò)誤未發(fā)生,則不會(huì)執(zhí)行所編寫的錯(cuò)誤分析和響應(yīng)措施。

下標(biāo)列出了各種不同的本地錯(cuò)誤處理方式:

錯(cuò)誤處理方式 適用范圍 說明
EN/ENO 機(jī)制 1) S7-300 / S7-400 / S7-1200 / S7-1500 通過使能輸出 ENO 檢測特定的運(yùn)行時(shí)錯(cuò)誤并進(jìn)行相應(yīng)處理。后續(xù)指令的執(zhí)行取決于該使能輸出的信號狀態(tài)。通過 EN/ENO 機(jī)制,可有效避免程序崩潰。塊狀態(tài)將以布爾型變量形式進(jìn)行傳遞。
有關(guān) EN/ENO 機(jī)制的更多信息,請參見:
EN/ENO 機(jī)制的基本知識
輸出參數(shù) STATUS 和 ERROR S7-300 / S7-400 / S7-1200 / S7-1500 STATUS 和 ERROR 參數(shù)作為系統(tǒng)函數(shù)塊 (SFB) 的返回值時(shí),可查詢塊特定的錯(cuò)誤信息,并按照預(yù)定義的結(jié)構(gòu)進(jìn)行輸出。
有關(guān)輸出參數(shù)的更多信息,請參見信息系統(tǒng)中相應(yīng)指令的說明。
輸出參數(shù) RET_VAL S7-300 / S7-400 / S7-1200 / S7-1500 輸出參數(shù) RET_VAL 作為順序功能圖 (SFC) 的返回值時(shí),可顯示常規(guī)的錯(cuò)誤代碼或特定的錯(cuò)誤代碼。所謂常規(guī)的錯(cuò)誤代碼對應(yīng)于所有指令,而特定的錯(cuò)誤代碼僅適用于特定指令。最多可以輸出一個(gè) INT 或 WORD 數(shù)據(jù)類型的變量。
有關(guān) RET_VAL 輸出參數(shù)的更多信息,請參見:
通過輸出參數(shù) RET_VAL 評估錯(cuò)誤
1) 如果指令的參數(shù)未導(dǎo)致任何存儲器訪問錯(cuò)誤,則相關(guān)的使能輸出 ENO 將返回信號狀態(tài)“1”,并在輸出中返回可查詢的有效值。

發(fā)生編程錯(cuò)誤時(shí)的全局和本地錯(cuò)誤處理

通過全局和本地錯(cuò)誤處理,可立即對發(fā)生的錯(cuò)誤進(jìn)行響應(yīng)而無需將 CPU 切換為“STOP”模式??赏ㄟ^以下方式處理編程錯(cuò)誤和訪問錯(cuò)誤:

全局錯(cuò)誤處理的類型 適用范圍 說明
程序執(zhí)行錯(cuò)誤 OB (OB 85) S7-300 / S7-400 如果未使用 OB 85,則在發(fā)生程序執(zhí)行錯(cuò)誤時(shí) CPU 將從 RUN 模式切換為 STOP 模式,并在診斷緩沖區(qū)內(nèi)生成一個(gè)條目。
有關(guān) OB 85 的更多信息,請參見:
優(yōu)先等級錯(cuò)誤組織塊 (OB 85)
發(fā)生編程和訪問錯(cuò)誤時(shí)的 CPU 內(nèi)部錯(cuò)誤處理 S7-1200 發(fā)生錯(cuò)誤時(shí),CPU 將在診斷緩沖區(qū)中生成一個(gè)條目并保持為 RUN 模式,無需進(jìn)行額外編程。
編程錯(cuò)誤 OB (OB 121) S7-300/ S7-400 / S7-1500 如果未使用 OB 121,則在發(fā)生編程錯(cuò)誤時(shí) CPU 將從 RUN 模式切換為 STOP 模式,并在診斷緩沖區(qū)內(nèi)生成一個(gè)條目。
有關(guān) OB 121 的更多信息,請參見:
S7-300 / S7-400:
編程錯(cuò)誤組織塊 (OB 121)
S7-1500:
編程錯(cuò)誤 OB
I/O 訪問錯(cuò)誤 OB (OB 122) S7-300/ S7-400 / S7-1500 S7-300 / S7-400:
如果未使用 OB 122,則在發(fā)生訪問錯(cuò)誤時(shí) CPU 將從 RUN 模式切換到 STOP 模式。
I/O 訪問錯(cuò)誤組織塊 (OB 122)
S7-1500:
發(fā)生 I/O 訪問錯(cuò)誤時(shí),CPU 將始終保持為 RUN 模式并在診斷緩沖區(qū)中生成一個(gè)條目。即使未使用 OB 122,也同樣如此。
有關(guān) OB 122 的更多信息,請參見:
I/O 訪問錯(cuò)誤 OB

通過 GET_ERROR 和 GET_ERR_ID 指令,可直接在程序代碼中集成本地錯(cuò)誤處理。也可通過接收有關(guān)錯(cuò)誤的詳細(xì)信息并在錯(cuò)誤附近的程序中對其進(jìn)行評估。此時(shí),可以在程序塊(OB、FB 或 FC)中直接編寫本地錯(cuò)誤處理方式,但系統(tǒng)僅對發(fā)生在該程序塊中的錯(cuò)誤進(jìn)行處理。

本地錯(cuò)誤處理的類型 適用范圍 說明
GET_ERROR 和 GET_ERR_ID 指令 S7-1200/S7-1500 通過該指令,可獲得錯(cuò)誤 ID 或詳細(xì)的錯(cuò)誤信息,并在程序代碼中編寫直接響應(yīng)。
查詢第一個(gè)錯(cuò)誤信息時(shí),將再次啟用系統(tǒng)存儲器中該錯(cuò)誤所在的存儲空間。如果隨后發(fā)生其它錯(cuò)誤,則將輸出下一個(gè)錯(cuò)誤的信息。

采用本地錯(cuò)誤處理時(shí),可通過 GET_ERROR 指令進(jìn)行查詢。支持以下幾種默認(rèn)的響應(yīng)方式:

發(fā)生寫錯(cuò)誤時(shí):將忽略該錯(cuò)誤并繼續(xù)程序運(yùn)行。

發(fā)生讀錯(cuò)誤時(shí):程序?qū)⒗^續(xù)運(yùn)行,且算術(shù)指令的值將替換為“0”。

發(fā)生執(zhí)行錯(cuò)誤時(shí):將停止該指令的運(yùn)行,程序?qū)⑦\(yùn)行下一條指令。

本地錯(cuò)誤處理的優(yōu)勢

錯(cuò)誤信息存儲在系統(tǒng)存儲器中,可對其進(jìn)行查詢和評估(如,通過 GET_ERROR 和 GET_ERR_ID 指令)。

可根據(jù)該錯(cuò)誤信息編寫程序塊中發(fā)生相應(yīng)錯(cuò)誤時(shí)的響應(yīng)措施。

所編寫的錯(cuò)誤評估和錯(cuò)誤響應(yīng)不會(huì)中斷程序的循環(huán)運(yùn)行。

本地錯(cuò)誤處理對系統(tǒng)性能的影響要低于全局錯(cuò)誤處理。如果錯(cuò)誤未發(fā)生,則不會(huì)執(zhí)行所編寫的錯(cuò)誤分析和響應(yīng)措施。

如果在程序塊中設(shè)置有本地錯(cuò)誤處理,則在發(fā)生錯(cuò)誤時(shí)將不執(zhí)行全局錯(cuò)誤處理。

說明
要防止在發(fā)生錯(cuò)誤時(shí) CPU 切換為 STOP 模式,無論是全局錯(cuò)誤處理還是本地錯(cuò)誤處理必須處理所有的編程錯(cuò)誤和 I/O 訪問錯(cuò)誤。

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

簡介

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

為提高錯(cuò)誤分析的準(zhǔn)確程度的錯(cuò)誤分析,除輸出參數(shù) RET_VAL 之外,還可使用指令“GET_ERROR”或“GET_ERR_ID”。這些方案提供有錯(cuò)誤代碼,并在相應(yīng)指令的描述中對其進(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ò)誤信息。

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

操作步驟

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

按以下方式聲明程序塊的塊接口
af580d44-8ac7-11ee-939d-92fbcf53809c.png
編寫以下程序代碼:
af6de196-8ac7-11ee-939d-92fbcf53809c.png

在程序段 1 中,調(diào)用指令“MOVE_BLK_VARIANT:塊移動(dòng)”。在 SRC 參數(shù)中,使用一個(gè)變量索引訪問“SrcField”源區(qū)域。如果指令成功執(zhí)行無錯(cuò)誤,則使能輸出 ENO 將返回信號狀態(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ò)誤處理方式:

af805574-8ac7-11ee-939d-92fbcf53809c.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] // 對 ARRAY 元素的可變訪問。
IN2 := 'STRING' // 將兩個(gè)值互相比較。
OUT := #TagResult // 如果兩個(gè)值相等,則操作數(shù) #TagResult 的信號狀態(tài)為“1”。
A BR // 查詢 BR 位。
CALL GET_ERR_ID // 調(diào)用該指令。
RET_VAL := #Tag_ErrorID // 發(fā)生訪問錯(cuò)誤時(shí),該指令將輸出一個(gè)錯(cuò)誤代碼。

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






審核編輯:劉清

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

    關(guān)注

    39

    文章

    7738

    瀏覽量

    171650
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11277

    瀏覽量

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

    關(guān)注

    98

    文章

    3310

    瀏覽量

    120369
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    499

    瀏覽量

    29141
  • S7-1500
    +關(guān)注

    關(guān)注

    3

    文章

    302

    瀏覽量

    7309

原文標(biāo)題:西門子博圖:錯(cuò)誤處理機(jī)制概覽

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式編程錯(cuò)誤處理機(jī)制設(shè)計(jì)

    本文主要總結(jié)嵌入式系統(tǒng)C語言編程中,主要的錯(cuò)誤處理方式。文中涉及的代碼運(yùn)行環(huán)境如下。
    發(fā)表于 04-28 09:59 ?1461次閱讀
    嵌入式編程<b class='flag-5'>錯(cuò)誤處理機(jī)制</b>設(shè)計(jì)

    Rust語言中錯(cuò)誤處理機(jī)制

    可能的錯(cuò)誤,實(shí)際運(yùn)行中仍然可能出現(xiàn)各種各樣的錯(cuò)誤,比如文件不存在、網(wǎng)絡(luò)連接失敗等等。對于這些不可預(yù)測的錯(cuò)誤,我們必須使用錯(cuò)誤處理機(jī)制來進(jìn)行處理
    的頭像 發(fā)表于 09-19 14:54 ?2541次閱讀

    嵌入式C編程常用的異常錯(cuò)誤處理

    (Exception Handling) 雖然C語言本身不支持異常處理,但可以通過結(jié)構(gòu)化的錯(cuò)誤處理機(jī)制來模擬異常處理。 6. 日志記錄 (Logging) 記錄錯(cuò)誤日志有
    發(fā)表于 08-06 14:32

    西門子無線預(yù)處理手冊

    電子發(fā)燒友網(wǎng)為大家提供了西門子無線預(yù)處理手冊.
    發(fā)表于 02-28 15:28 ?45次下載

    暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全

    暢銷西門子助聽器價(jià)格表_西門子助聽器價(jià)格大全 1、西門子盒式助聽器 AMIGA 176AO Pocket AMIGA 176AO 西門子助聽器價(jià)格:441元
    發(fā)表于 08-23 12:19 ?2.2w次閱讀
    暢銷<b class='flag-5'>西門子</b>助聽器價(jià)格表_<b class='flag-5'>西門子</b>助聽器價(jià)格大全

    博世和西門子哪個(gè)好_博世和西門子的關(guān)系

    本文開始闡述了博世和西門子的關(guān)系以及分析了西門子和博世哪個(gè)更好,其次分析了西門子和博世的冰箱哪個(gè)更好,最后介紹了博世和西門子家電集團(tuán)在中國的發(fā)展。
    的頭像 發(fā)表于 04-04 09:30 ?16.6w次閱讀

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

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

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

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

    西門子TIA的Modbus主站通訊

    西門子PLC因其市場占有率較高,且被廣大用戶使用,應(yīng)用比較廣泛,而其TIA平臺得到了推廣應(yīng)用,本文將介紹使用CP341進(jìn)行Modbus 主站通訊
    的頭像 發(fā)表于 05-19 09:15 ?3543次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>圖</b>TIA的Modbus主站通訊

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

    本地錯(cuò)誤處理可單獨(dú)編程,也可與其它代碼一起編程。為確??勺R別程序中的所有錯(cuò)誤,建議使用本地錯(cuò)誤處理組合方案,如以下示例所示。
    的頭像 發(fā)表于 07-12 17:43 ?5645次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b>途: 有關(guān)<b class='flag-5'>處理</b>程序執(zhí)行<b class='flag-5'>錯(cuò)誤</b>的示例

    西門子伺服電機(jī)維修故障處理技巧

    西門子伺服電機(jī)維修故障處理技巧
    的頭像 發(fā)表于 11-23 10:56 ?3674次閱讀

    西門子途中CPU對錯(cuò)誤的反應(yīng)

    如果CPU的操作系統(tǒng)檢測到錯(cuò)誤,它會(huì)以O(shè)B調(diào)用的形式搜索適當(dāng)?shù)?b class='flag-5'>錯(cuò)誤處理。如果找到了相應(yīng)的OB,則執(zhí)行該OB并完成CPU的錯(cuò)誤處理。如果適當(dāng)?shù)?b class='flag-5'>錯(cuò)誤OB不可用,則CPU沒有進(jìn)一步的反應(yīng)。
    的頭像 發(fā)表于 12-11 17:12 ?2559次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b>途中CPU對<b class='flag-5'>錯(cuò)誤</b>的反應(yīng)

    西門子SCL練習(xí)1:使用FC計(jì)算平均值

    西門子SCL練習(xí)1:使用FC計(jì)算平均值
    的頭像 發(fā)表于 01-02 10:25 ?4566次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>博</b><b class='flag-5'>圖</b>SCL練習(xí)1:使用FC計(jì)算平均值

    C語言中的錯(cuò)誤處理機(jī)制解析

    C 語言不提供對錯(cuò)誤處理的直接支持,但是作為一種系統(tǒng)編程語言,它以返回值的形式允許您訪問底層數(shù)據(jù)。
    的頭像 發(fā)表于 02-26 11:19 ?1220次閱讀

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

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