前言
在上一篇文章《S7-300/400進階筆記1:PLC程序的循環處理方式及其相關內容簡介》中,我們介紹了PLC的程序執行方式——循環週期掃描。文中提到了過程映像區,本文將對過程映像區做進一步的介紹。
一、過程映像區
過程映像區從輸入、輸出的角度,分為以下兩類:
- 輸入過程映像區PII
- 輸出過程映像區PIQ
一般來說,CPU不會直接讀、寫輸入模塊和輸出模塊(外設尋址除外),而是從PII中讀數據,然後經過程序處理後,將運行結果寫入PIQ即可。然後,輸入/輸出模塊僅和PII、PIQ進行數據交換即可。
以圖1為例,程序中I0.0、I0.1、I0.2實際上訪問的是輸入過程映像區PII;Q0.0實際訪問的是輸出過程映像區PIQ。
過程映像區又可分為兩類:OB1過程映像OB1-PI和過程映像分區PIP。
1、OB1過程映像OB1-PI
S7系列的CPU都可使用OB1過程映像區OB1-PI。尤其是300系列CPU,只有OB1-PI。 OB1-PI的過程映像在每個OB1的循環掃描週期的開始階段,將輸出映像區的值寫入輸出模塊,並將輸入模塊的值讀入輸入映像區。這一過程是CPU的操作系統自動完成的。
2、過程映像分區PIP
S7-300系列PLC只有OB1-PI一個過程映像,與之相對的S7-400系列PLC,處理OB1-PI外,還可為其輸入/輸出地址分配最多15個過程映像PIP。如圖2所示,CPU 416-2DP總共可有8個過程映像PIP:PIP1-PIP8。
二、過程映像的分配
在300PLC中,只有OB1-PI一個過程映像區,無所謂分配。但400PLC中,即有OB1-PI,又有PIP,實際應用中,就要根據需要進行分配了。
過程映像分配的基本原則:
同一個輸入/輸出地址不能既分配給OB1-PI,又同時分配給PIP,只能分配到一個過程映像中。
如圖3為分配過程映像的步驟。
三、過程映像區的更新
1、300PLC過程映像區的更新
300PLC只有OB1-PI,其過程映像區在循環掃描開始後,先將PIQ的數據寫入輸出模塊,再將輸入模塊的數據讀入PII即可。
2、400PLC過程映像區的更新
過程映像分區的更新有以下兩種方式:
- 將PIP分配給OB塊
如圖2所示,可以給中斷組織塊分配一個PIP,如給硬件中斷OB41分配PIP1。當中斷髮生,OB41被調用時,其關聯的過程映像分區(PIP1)從與之相關的輸入模塊讀入輸入值;當該OB塊執行完畢時,PIP1將值寫入與之相關的輸出模塊。
- 用戶程序中調用SFC26、SFC27進行更新
400的CPU中固化了兩個系統功能SFC26,和SFC27,分別用於刷新過程映像輸入和過程映像輸出。在程序中調用它們,也可以實現過程映像區的更新。使用SFC26、SFC27進行更新時,可對過程映像分區進行一致性數據讀寫,數據長度取決於CPU的類型。
- 另外,在s7-400系列PLC中,可以禁用OB1過程映像的循環更新,如圖4所示。此時,必須在用戶程序中使用SFC26、SFC27對過程映像進行更新。
閱讀更多 塞北名駝 的文章