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

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

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

ATTACH:將OB附加到中斷事件

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 2023-07-20 10:42 ? 次閱讀

說明

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

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

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

如果在成功執(zhí)行“ATTACH”指令后發(fā)生了 EVENT 參數(shù)中的事件,則將調(diào)用 OB_NR 參數(shù)中的組織塊并執(zhí)行其程序。

使用 ADD 參數(shù)指定應(yīng)取消還是保留該組織塊到其它事件的先前指定。如果 ADD 參數(shù)的值為“0”,則現(xiàn)有指定將替換為最新指定。

硬件中斷事件

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

可以為不同的事件創(chuàng)建硬件中斷。例如:

檢測數(shù)字量輸入的上升沿或下降沿。

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

高速計數(shù)器的外部重置、上溢/下溢、方向反轉(zhuǎn)等。

工作原理

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

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

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

參數(shù)

下表列出了“ATTACH”指令的參數(shù):

參數(shù) 聲明 數(shù)據(jù)類型 存儲區(qū) 說明
OB_NR Input OB_ATT I、Q、M、D、L 或常量 組織塊(最多支持 32767 個。)
EVENT Input EVENT_ATT I、Q、M、D、L 或常量 要分配給 OB 的硬件中斷事件。
必須首先在硬件設(shè)備配置中為輸入或高速計數(shù)器啟用硬件中斷事件。
ADD Input BOOL I、Q、M、D、L 或常量 對先前分配的影響:
ADD=0(默認值):該事件將取代先前為此 OB 分配的所有事件。
ADD=1:該事件將添加到此 OB 之前的事件分配中。
RET_VAL Return INT I、Q、M、D、L 指令的狀態(tài)

參數(shù) RET_VAL

錯誤代碼*
(W#16#....)
說明
0 無錯誤
8090 OB 不存在
8091 OB 類型錯誤
8093 事件不存在
* 在程序編輯器中,錯誤代碼將顯示為整數(shù)或十六進制值。

示例

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

要求:

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

677a4c38-2624-11ee-962d-dac502259ad0.png

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

679275a6-2624-11ee-962d-dac502259ad0.png

數(shù)據(jù)存儲

在全局數(shù)據(jù)塊中,創(chuàng)建 9 個變量進行數(shù)據(jù)存儲。通過指令“ATTACH”的輸入?yún)?shù) OB_NR(“obNbr”),可存儲待分配 OB (OB40) 的編號。

67b60e80-2624-11ee-962d-dac502259ad0.png

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

67d6e542-2624-11ee-962d-dac502259ad0.png

互連

互連該指令的參數(shù),如下所示:

67f4cd0a-2624-11ee-962d-dac502259ad0.png

互連以下 PLC 變量,調(diào)用硬件中斷事件。

程序段 2:

6815a3c2-2624-11ee-962d-dac502259ad0.png

程序段 3:

6839f57e-2624-11ee-962d-dac502259ad0.png

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

程序段 4:

684bfd82-2624-11ee-962d-dac502259ad0.png

在 OB40 中創(chuàng)建以下互連:

68723704-2624-11ee-962d-dac502259ad0.png

執(zhí)行過程

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

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

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

6885a92e-2624-11ee-962d-dac502259ad0.png






審核編輯:劉清

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

    關(guān)注

    5004

    文章

    13045

    瀏覽量

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

    關(guān)注

    93

    文章

    2975

    瀏覽量

    115298
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2248

    瀏覽量

    94178
  • 硬件中斷
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6825

原文標題:西門子博途:ATTACH: 將 OB 附加到中斷事件

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

收藏 人收藏

    評論

    相關(guān)推薦

    CKS32F107xx系列MCU的中斷和事件

    本章節(jié)首先將以MCU開發(fā)人員常接觸到的“中斷”、“事件”和“中斷事件”三個名詞的概念展開,然后去闡述彼此的主要區(qū)別,最后借助MCU的GPIO外部中斷/事件控制器(EXTI)的傳輸路徑來加深對上述概念的理解。
    的頭像 發(fā)表于 07-22 09:29 ?444次閱讀
    CKS32F107xx系列MCU的<b class='flag-5'>中斷</b>和事件

    如何在RTOS SDK中將FRC1計時器附加到NMI的信息?

    我一直在尋找有關(guān)如何在 RTOS SDK 中將 FRC1 計時器附加到 NMI 的信息。我已經(jīng)找到了 NON-OS SDK 所需的內(nèi)容,但我找不到 RTOS SDK 的 NON-OS ETS_FRC_TIMER1_NMI_INTR_ATTACH(pwm_intr_hand
    發(fā)表于 07-10 08:32

    請問如何cURL庫添加到ESP8266_RTOS_SDK項目中?

    我想使用 curl api,但我不知道如何庫添加到我的項目中,這樣當我將該庫的頭文件包含在我的項目中時它就不會抱怨。 有誰知道如何正確地第三方庫添加到ESP8266_RTOS_SD
    發(fā)表于 07-09 07:52

    STM8L外部中斷跟普通MCU的外部中斷不一致,為什么?

    即將具有外部中斷功能的Port的某一IO設(shè)定為外部中斷的觸發(fā)輸入 該設(shè)置涉及到EXTI_CR1和EXTI_CR2,然后再中斷函數(shù)中再去確定是哪個Port的IO發(fā)生了中斷事件。
    發(fā)表于 05-15 06:23

    使用模擬看門狗時,只要加上濾波就不產(chǎn)生中斷事件,為什么?

    請教大家一個問題,使用模擬看門狗時,只要加上濾波(AnalogWDGConfig.FilteringConfig= ADC_AWD_FILTERING_2SAMPLES;),當ADC轉(zhuǎn)換的值不在模擬看門狗設(shè)置的閾值范圍內(nèi)也不產(chǎn)生中斷事件,把濾波取消后就能正常進入中斷,請問
    發(fā)表于 04-17 06:12

    西門子S7-200 SMART編碼器轉(zhuǎn)速測量編程指南

    中斷開啟 定時中斷 0(SMB34):時間間隔值10ms ATCH: 中斷連接指令中斷事件 EVNT 與
    發(fā)表于 03-28 09:52 ?1754次閱讀
    西門子S7-200 SMART編碼器轉(zhuǎn)速測量編程指南

    STM32L431RCT6觸發(fā)ADC模擬看門狗規(guī)則通道轉(zhuǎn)換后,定時器中斷事件無法觸發(fā)注入通道事件,為什么?

    模擬看門狗配置如圖,調(diào)試知定時器中斷正常觸發(fā),但是定時器中斷事件無法觸發(fā)注入通道事件
    發(fā)表于 03-15 07:12

    IMC300A如何在 “口的初始化函數(shù)” 中指定響應(yīng)接收器幀完成中斷事件?

    (); imc_uart0_transment_Byte (receiveByte);} 這是例程中口接收中斷的函數(shù)數(shù),但是口的中斷事件有很多,請問如何在 “口的初始化函數(shù)” 中指定響應(yīng)接收器幀完成中斷事件。
    發(fā)表于 01-29 06:09

    s3c2410中斷控制模塊的中斷源狀態(tài)寄存器是?

    S3C2410是一款由三星電子公司設(shè)計的具有多種功能的嵌入式處理器。其中的中斷控制模塊用于管理系統(tǒng)的中斷請求和中斷服務(wù)程序。在S3C2410中,中斷源狀態(tài)寄存器是用來標識當前正在發(fā)生的
    的頭像 發(fā)表于 01-05 17:28 ?586次閱讀

    如何在循環(huán)中斷中創(chuàng)建工藝對象PID控制器?

    以下步驟介紹如何在循環(huán)中斷 OB“PID [OB200]”中調(diào)用工藝對象“PID_Compact” 。
    的頭像 發(fā)表于 12-29 18:10 ?1563次閱讀
    如何在循環(huán)<b class='flag-5'>中斷</b>中創(chuàng)建工藝對象PID控制器?

    OB2283MP電流模式PWM控制器-ob2283芯片中文資料

    供應(yīng)OB2283MP電流模式PWM控制器,提供ob2283芯片中文資料規(guī)格參數(shù)等,更多產(chǎn)品手冊、應(yīng)用料資請向驪微電子申請。>>
    發(fā)表于 12-25 16:52 ?7次下載

    使用OB2736V+OB2613NPD20V2.25A OB2736VIEP+OB2613 N的45W USB PD模塊

    電子發(fā)燒友網(wǎng)站提供《使用OB2736V+OB2613NPD20V2.25A OB2736VIEP+OB2613 N的45W USB PD模塊.pdf》資料免費下載
    發(fā)表于 12-22 10:00 ?14次下載

    西門子博途:如何創(chuàng)建新OB

    大多數(shù)OB類型都可以創(chuàng)建多個OB(數(shù)量取決于CPU)。在這樣做的過程中,123的數(shù)字可以自由選擇。
    發(fā)表于 12-12 11:20 ?795次閱讀
    西門子博途:如何創(chuàng)建新<b class='flag-5'>OB</b>

    西門子博圖RD_SINFO:讀取當前OB啟動信息

    兩種情況下都沒有時間戳。如果在 OB 100、OB 101 或 OB 102 中進行調(diào)用,則將返回兩個相同的啟動信息。
    的頭像 發(fā)表于 11-20 14:31 ?1666次閱讀
    西門子博圖RD_SINFO:讀取當前<b class='flag-5'>OB</b>啟動信息

    單片機外部中斷的好處

    外部中斷是單片機實時地處理外部事件的一種內(nèi)部機制。當外部事件發(fā)生時,單片機的中斷系統(tǒng)迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進行中斷事件的處理,中斷
    的頭像 發(fā)表于 10-31 15:58 ?2035次閱讀
    單片機外部<b class='flag-5'>中斷</b>的好處