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