用于循環(huán)程序處理的組織塊(OB1)
在可編程控制器上循環(huán)程序處理是程序執(zhí)行的“普通”類型。操作系統(tǒng)循環(huán)調(diào)用OB1啟動用戶程序的循環(huán)執(zhí)行。
循環(huán)程序執(zhí)行的順序
下表所示為循環(huán)程序處理的各個階段:
1.操作系統(tǒng)啟動循環(huán)監(jiān)控時間
2.CPU從輸出的過程映象表寫數(shù)值到輸出模板
3.CPU讀輸入模板的輸入狀態(tài)并刷新輸入的過程映象表
4.CPU處理用戶程序并執(zhí)行程序中所包含的指令
5.在循環(huán)結束處,操作系統(tǒng)執(zhí)行所有掛起的任務,如下載和刪除塊,接收和發(fā)送全局數(shù)據(jù)
6.最后,CPU 回到循環(huán)開始處并重新啟動循環(huán)監(jiān)控時間.
OB1_EV_CLASS BYTE 事件等級和標識符:B#16#11:OB1激活
OB1_SCAN_1 BYTE B#16#01:完成暖重啟, B#16#04:完成冷重啟,B#16#03:完成主循環(huán)
B#16#02:完成熱重啟
B#16#02:完成熱重啟
OB1_PRIORITY BYTE 優(yōu)先級1
OB1_OB_NUMBR BYTE OB編號(01)
OB1_PREV_CYCLE INT 上一次掃描的運行時間(ms)
OB1_MIN_CYCLE INT 自上次啟動后的最小周期(ms)
OB1_MAX_CYCLE INT 從上次啟動后的最大周期(ms)
OB1_DATE_TIME DATE_AND_TIME 調(diào)用OB時的DATE_AND_TIME
過程映象
所以在循環(huán)程序處理過程中,CPU的過程信號映象是一致的。CPU并不直接訪問I/O 模板上的輸入(I )和輸出(Q )地址區(qū)域,而是訪問一個CPU內(nèi)部的存儲區(qū)域,該區(qū)域中包含輸入和輸出的映象。
編程循環(huán)程序處理
你可以通過使用STEP 7在OB1 中編寫你的用戶程序以及在OB1調(diào)用的塊中編寫程序來編程循環(huán)程序處理。
啟動程序無錯執(zhí)行一結束,循環(huán)程序處理就立即開始。
中斷
循環(huán)程序處理可以被以下事件中斷:
? 一個中斷
? STOP命令(模式選擇開關,編程器上的菜單選項,SFC46 STP,SFB20 STOP )
? 電源掉電
? 出現(xiàn)故障或編程錯誤
掃描循環(huán)時間
掃描循環(huán)時間是操作系統(tǒng)運行循環(huán)程序和中斷循環(huán)的所有程序部分(例如,執(zhí)行其它組織塊)以及系統(tǒng)操作(如,刷新過程映象)所需要的時間。這個時間可以被監(jiān)控。
每個循環(huán)的循環(huán)掃描時間(TC)并不相同。下圖所示為已有的CPU和新CPU之間不同的掃描循環(huán)時間(TC1 ≠TC2 ):
循環(huán)監(jiān)視時間
使用STEP 7,可以修改缺省的最大循環(huán)監(jiān)視時間。如果這個時間溢出,CPU轉(zhuǎn)為STOP模式或調(diào)用OB80,在OB80中你可以指定CPU如何響應這個故障。
最小循環(huán)時間
使用STEP 7,可以為S7-400 CPU和CPU318 設置最小循環(huán)時間。在以下情形下這個功能是有用的:
? 當OB1(主程序掃描)執(zhí)行程序的啟動時間間隔必須一致時,或者
? 如果循環(huán)時間太短,過程映象表的刷新沒必要過于頻繁。
下圖所示為已有的CPU和新CPU中程序處理過程中的循環(huán)監(jiān)控時間的功能。
刷新過程映象
在CPU的循環(huán)程序處理過程中,過程映象區(qū)被自動刷新。
你也可以不刷新過程映象,如果你要:
? 直接訪問I/O 或者
? 用系統(tǒng)功能SFC26 UPDAT_PI 和SFC27 UPDAT_PO在程序的不同點刷新一個或多個過程映象的輸入或輸出部分。
通訊負載
你可以使用CPU參數(shù)“Scan Cycle Load from Communication(掃描通訊循環(huán)負載)”,在給定框架內(nèi)控制通訊過程的持續(xù)時間,因為一般通訊過程會增加掃描循環(huán)時間。例如通訊過程包括以MPI方式將數(shù)據(jù)傳送至其它CPU,或使用編程設備加載的通訊功能塊。
該參數(shù)很少影響編程器測試功能。當然,你可以顯著增加掃描時間。在處理模式中,你可以限制測試功能的時間(只適用于S7-300)。
參數(shù)的工作原理
CPU操作系統(tǒng)可持續(xù)提供用戶組態(tài)的整個CPU處理能力的百分比(時間片技術)用于所組態(tài)的通訊。但如果不需要處理通訊時,可用于其它處理。
設置掃描循環(huán)時間
無需其它異步事件,OB1掃描循環(huán)時間可以根據(jù)以下公式乘以一個系數(shù)進行擴展:
---------------------------END-------------------------------
審核編輯 :李倩
-
plc
+關注
關注
5008文章
13166瀏覽量
462120 -
循環(huán)程序
+關注
關注
0文章
6瀏覽量
7216
原文標題:西門子PLC--用于循環(huán)程序處理的組織塊(OB1)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論