那曲檬骨新材料有限公司

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

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

3天內不再提示

使用 EN/ENO 機制可避免程序崩潰

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-06-28 16:21 ? 次閱讀

簡介

使用使能輸出 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 塊的信號狀態,請按以下步驟操作:

激活 EN/ENO 機制。

然后編程:

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 塊之后將在被調用的程序塊中使用。

用于單個指令(指令 ENO)

c159c516-158b-11ee-962d-dac502259ad0.png

用于程序塊調用(塊 ENO)

c1719b78-158b-11ee-962d-dac502259ad0.png

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

    關注

    40

    文章

    6941

    瀏覽量

    132676
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81401
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69035

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

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

收藏 人收藏

    評論

    相關推薦

    在STM32單片機上運行除零運算的C程序代碼時為何程序崩潰

    眾所周知,在 C 語言中,當一個數除以0的時候,會導致除法運算異常。程序也會因此崩潰。 為了避免程序崩潰,我們需要在代碼中包含對 0 的判
    的頭像 發表于 09-14 11:11 ?1847次閱讀
    在STM32單片機上運行除零運算的C<b class='flag-5'>程序</b>代碼時為何<b class='flag-5'>程序</b>不<b class='flag-5'>崩潰</b>?

    ENO方案控制器xc846

    ENO方案控制器xc846
    發表于 08-20 08:51

    怎么才能避免SD卡頻繁讀寫防止死機機制

    怎么才能避免SD卡頻繁讀寫防止死機機制
    發表于 10-23 08:14

    基于信息熵的WSN節點擁塞避免機制

    在本文中,提出了基于節點相對信息熵的擁塞避免機制,該擁塞避免機制是基于事件的有效信息量,真正體現無線傳感器網絡以事件為中心的特點。
    發表于 06-29 10:34 ?1090次閱讀
    基于信息熵的WSN節點擁塞<b class='flag-5'>避免</b><b class='flag-5'>機制</b>

    行走在崩潰邊緣,程序猿“自救”指南!

    摘要:?都說錢是緩解痛苦的良方,可就算是多金的程序猿小哥也有扛不住的崩潰瞬間。到底因何崩潰?究竟是哪些瞬間讓程序猿小哥哭笑不得,崩潰不已?
    發表于 07-23 18:04 ?163次閱讀

    系統崩潰的解決辦法

    由操作失誤或病毒惡意軟件入侵導致電腦無法正常運作,頻繁死機等癥狀叫做系統崩潰。由軟件造成的崩潰即使是性能最好的PC硬件也離不開軟件的支持——也就是通常所說的應用程序、操作系統以及驅動程序
    的頭像 發表于 03-29 16:03 ?5403次閱讀

    蘋果可折疊鉸鏈機制設計曝光,避免顯示屏幕出現折痕

      據外媒報道,蘋果公司本周獲得了一種具有獨特鉸鏈機制的可折疊設備專利,該鉸鏈機制利用移動的擋板來幫助防止折疊時顯示屏幕出現折痕或損壞。
    的頭像 發表于 02-05 14:22 ?3010次閱讀
    蘋果可折疊鉸鏈<b class='flag-5'>機制</b>設計曝光,<b class='flag-5'>可</b><b class='flag-5'>避免</b>顯示屏幕出現折痕

    微軟推出Outlook桌面崩潰修復程序

    Microsoft的Windows Outlook電子郵件應用程序在啟動時就開始崩潰,今天全世界的許多用戶都在使用它。Office 365商業用戶報告說,Outlook似乎在最近更新之后啟動了,然后立即崩潰了。
    的頭像 發表于 07-16 16:11 ?2758次閱讀

    通過各種指令中的EN/ENO機制,可以檢測運行錯誤

    為該塊互連了 EN/ENO 機制。如果執行期間沒有任何錯誤,則 ENO 使能輸出的信號狀態將為“1”。如果執行期間發生錯誤,則 ENO 使能
    的頭像 發表于 03-02 14:36 ?4910次閱讀

    探究S-1500激活ENENO機制

    通過各種指令中的 EN/ENO 機制,可以檢測運行錯誤,并避免程序崩潰。 默認情況下,新插入的
    的頭像 發表于 04-16 11:25 ?1926次閱讀
    探究S-1500激活ENENO<b class='flag-5'>機制</b>

    簡述西門子SCL語言-輸入參數EN/輸出參數ENO

    必在塊或函數的聲明部分聲明。 因為EN是一個輸入參數,故不能在塊內改變EN。 如果沒被調用(EN : FALSE),函數的返回值是不定的。 例子(Example) -輸出參數ENO
    的頭像 發表于 04-30 16:31 ?1.1w次閱讀
    簡述西門子SCL語言-輸入參數<b class='flag-5'>EN</b>/輸出參數<b class='flag-5'>ENO</b>

    SCL中的 EN/ENO 機制概述

    SCL 中的 EN/ENO 機制概述 在 SCL 程序段中,可以通過賦值來改變 ENO。為此,請寫入“E
    的頭像 發表于 08-23 10:08 ?2882次閱讀

    如何在STL中的EN/ENO機制仿真示例呢?

    從 STL 程序塊調用的程序塊不提供 ENENO 參數。無論創建程序塊時采用何種編程語言,都可通過狀態字的 BR 位將錯誤語句傳送到
    的頭像 發表于 09-01 09:45 ?1135次閱讀

    如何在Windows下使用 Supervisor 重新拉起崩潰的Python程序

    我們用Python定時跑一些自動化程序的時候會出現程序崩潰的情況。此時如果你本人不在電腦面前,或者沒有留意到程序崩潰,沒有及時重新拉起
    的頭像 發表于 10-21 11:23 ?3453次閱讀
    如何在Windows下使用 Supervisor 重新拉起<b class='flag-5'>崩潰</b>的Python<b class='flag-5'>程序</b>

    如何避免PLC程序卡死呢?

    編寫穩定的程序:編寫良好的、穩定的PLC程序避免程序卡死的關鍵。確保程序邏輯清晰、簡潔,并遵循編程最佳實踐。
    的頭像 發表于 01-26 09:14 ?697次閱讀
    百家乐平注法是什么| 北京百家乐官网网上投注| 顶级赌场| 大发888优惠红利代码| 大发888官方下载 银行| 大发888娱乐场优惠| 大发888信誉最新娱乐| 大发888官方我的爱好| 德州扑克总督| 皇博| 永利娱乐场| 澳门百家乐官网玩大小| 太阳城百家乐官网网址--| 百家乐官网输一押二| 百家乐官网平注法亏损| 澳门百家乐一把决战输赢| 网上百家乐打牌| 赌球记| 伟德国际博彩| 澳门百家乐官网家用保险柜| 玩百家乐官网怎么才能赢| 博天堂百家乐官网的玩法技巧和规则| 属龙属虎合伙做生意吗| 百家乐网上真钱娱乐平台| 大发888客户端| 青铜峡市| 大发888bjl| 山丹县| 百家乐官网试玩1000元| 百家乐庄家赢钱方法| 百家乐丽| 镇沅| 没费用百家乐官网分析器| 百家乐小钱赢钱| 789棋牌游戏| 百家乐官网长龙如何判断| 百家乐官网大| 金杯百家乐的玩法技巧和规则| 明升备用地址| 百家乐官网投注规则| 罗马百家乐官网的玩法技巧和规则 |