OB 優先級和運行時特性
S7-1200-CPU 支持優先級 1(最低)到 27(最高)。為 OB 分配其啟動事件的優先級。中斷 OB 只能由時間錯誤中斷進行中斷。 此規則也適用于優先級高于當前激活 OB 的事件。即,除時間錯誤中斷 OB 外,只能激活一個中斷 OB。
正在執行中斷 OB 時,生成的任何其它事件都會按照其優先級添加到隊列中。稍后按照其發生的時間順序來處理隊列中的啟動事件。
CPU 上的程序執行:
循環 OB 由中斷 OB 進行中斷。
中斷 OB 只能由時間錯誤中斷 OB 進行中斷。
下圖顯示了基本順序:
① and ②某個事件(如硬件中斷)調用其相關聯的 OB。
不中斷地執行已調用的 OB 及其所有嵌套塊。如果隊列不包含任何可觸發 OB啟動的事件,則在完成中斷處理時會繼續執行循環 OB。
③ 中斷 OB 只能由時間錯誤中斷 OB (OB 80) 進行中斷。
④ 中斷處理期間會發生新的報警觸發事件。這個新事件會添加到隊列中。排隊的事件只能在完成執行當前中斷 OB 后按照以下規則連續調用其相應的 OB:
● 事件按照其優先級順序進行處理(從最高優先級開始)
● 優先級相同的事件按照時間順序進行處理
⑤ 循環 OB 相繼進行處理。
過程事件及其優先級
過程事件由 I/O(例如通過數字量輸入)觸發并在 S7-1200 CPU 中啟動對已分配 OB 的調用。 分配給硬件中斷事件的 OB 就是所謂的硬件中斷 OB。
過程事件及其優先級的示例:
● 中斷觸發模塊中的過程事件“上升沿”或“下降沿”:由此事件啟動的硬件中斷 OB 總是分配為優先級 5。
● 來自高速計數器的過程事件
– 計數值對應于參考值
– 更改計數方向
– 高速計數器的外部復位
由此事件啟動的硬件中斷 OB 總是分配為優先級 6。
下圖顯示了硬件中斷執行的順序。
硬件中斷執行
① 硬件中斷觸發事件(如輸入端的上升沿)調用它所屬的 OB。
② 如果執行 OB 時發生觸發硬件中斷的新事件,則將該事件輸入到隊列中。
③ 觸發硬件中斷的新事件會啟動分配給此事件的硬件中斷 OB。
分配中斷觸發事件在設備視圖的輸入屬性中,將中斷觸發事件分配給 OB。
● 只能將中斷觸發事件分配給單個 OB。
● 但是,可將 OB 分配給多個中斷觸發事件。
即,可將上升沿事件和下降沿事件分配給同一個中斷 OB,以便對任何輸入信號的切換觸發相同的響應。
● 每條指令中,已啟動的 OB 都可以中斷循環 OB。一致的數據訪問由最多雙字大小來保證。
● 可參數化模塊特定的中斷觸發事件,如輸入端的上升沿和下降沿。
● 在中斷觸發模塊的組態中分配中斷觸發事件和要啟動的 OB。但是,在已啟動的硬件中斷 OB 中,可通過 DETACH 指令覆蓋此分配,或者通過 ATTACH 指令將相同的事件分配給不同的 OB。使用該功能可對外部過程信號進行靈活的響應。
審核編輯:湯梓紅
-
cpu
+關注
關注
68文章
10863瀏覽量
211746 -
計數器
+關注
關注
32文章
2256瀏覽量
94562 -
S7-1200
+關注
關注
11文章
331瀏覽量
17984
原文標題:OB 優先級和運行時特性
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論