發生某個事件時,系統將觸發相應的 OB 執行。根據 OB 的優先級和當前處理器的負載情況,如果發生過載,則在 OB 執行前可能會產生一段時間延時。因此,用戶程序在處理先前事件的 OB 時,相同的事件可能會發生一次或多次。此時,CPU 將執行以下操作:操作系統將根據發生的順序,照事件的優先級對其進行排列。CPU 隨后會將最早的事件當作優先級最高的事件并處理關聯 OB 。OB 處理完畢后,CPU 會處理下一事件的 OB 。
如果要控制臨時過載,則可限制源自同一問題的排隊事件的數量。當達到一個特定循環中斷 OB 中未決觸發的最大數目時,下一個事件將丟棄。
如果類似事件的出現速度快于 CPU 處理這些事件的速度,則會發生過載。類似事件是指單個源中的事件,如特定循環中斷 OB 中的啟動事件。
過載響應的組態
在可能發生過載的組織塊的屬性中,可在“ 屬性”(Attributes) 和“ 事件排隊”(Event queuing) 下選擇相應的過載響應。
待排隊的事件
OB 參數“ 待排隊的事件” (Events to be queued) 用于指定操作系統在相應隊列中將稍后處理的類似事件數目。例如,如果此參數值為 1 ,則僅臨時存儲一個事件。
如果達到隊列中的最大類似啟動事件數目,則只對每個額外的啟動事件進行計數,然后將其丟棄。在事件的下一調度處理過程中,CPU 通過“ Event_Count ” 輸入參數(以啟動信息形式)提供已丟棄啟動事件的數目。然后對過載情況作出適當響應。然后,CPU 將丟失事件的計數器重置為 0 。
報告事件溢出到診斷緩沖區中
例如,如果 CPU 首先丟棄了循環中斷 OB 的啟動事件,則之后的操作將取決于該 OB 參數“ 報告事件溢出到診斷緩沖區中” (Report event overflow into diagnostic buffer)。如果已選中該復選框,CPU 將針對此事件源的過載情況在診斷緩沖區中輸入事件。如果再次發生過載的情況(溢出計數器從 0 變為 1 ),則會在下一 OB 結束處輸入另一診斷緩沖區條目。
啟用時間錯誤
循環中斷 OB 參數“ 啟用時間錯誤” (Enable time error) 用于指定在達到類似事件的特定過載級別時是否調用時間錯誤 OB 。使用 OB 參數“ 啟用時間錯誤” (Enable time error) 設定達到類似事件的限值之前對過載的響應。CPU 丟棄類似事件之前的響應。
下例顯示了多個類似事件的出現速度快于 CPU 處理關聯 OB 的速度時 CPU 的響應。在示例 1 中,用戶選擇了以下參數分配:
下圖顯示了事件調用關聯 OB 后的處理序列。
發生的事件調用 OB 后,事件會占用 OB 的一個時隙。CPU 處理完該事件后,被占用的時隙會再次可用。如果 CPU 尚未完成對發生事件 OB 的處理,隨后發生的事件在這段時間內會各占用 OB 的其它時隙。此數目超過配置的待排隊事件數目后,這些事件會被丟棄,并會由溢出計數器進行計數。完成長時間運行的 OB 時,CPU 會在診斷緩沖區中創建一個條目,并會將溢出計數器置零 ( ①)。CPU 處理完長時間運行的 OB 后,會接著處理依次排隊事件的 OB 。下次出現新事件時,CPU 會將之前的復位溢出計數器值寫入 OB 的啟動信息中。CPU 隨后會處理 OB ( ②)。
在示例 2 中,用戶選擇了以下參數分配:
與示例 1 不同,示例 2 中的 CPU 在超出所組態的事件閾值后將請求時間錯誤。僅當 OB的所有時隙同時釋放時,才會出現其它時間錯誤。
審核編輯 :李倩
-
處理器
+關注
關注
68文章
19825瀏覽量
233745 -
cpu
+關注
關注
68文章
11049瀏覽量
216143
原文標題:S71500-CPU 的過載特性
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
西門子S7 PLC通過深控技術無點表工業網關實現數據采集與智能決策方案
廣汽傳祺攜手Momenta推出首款高階智駕SUV傳祺向往S7
MCGS觸摸屏與西門子S7系列PLC以太網通信

東風風行星海S7長續航版上市
Profinet 轉 EtherNet/IP 網關怎樣化解西門子 S7 - 1500 PLC 與 AB PLC 之間的通訊難題

西門子1200、200smart、LOGO實現S7通訊演示

東風Honda燁S7亮相2024進博會
西門子 S7 通信協議大揭秘

S7協議讀取西門子S7-200 Smart PLC數據

宏集物聯網工控屏通過 S7 ETH 協議采集西門子 1200 PLC 數據

評論