CPU1500之循環的定義
在一個循環中,包含以下幾部分內容:
● 自動更新輸出的過程映像分區 0 (PIPI 0)
● 自動更新輸入的過程映像分區 0 (PIPI 0)
● 循環程序的執行
在該循環中,過程映像分區 0 將自動更新。通過“自動更新” (Automatic update) 設置(默認)組態 I/O 模塊時,應將 I/O 地址分配給這些過程映像分區 (PIPI 0/PIPQ 0) 。
下圖舉例說明一個循環期間發生的各個階段。在下例中,用戶組態了最小循環時間。更新過程映像分區和處理循環程序在組態的最小循環時間結束之前完成。因此,CPU 會等待組態的最小循環時間到期,然后再開始下一次程序循環。
① 操作系統啟動循環時間測量的循環控制點。
② CPU 將過程映象輸出的狀態寫入輸出模塊中。
③ CPU 讀取輸入模塊的輸入狀態,并將輸入數據寫入過程映像輸入中。
④ CPU 執行用戶程序,并執行程序中的指令。
⑤ 等待階段,直至組態的最小循環時間結束
循環控制點
達到循環控制點后,CPU 已完成循環程序,不再執行 OB。此時,所有用戶數據保持一致。要求沒有任何修改用戶數據的通信(比如 HMI 通信或 PUT/GET 通信)處于活動狀態。
循環控制點標記了:
● 循環及其循環時間統計信息結束
● 下一循環及其循環時間統計信息開始
● 重新開始監測組態的最大循環時間
(超時計數器復位)
循環控制點的到達取決于以下哪一事件是最后發生的:
● 結束上一個程序循環 OB
● 最小循環時間到期(若已組態)
已到達循環控制點后,CPU 會執行以下步驟:
1. 將過程映像輸出寫入輸出模塊
2. 將輸入模塊的輸入狀態讀取到過程映像輸入中
3. 執行第一個程序循環 OB
循環時間的定義
循環時間是 CPU 執行以下操作需要的時間:
● 更新過程映像輸入/ 輸出
● 執行循環程序
● 中斷此循環的所有程序段和系統活動
● 等待最小循環時間(如果已進行參數設置,且時間長于程序執行時間)
循環時間不同的原因
下圖舉例說明了這兩種不同的循環時間 Tcyc1和 Tcyc2。
本例中,由于循環程序被循環中斷 OB(例如:OB 30)中斷,因此循環時間 Tcyc2大于 T cyc1。之后,運動控制功能和通信將再次中斷該循環中斷 OB。
最小循環時間
在 STEP 7 中,可設置 CPU 的最小循環時間。非冗余 CPU 的默認最小循環時間設置為 1 毫秒。在以下情況下,建議增大該值:
● 降低循環時間的波動范圍。
● 使用剩余的計算時間執行通信任務。CPU 隨后會在最小循環時間到期之前處理這些通信任務。
使剩余計算時間可用于通信任務的優點如下:
– 延長最小循環時間,避免過程映像不必要地頻繁更新,從而降低背板總線的負載。
– 延長最小循環時間可提高通信性能。
最大循環時間
最大循環時間是循環程序運行時間的可組態上限。最大循環時間任務將監測相應進程需要的響應時間。
非冗余 CPU 的最大循環時間默認設為 150 ms。為 CPU 分配參數時,可在 1 ms 到 6000 ms 范圍內設置該值。如果當前處理的循環時間長于最大循環時間,則會調用時間錯誤 OB (OB 80)。通過 OB 80 中的用戶程序指定 CPU 對時間錯誤的響應。
首次超出循環時間(不使用 OB 80)? STOP
首次超出循環時間(使用 OB 80)? RUN
第二次超出循環時間(使用 OB 80)? STOP
要直接在 STEP 7 中查看循環時間的統計信息,請按以下步驟操作:
1. 使用 STEP 7 建立與 CPU 的在線連接。
2. 選擇“在線工具”(Online tools) 任務卡。
結果:循環時間統計信息圖顯示在循環時間部分。
下圖顯示了從 STEP 7 直接讀取的循環時間統計信息。在本示例中,循環時間在 7 ms 和 12 ms 間波動。當前的循環時間為 10 ms 。此時,可設置的最長循環時間為 40 ms。
-----------------------------END----------------------------------
審核編輯 :李倩
-
模塊
+關注
關注
7文章
2695瀏覽量
47433 -
plc
+關注
關注
5010文章
13271瀏覽量
463068 -
程序
+關注
關注
117文章
3785瀏覽量
81004
原文標題:PLC1500循環的定義
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論