硬件中斷 OB
● 硬件中斷 OB 的功能
硬件中斷 OB 在發生相關硬件事件時執行,可以快速的響應并執行硬件中斷 OB 中的程序(例如立即停止某些關鍵設備)。
硬件中斷事件包括內置數字輸入端的上升沿和下降沿事件以及 HSC(高速計數器)事件。
當發生硬件中斷事件,硬件中斷 OB 將中斷正常的循環程序而優先執行。
S7-1200可以在硬件配置的屬性中預先定義硬件中斷事件,一個硬件中斷事件只允許對應一個硬件中斷 OB ,而一個硬件中斷 OB 可以分配給多個硬件中斷事件。
在 CPU 運行期間,可使用“ATTACH”附加指令和“DETACH”分離指令對中斷事件重新分配。
硬件中斷 OB 的編號必須為40~47,或大于、等于123。
● 與硬件中斷 OB 相關的指令功能
指令名稱 | 功能說明 |
ATTACH | 將硬件中斷事件和硬件中斷 OB 進行關聯。 |
DETACH | 將硬件中斷事件和硬件中斷 OB 進行分離。 |
● 硬件中斷 OB 的使用示例:
例如:當硬件輸入 I0.0 上升沿時,觸發硬件中斷 OB40(執行累加程序),當硬件輸入 I0.1 上升沿時,觸發硬件中斷 OB41(執行遞減程序),硬件中斷事件和硬件中斷 OB 關系如圖1。
圖1. 硬件中斷關系
1、按如下步驟創建硬件中斷 OB40 ,同樣的方法創建 OB41 。如圖2。
圖2. 創建硬件中斷 OB40
2、OB40 中編程如下圖,當硬件輸入 I0.0 上升沿時,觸發硬件中斷執行 MW200 加1。如圖3。
圖3. OB 40 中編程
3、OB41 中編程如下圖,當硬件輸入 I0.1 上升沿時,觸發硬件中斷執行 MW200 減1。如圖4。
圖4. OB41 中編程
4、在 CPU 屬性窗口中關聯硬件中斷事件,如下圖所示,分別將 I0.0 和 OB40 關聯,I0.1 和 OB41 關聯。如圖5、6。
圖5. I0.0 和 OB40 關聯
圖6. I0.1 和 OB41 關聯
5、測試結果:程序下載后,在監控表中查看 MW200 的數據。
① 當 I0.0 接通,觸發中斷 OB40 ,MW200 的數值累加1。結果如圖7。
圖7. I0.0 硬件中斷結果
② 當 I0.1 接通,觸發中斷 OB41 ,MW200 的數值遞減1。結果如圖8。
圖8. I0.1 硬件中斷結果
6、如果需要在 CPU 運行期間對中斷事件重新分配,可通過“ATTACH”附加指令實現,OB1 中編程步驟如下圖。如圖9。
圖9. “ATTACH”指令
① 如果“ATTACH”附加指令的引腳“ADD”為 FALSE,EVENT 中的事件將替換 OB40 中的原有事件。
即硬件中斷事件 I0.1“上升沿1”事件將替換原來 OB40 中關聯的 I0.0“上升沿0”事件,見下圖10:
圖10. 硬件中斷關系
② 如果“ATTACH”附加指令的引腳“ADD”為 TRUE,EVENT 中的事件將添加至 OB40 ,OB40 在 I0.0“上升沿0”和 I0.1“上升沿1”事件觸發時均會執行,見下圖11:
圖11. 硬件中斷關系
“ATTACH”指令參數說明:
EN | :=%M100.0 | //當 EN 端出現上升沿時,使能該指令 |
OB_NR | :=40 | //需要關聯的 OB 的編號 |
EVENT | :=“上升沿1” | //需要關聯的硬件中斷事件名稱 |
ADD | :=FALSE | //ADD=FALSE(默認值):該事件將取代先前為此 OB 分配的所有事件。ADD=TRUE:該事件將添加到此 OB 中。 |
RET_VAL | :=%MW0 | //狀態返回值(詳細信息請查看在線幫助) |
7、如果需要在 CPU 運行期間對中斷事件進行分離,可通過“DETACH”指令實現,OB 1 中編程如圖12。
圖12. “DETACH”指令
當 M100.2 置1使能指令 DETACH 后,硬件中斷事件和硬件中斷 OB 關系如下圖。如圖13。
圖13. 硬件中斷關系
“DETACH”指令參數說明:
EN | :=%M100.2 | //當 EN 端出現上升沿時,使能該指令 |
OB_NR | :=40 | //需要分離的 OB 的編號 |
EVENT | :=“上升沿0” | //需要分離的硬件中斷事件名稱 |
RET_VAL | :=%MW2 | //狀態返回值(詳細信息請查看在線幫助) |
常見問題:
使用硬件中斷需要注意什么?
1、一個硬件中斷事件只能分配給一個硬件中斷 OB ,而一個硬件中斷 OB 可以分配給多個硬件中斷事件;
2、用戶程序中最多可使用50個互相獨立的硬件中斷 OB ;數字量輸入和高速計數器均可觸發硬件中斷;
3、中斷 OB 和中斷事件在硬件組態中定義;在 CPU 運行時可通過“ATTACH”和“DETACH”指令進行中斷事件重新分配;
4、如果“ATTACH”指令的使能端 EN 為脈沖信號觸發,在使用“ATTACH”指令進行中斷事件重新分配后;若 CPU 的操作模式從 STOP 切換到 RUN 時執行一次,包括啟動模式處于 RUN 模式時上電和執行 STOP 到 RUN 命令切換,則硬件中斷 OB 和硬件中斷事件將恢復為在硬件組態中定義的分配關系;
5、如果一個中斷事件發生,在該中斷 OB 執行期間,同一個中斷事件再次發生,則新發生的中斷事件丟失;
6、如果一個中斷事件發生,在該中斷 OB 執行期間,又發生多個不同的中斷事件中,則新發生的中斷事件進入排隊,等待第一個中斷 OB 執行完畢后依次執行。
審核編輯:劉清
-
cpu
+關注
關注
68文章
10825瀏覽量
211146 -
計數器
+關注
關注
32文章
2253瀏覽量
94352 -
HSC
+關注
關注
0文章
8瀏覽量
8345 -
硬件中斷
+關注
關注
0文章
11瀏覽量
6835 -
S7-1200
+關注
關注
11文章
331瀏覽量
17911
原文標題:硬件中斷 OB
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論