<sup id="x7dny"><rp id="x7dny"><big id="x7dny"></big></rp></sup>
    • <label id="x7dny"><tt id="x7dny"><tfoot id="x7dny"></tfoot></tt></label>
      <dfn id="x7dny"></dfn>
      <small id="x7dny"><rp id="x7dny"><rt id="x7dny"></rt></rp></small>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      一文讀懂PLC過程映像區和外設地址
      發布時間: 2024-06-04 10:35 更新時間: 2024-12-02 08:00

      01

         過程映像區

      1.1 什么是過程映像區

      當我們在用戶程序中對輸入 (I) 和輸出 (Q) 地址區進行尋址時,CPU并不直接訪問信號模塊, 而是訪問 CPU 系統存儲器中的存儲區。 該存儲區就是過程映像區。該區域分為兩部分: 輸入過程映像區(PII)和輸出過程映像區(PIQ)。有兩種方式可以更新過程映像區:OB1更新過程映像區和PIP更新過程映像區。

      1.2 使用過程映像區有什么好處

      與直接訪問輸入/輸出模塊相比,訪問過程映像區的優勢在于在循環程序處理期間,可為CPU 提供一致的過程映像區數據,即在程序執行過程中,訪問的過程映像區信號始終一致。 如果在程序執行期間輸入模塊的信號狀態發生變化,過程映像區中的信號狀態將保持不變,直到過程映像區在下一個周期中被更新。只有在過程映像區刷新時刻,I區和Q 區的內容才與輸入/輸出的實際值相同,所以它們并不能直接反映輸入/輸出的實際狀態。

      此外,由于過程映像存儲在CPU的系統存儲器中,訪問過程映像區的速度明顯快于直接訪問信號模塊。為了節省時間,通常程序中使用過程映像區的數據。

      1.3 過程映像區的設置

      對于S7-300/400的CPU而言,可以設置過程映像區的大小,具體設置方法如圖1和圖2所示,設置范圍可以查看CPU的技術規范手冊或者在組態界面查看。

      對于S7-1200/1500CPU而言過程映像區不可更改。S7-1200 CPU輸入過程映像區大小為1kbyte,輸出過程映像區的大小為1kbyte。

      S7-1500CPU輸入過程映像區大小為32kbyte,輸出過程映像區的大小為32kbyte。

      圖片

      圖1 經典STEP7軟件中設置CPU過程映像區

      圖片

      圖2 博途STEP7軟件中設置CPU過程映像區

      對于S7-300/400的CPU來說,能否更改過程映像區的大小與CPU固件相關。


      1.4 OB1更新過程映像區有什么特點

      在地址的分配過程中,如果模塊的地址位于過程映像區之內,則可以選擇自動更新過程映像,自動更新即為按照CPU OB1的周期更新過程映像區,如圖3所示。如果地址不在過程映像區,則該區域顯示“無”。

      圖片

      圖3 自動更新過程映像

      對于S7-300/400的CPU而言,該區域默認顯示設置為“OB1過程映像”。I/O模塊會在此過程映像區中分配相應的地址,操作系統在其每個程序循環內自動更新此地址。PLC的循環程序處理過程如圖4和表格1所示。

      圖片

      圖4 PLC程序循環處理過程


      圖片

      表格1 PLC循環程序處理過程


      1.5 PIP更新過程映像有什么特點

      除 OB1 更新過程映像區之外,某些類型的 CPU 中還可以將輸入/輸出地址分配至過程映像分區 (PIP)中進行更新,比如一些I/O地址區域僅在相應的OB塊,如循環中斷OB被執行時才會被刷新,這種有條件的刷新方式也可以減輕CPU的負荷。

      注意:只有具有輸入或輸出模塊才能選擇此選項,同時不能將同一輸入/輸出地址既分配至 OB1 過程映像區更新,又分配至過程映像分區 (PIP)做更新,只能二選一。

      過程映像分區的更新有以下兩種方式:

      · 將 PIP 分配至 OB塊更新

      · 通過在用戶程序中通過調用 SFC 26 (UPDAT_PI) 和 SFC 27 (UPDAT_PO)系統功能塊做更新

      在IO地址區中,可以將過程映像分區連接到一個OB,啟動OB后,系統將自動更新所分配的輸入過程映像分區,在OB結束時,系統將分配的過程映像分區輸出寫入到I/O輸出中。圖5為通過過程映像分區6和循環中斷做更新的示例,此外CPU還必須支持過程映像分區,可用的過程映像分區數量取決于CPU類型。

      · S7-300 CPU支持的過程映像分區的Zui大數量為1;

      · S7-400 CPU支持的過程映像分區的Zui大數量為15;

      · S7-1200 CPU支持的過程映像分區的Zui大數量為4;

      · S7-1500 CPU支持的過程映像分區的Zui大數量為31。

      圖片

      圖5 通過過程映像分區6和循環中斷做更新

      如果過程映像分區未分配給OB,則操作系統不會更新此PIP,此時可通過特殊指令更新過程映像分區

      · 過程映像分區輸入可使用SFC 26 (UPDAT_PI)指令

      · 過程映像分區輸出則使用SFC 27 (UPDAT_PO)指令

      需要注意的是:S7-1200CPU 不支持SFC 26 (UPDAT_PI)、SFC 27 (UPDAT_PO)指令。S7-300 CPU不支持PIP分配至OB塊更新。


      02

         外設地址

      2.1什么是外設地址

      對于無法更改過程映像區的CPU來說,一旦所要使用的模板I/O地址超出了過程映像區范圍,就必須使用外設尋址。

      外設尋址就是指不經過過程映像區直接去訪問I/O模板,使用時通過在地址前加上字母‘P’來表示。

      2.2 外設地址如何標識

      通過外設尋址同樣可以訪問已被分配過程映像區的 I/O 地址。

      · PIB --> Peripheral Input Byte 外設輸入字節 

      · PQB --> Peripheral output Byte 外設輸出字節 

      · PIW --> Peripheral Input Word 外設輸入字 

      · PQW --> Peripheral output Word 外設輸出字 

      · PID --> Peripheral Input Double-word 外設輸入雙字 

      · PQD --> Peripheral Output Double-word 外設輸出雙字 

      外設地址的Zui小地址為字節,即PIB、PQB。 

      以模擬量輸入為例理解IW與PIW: 

      ·  PIW:直接讀取外設地址,即直接采集模板信號。 外設地址是實時更新數據,可能同一個掃描周期內有不同的實時數值。在某些需要對輸入/輸出進行較為實時處理的場合,需要選擇使用直接外設尋址。

      · IW:每個掃描周期將模板數據讀取至過程映像區,程序訪問過程映象區數值。

      2.3什么情況下必須使用外設地址

      下列情況需要使用外設地址:

      · 模板地址超出過程映像區范圍

      · 用戶程序需要直接從輸入模板讀取實時值 

      · 輸出值需要直接輸出至模板 (至少一個字節)

      03

         常見問題

      3.1如何訪問外設地址的Bool地址?

      由于外設地址的Zui小地址為字節,因此無法直接讀取Bool地址。以輸入為例,需要先用PIB/PIW/PID將數值MOVE到其他的存儲區(如M,DB區),再訪問M或DB的Bool地址。 輸出也是一樣,需要對M或者DB的Bool地址寫入,然后將M或者DB的字節/字/雙字MOVE到PQB/PQW/PQD。

      3.2PQW能否使用狀態圖表監控?

      PQW為只寫操作,無法監看。通常設置一個中間地址,寫入數值先賦值給M區或DB區地址,再由M區或DB區地址,MOVE給PQW,監看這個中間地址即可。 
      同理,PIW為只讀操作,無法寫入。 

      3.3DP或PN通訊正常為何從站數據

      為零?

      S7-300掛分布式IO,通訊指示燈正常,但是讀不到/寫不進從站數據;讀取的數值一直為0,寫入的數值能看到,但從站無變化?

      訪問外設地址或者更改CPU的過程映像區,將輸入或者輸出地址放在過程映像區之內。

      3.4 模塊地址能否跨過程映像區?

      使用S7-300系列的控制器CPU313C-2DP(6ES7 313-6BG04-0AB0)實現控制要求,組態一個32點的DI模塊,自定義地址,“Start”設置為126,此時會提示地址無效,推薦的New Address為128,這是為什么?

      這是因為當前CPU的輸入/輸出IO映像區范圍默認是128個字節,32點的DI模塊需要占用4個字節,本體的DI輸入地址是124-125,如果保持地址連續的話,DI模塊的地址應為126-129,此時已經超過默認的過程映像區128。對于一個數字量模塊而言,其輸出地址不能“跨越”過程映像,即一部分地址位于過程映像區內而一部分地址在過程映像區外。如果要保持數字量輸出地址連續,可將過程映像區范圍改大。也可以選擇建議的起始地址128。

      3.5 CP343-1或者CP342-5的IO

      過程映像區有什么關系?

      CP343-1或者CP342-5的IO地址需要在CPU的過程映像區之外,不能在CPU過程映像區之內,否則編譯會報錯。


      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684