S7-300/400進階筆記2:過程映像區的分類及其更新機制

前言

在上一篇文章《S7-300/400進階筆記1:PLC程序的循環處理方式及其相關內容簡介》中,我們介紹了PLC的程序執行方式——循環週期掃描。文中提到了過程映像區,本文將對過程映像區做進一步的介紹。


一、過程映像區

過程映像區從輸入、輸出的角度,分為以下兩類:

  • 輸入過程映像區PII
  • 輸出過程映像區PIQ

一般來說,CPU不會直接讀、寫輸入模塊和輸出模塊(外設尋址除外),而是從PII中讀數據,然後經過程序處理後,將運行結果寫入PIQ即可。然後,輸入/輸出模塊僅和PII、PIQ進行數據交換即可。

以圖1為例,程序中I0.0、I0.1、I0.2實際上訪問的是輸入過程映像區PII;Q0.0實際訪問的是輸出過程映像區PIQ。

S7-300/400進階筆記2:過程映像區的分類及其更新機制

圖1 電機啟停控制

過程映像區又可分為兩類: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。

S7-300/400進階筆記2:過程映像區的分類及其更新機制

圖2 CPU416-2DP,8個PIP


二、過程映像的分配

在300PLC中,只有OB1-PI一個過程映像區,無所謂分配。但400PLC中,即有OB1-PI,又有PIP,實際應用中,就要根據需要進行分配了。

過程映像分配的基本原則:

同一個輸入/輸出地址不能既分配給OB1-PI,又同時分配給PIP,只能分配到一個過程映像中。

如圖3為分配過程映像的步驟。

S7-300/400進階筆記2:過程映像區的分類及其更新機制

圖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對過程映像進行更新。
S7-300/400進階筆記2:過程映像區的分類及其更新機制

圖4 禁用OB1-PI的循環更新


分享到:


相關文章: