<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子博途:ATTACH: 將 OB 附加到中斷事件
    發布時間: 2023-09-19 15:24 更新時間: 2024-12-27 09:10

    可以使用指令“ATTACH”為硬件中斷事件指定一個組織塊 (OB)。

    在 OB_NR 參數中輸入組織塊的符號或數字名稱。隨后將其分配給 EVENT 參數中指定的事件。

    在 EVENT 參數處選擇硬件中斷事件。已經生成的硬件中斷事件列在“系統常量”(System constants) 下的 PLC 變量中。

    如果在成功執行“ATTACH”指令后發生了 EVENT 參數中的事件,則將調用 OB_NR 參數中的組織塊并執行其程序。

    使用 ADD 參數指定應取消還是保留該組織塊到其它事件的先前指定。如果 ADD 參數的值為“0”,則現有指定將替換為Zui新指定。

    硬件中斷事件

    如果事件的未決時間不夠長,則可使用硬件中斷。在運行過程中,硬件中斷將對這些事件進行響應。每個硬件中斷可以分配給多個硬件中斷 OB。這些 OB 包含對特定事件的響應。

    可以為不同的事件創建硬件中斷。例如:

    檢測數字量輸入的上升沿或下降沿。

    超出模擬量輸入的既定下限和上限。

    高速計數器的外部重置、上溢/下溢、方向反轉等。

    工作原理

    每個硬件中斷可以分配給一個硬件中斷 OB,當發生硬件中斷事件時,將該 OB 放入隊列進行處理。OB 和事件的分配可以在組態時或運行時進行:

    要在組態時將事件分配給 OB,請在“硬件中斷”(Hardware interrupts) 下的硬件配置中為事件選擇硬件中斷 OB。

    使用 ATTACH 指令在運行時進行分配。事件和硬件中斷 OB 的分配通過 EVENT 和 OB_NR 參數進行。

    參數

    下表列出了“ATTACH”指令的參數:

    參數

    聲明

    數據類型

    存儲區

    說明

    OB_NR

    Input

    OB_ATT

    I、Q、M、D、L 或常量

    組織塊(Zui多支持 32767 個。)

    EVENT

    Input

    EVENT_ATT

    I、Q、M、D、L 或常量

    要分配給 OB 的硬件中斷事件。

    必須首先在硬件設備配置中為輸入或高速計數器啟用硬件中斷事件。

    ADD

    Input

    BOOL

    I、Q、M、D、L 或常量

    對先前分配的影響:

    ADD=0(默認值):該事件將取代先前為此 OB 分配的所有事件。

    ADD=1:該事件將添加到此 OB 之前的事件分配中。

    RET_VAL

    Return

    INT

    I、Q、M、D、L

    指令的狀態

    參數 RET_VAL


    錯誤代碼*

    (W#16#....)

    說明

    0

    無錯誤

    8090

    OB 不存在

    8091

    OB 類型錯誤

    8093

    事件不存在

    * 在程序編輯器中,錯誤代碼將顯示為整數或十六進制值。


    示例

    在以下示例中,將為創建的硬件中斷事件指定一個硬件中斷 OB (OB40)。

    要求:

    在“屬性 > 輸入 0-15 > ... > 通道 0”(Properties > Inputs 0-15 > ... > Channel 0) 中,創建一個輸入模塊 (DI) 并組態一個上升沿硬件中斷事件。

    圖片

    所組態硬件中斷事件的以下硬件 ID 將存儲在輸出參數 EVENT(“event”)中。

    圖片

    數據存儲

    在全局數據塊中,創建 9 個變量進行數據存儲。通過指令“ATTACH”的輸入參數 OB_NR(“obNbr”),可存儲待分配 OB (OB40) 的編號。

    圖片

    要調用硬件中斷事件,可創建帶有 PLC 變量的變量表(地址“I0.0”)。

    圖片

    互連

    互連該指令的參數,如下所示:

    圖片

    互連以下 PLC 變量,調用硬件中斷事件。

    程序段 2:

    圖片

    程序段 3:

    圖片

    要進行復位,可互連“testValue2”和“SLI_ATTACH_force”,如下所示。

    程序段 4:

    圖片

    在 OB40 中創建以下互連:

    圖片

    執行過程

    當常開觸點(“start”)的信號狀態為“TRUE”時,執行“ATTACH”指令并將事件分配給該 OB。輸入參數 ADD(“add”)的值“FALSE”時,該事件將取代先前為 OB40 分配的所有事件。輸出參數 RET_VAL(“returnValue”)用于指示處理無錯誤。

    當程序段 2 中常開觸點(“signal”)的信號狀態為“TRUE”時,PLC 變量“SLI_ATTACH_force”的信號狀態將置為“TRUE”,并執行 OB40。調用 OB40 時,“testValue1”的值傳送到“testValue2”中。

    當常開觸點(“start”和“signal”)的信號狀態為“FALSE”時,在程序段 4 中將復位“testValue2”和“SLI_ATTACH_force”的值。

    圖片


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595