亚洲丰满熟女一区二区V_国产精品国产三级欧美二区_一二三四在线观看视频韩国_日本动态120秒免费_单县伦理影院

當前位置:首頁  >  技術文章  >  西門子博途:EN/ENO 機制的基本知識

西門子博途:EN/ENO 機制的基本知識

更新時間:2023-07-04 點擊量:5399

簡介

使用使能輸出 ENO,可檢測和處理某些運行系統錯誤。后續指令的執行取決于該使能輸出的信號狀態。使用 EN/ENO 機制可避免程序崩潰。塊狀態將以布爾型變量的形式進行傳遞。

EN/ENO 機制可用于以下兩個方面:




    LAD 和 FBD 支持 EN/ENO 機制,可調用程序代碼中的簡單指令和高級指令。

    使用 EN/ENO 機制時,可對以下指令調用進行影響,并使用指令“RET:返回"定制到程序塊外的跳轉。同時,還可為程序塊的使能輸出 ENO 賦值(0 或 1)。該特性通常用于 LAD 和 FBD 程序塊。在 SCL 程序塊中,也可使用該功能,無需再使用指令“RET"對 SCL 程序塊的使能輸出 ENO 進行影響。

    在程序段邊界處,該使能輸出的信號狀態將重復性地置位為“1"。例如,在 LAD 程序塊中,可通過以下方式識別:即使上一個程序段中最后一個指令的使能輸出 ENO 返回信號狀態“0",左側母線也始終提供電流。

    指令“RET:返回"(LAD/FBD) 的功能

    邏輯運算結果為 0 時,不執行該指令而執行下一個程序段。

    邏輯運算結果為 1 時,將執行該指令并返回調用程序塊。

    ENO 塊的信號狀態可通過以下四個選項確定:

    • RLO:RLO = 1 時,ENO 塊將置位為 TRUE。

    • TRUE:ENO 塊將置位為 TRUE。

    • FALSE:ENO 塊將置位為 FALSE。

    • Operand:由操作數的信號狀態確定 ENO 塊的信號狀態。

    編程與 I/O 訪問錯誤

    EN/ENO 機制無法編程和 I/O 訪問錯誤。為此,可通過 OB 進行全局錯誤處理或使用“GET_ERROR"、“GET_ERR_ID"指令進行本地錯誤處理或(僅 S7-1200/1500)。如果指令成功執行無任何錯誤,則可評估相關的使能輸出 ENO。

    所有編程語言中的程序塊調用 (S7-300/400)

    以下示例適用于 S7-300/400 系列 CPU:如果調用的程序塊中不含任何指令,則 BR 位和 ENO 使能輸出均不受影響。BR 位的信號狀態將保持為一個常量結果。此時,所有語句都無法成功調用該程序塊。

    影響 SCL 程序塊的使能輸出 ENO

    說明

    SCL 程序塊中的最后一個指令 ENO 通常會影響 ENO 塊。

    另外,也可跳出該程序塊,并同時使用指令“RETURN"為 ENO 塊賦值“1"或“0"。

    操作步驟

    要影響 ENO 塊的信號狀態,請按以下步驟操作:

    1. 激活 EN/ENO 機制。

    2. 然后編程:

      IF ENO := 0 THEN

      RETURN;

      END_IF;

    結果

    發生錯誤時(如,結果發生溢出),使能輸出 ENO 將先返回信號狀態“0",如一個加指令。該 ENO 塊因此為 FALSE,并在上一個程序塊調用完成后從該程序塊跳到下一個指令處。在一個 SCL 程序段(如,包含多個數學函數等)中,可對該操作步驟進行多次編程。

    但無需編程跳轉,跳出該程序塊。在 SCL 程序塊中,如果單個指令的使能輸出 ENO 信號狀態為“0",則可確定不執行后續指令。為此,指令 ENO 將在后續的 IF 指令中與以下指令進行關聯。


    說明

    ENO 塊的影響

    通過 SCL 程序塊,最后一個指令 ENO 的信號狀態將在該塊結束處傳送到 ENO 塊中。

    因此,指令 ENO 可直接影響 ENO 塊。


    在 SCL 中使用 EN/ENO 機制的示例

    使用 EN/ENO 機制的指令示例

    要在指令中使用 EN/ENO 機制,則需激活塊屬性“自動設置 ENO"。下文中舉例說明了如何在“a + b"運算中使用使能輸出 ENO:




    "MyOutputREAL":= #a + #b;

    "MyOutputBOOL":= ENO;


    如果執行“a/b"運算后成功無錯誤,則操作數“MyOutputBool"的信號狀態為“1"。發生錯誤時,使能輸出 ENO 的信號狀態為“0"。

    通過 EN/ENO 機制調用程序塊的示例

    以下示例顯示了程序塊的調用過程。為此,需激活 EN/ENO 機制,且必須事先編程一個影響塊 ENO 的指令:




    IF ENO := 1 THEN

    "Block name_DB"();

    END_IF;


    僅當使能輸出 ENO 的信號狀態為“1"時,才調用并執行該程序塊。如果激活了 EN/ENO 機制,則被調用的程序塊還將返回一個 ENO 塊。該 ENO 塊之后將在被調用的程序塊中使用。


聯系方式

郵箱:15214375780@163.com 地址:上海市松江區高技路655號4棟413-415
咨詢熱線

15214375780

(周一至周日9:00-19:00) 在線咨詢
微信二維碼
移動端瀏覽
上海茂碩機械設備有限公司©2024版權所有    備案號:滬ICP備18010475號-4 技術支持:化工儀器網    管理登陸    sitemap.xml