首先得清楚S7系列plc程序執(zhí)行的過程,如下圖所示。
- PLC得電或由STOP模式切換到RUN模式時,CPU起動,同時清除沒有保持功能的位存儲器、定時器、計數(shù)器,清除中斷堆棧和塊堆棧的內容,復位保存的硬件中斷等。
- 執(zhí)行“系統(tǒng)起動組織塊”O(jiān)B100,該組織塊可以自定義編程,實現(xiàn)一些初始化的工作;
- 系統(tǒng)進入周期掃描,并起動循環(huán)時間監(jiān)控;
- CPU將輸出過程映像區(qū)的數(shù)據(jù)寫入輸出模塊;
- 讀取輸入模塊的狀態(tài),并寫入輸入過程映像區(qū);
- CPU調用OB1,執(zhí)行用戶程序,期間,根據(jù)需要可調用其他邏輯塊(FB、SFB、FC及SFC),來實現(xiàn)控制任務;
- 在循環(huán)結束時,操作系統(tǒng)執(zhí)行所有掛起的任務,例如下載和刪除塊、接收和發(fā)送全局數(shù)據(jù)等;
- CPU重新啟動循環(huán)時間監(jiān)控,開始新的循環(huán);
- 9、在執(zhí)行用戶程序的過程中,如果有中斷事件發(fā)生,當前執(zhí)行的塊將暫停執(zhí)行,轉而執(zhí)行相應的組織塊,來響應中斷。該組織塊執(zhí)行完成后,之前被暫停的塊將從中斷的地方繼續(xù)開始執(zhí)行。OB1具有很低的優(yōu)先級,除了OB90外,所有的組織塊都能中斷OB1。