PLC系統存儲器的存儲區(qū)有哪些
發(fā)布于2022-11-09 10:55
54
2
標簽:PLC
1.過程映像輸入/輸出(I/Q)
在執(zhí)行用戶程序時,CPU并不直接訪問I/O模塊中的輸入地址區(qū)和輸出地址區(qū),而是訪問CPU內部的過程映像區(qū)(I/Q區(qū),見表3-3)。在每次掃描循環(huán)開始時,CPU讀取輸入模塊的外部輸入電路的狀態(tài),并將它們存入過程映像輸入表(Process Image Input,PII)。在掃描循環(huán)中,用戶程序計算輸出值,并將它們存入過程映像輸出表(Process Image Output,PIQ)。在下一掃描循環(huán)開始時,將過程映像輸出表的內容寫入輸出模塊。
對存儲器的“讀寫”、“訪問”、“存取”這3個詞的意思基本上相同。
I區(qū)和Q區(qū)均可以按位、字節(jié)、字和雙字來訪問,例如I0.0、IBO、IW0和ID0。與直接訪問輸入模塊相比,訪問過程映像輸入表可以保證在整個掃描循環(huán)周期內,過程映像輸入的狀態(tài)始終一致。即使在本次循環(huán)的程序執(zhí)行過程中,接在輸入模塊的外部電路的狀態(tài)發(fā)生了變化,過程映像輸入表各信號的狀態(tài)仍然保持不變,直到下一個循環(huán)被刷新。由于過程映像表保存在CPU的系統存儲器中,訪問速度比直接訪問信號模塊快得多。

過程映像輸入在用戶程序中的標識符為I,它是PLC接收外部輸入信號的窗口。數字量輸入端可以外接常開觸點或常閉觸點,也可以接多個觸點組成的串并聯電路。PLC將外部電路的通/斷狀態(tài)讀入并存儲在過程映像輸入位中,外部輸入電路接通時,對應的過程映像輸入位為1狀態(tài)(ON)反之為0狀態(tài)(OFF)。在梯形圖中,可以多次使用過程映像輸入位的常開觸點和常閉觸點。
過程映像輸出位在用戶程序中的標識符為Q,掃描循環(huán)周期開始時,CPU將過程映像輸出位的數據傳送給數字量輸出模塊,再由后者驅動外部負載。如果梯形圖中Q0.0的線圈“通電”,繼電器型輸出模塊對應的硬件繼電器的常開觸點閉合,使接在Q0.0對應的輸出端子的外部負載通電工作。輸出模塊的每一個硬件繼電器僅有一對常開觸點,但是在梯形圖中,每一個輸出位的常開觸點和常閉觸點都可以多次使用。某些CPU的過程映像區(qū)的大小可以在組態(tài)時設置。
87~300/400的過程映像分區(qū)與中斷功能配合,可以顯著地減少PLC的輸入、輸出響應時間。過程映像區(qū)分為OB1(主程序)過程映像(OB1-PI)和過程映像分區(qū)(PIP)。每次掃描循環(huán)刷新一次OB1過程映像。S7-400 CPU最多可以使用15個過程映像分區(qū)。
下面舉例說明過程映像分區(qū)的使用方法。在硬件組態(tài)時,將某些U/O模塊分配給過程映像分區(qū)PIP2,再將PIP2分配給時間中斷組織塊OB10,這樣這些I/O模塊就被分配給OB10。用STEP7指定的過程映像分區(qū)中的UO地址不再屬于OB1過程映像輸入/輸出表。在調用OB10時,CPU自動讀入被組態(tài)為屬于過程映像分區(qū)PIP2的輸入模塊的輸入值,OB10被執(zhí)行完后,輸出值被立即寫至被組態(tài)為屬于PIP2的輸出模塊。
用戶程序可以調用SFC26“UPDAT_PI”來刷新整個或部分過程映像輸入表,調用SFC 27“UPDAT_PO”來刷新整個或部分過程映像輸出表。
2.外設I/O區(qū)(PI/PQ)
外設輸入(PI)和外設輸出(PQ)區(qū)允許直接訪問本地的和分布式的輸入模塊和輸出模塊。PI/PQ區(qū)與I/Q區(qū)的關系如下
1)訪問PU/PQ區(qū)時,直接讀寫輸入/輸出模塊,而I/Q區(qū)是輸入/輸出信號在CPU的存儲區(qū)中的“映像”。使用外設地址可以實現用戶程序與I/O模塊之間的快速數據傳送,因此被稱為“立即讀”和“立即寫”。P/Q區(qū)采用批量讀/寫的方式,因此可能有較大的滯后。
2)I/Q區(qū)可以按位、字節(jié)、字和雙字訪問,PI/PQ區(qū)不能按位訪問。
3)I/Q區(qū)的地址范圍比PI/PQ區(qū)的小,如果地址超出了I/Q區(qū)允許的范圍,必須使用PI/PQ區(qū)來訪問。
4)I/Q區(qū)與PI/PQ區(qū)的地址均從0號字節(jié)開始,因此I/Q區(qū)的地址編號也可以用于PU PQ區(qū)。例如用MOVE指令將QB1傳送到PQB1,可以實現“立即寫”操作。
5)只能讀取外設輸入的值,不能改寫它。只能改寫外設輸出,不能讀取它。下面兩條指令違背了上述規(guī)定,因此是錯誤的
L PQB 0
T PIB 0
6)訪問I/Q區(qū)的指令比訪問PI/PQ區(qū)的指令的執(zhí)行時間短得多。例如CPU 317-2 DP 的指令“LIBO”和“LPIBO”的執(zhí)行時間分別為0.05μs和15μs。
3.內部存儲器標志位(M)存儲器區(qū)
內部存儲器標志位用來保存控制邏輯的中間操作狀態(tài)或其他控制信息。不同型號的S7-300的存儲器標志位從128B到8KB。
4.定時器(T)存儲器區(qū)
定時器相當于繼電器系統的時間繼電器。給定時器分配的字用于存儲時間基準和剩余時間值(0~999)。剩余時間值可以用二進制或BCD碼方式讀取。
5.計數器(C)存儲器區(qū)
計數器用來累計其計數脈沖的個數,給計數器分配的字用于存儲計數當前值(0~999)。計數值可以用二進制或BCD碼方式讀取。
6.數據塊(DB)與背景數據塊(DI)
DB為數據塊,DBX、DBB、DBW和DBD分別是數據塊中的數據位、數據字節(jié)、數據字和數據雙字。DI為背景數據塊,DIX、DIB、DIW和DID分別是背景數據塊中的數據位、數據字節(jié)、數據字和數據雙字。
7.局部數據區(qū)(L)
各邏輯塊都有它的局部(Local)數據區(qū),局部變量在邏輯塊的變量聲明表中生成,只能在它被創(chuàng)建的塊中使用。每個組織塊用20B的臨時局部數據來存儲它的啟動信息。局部數據用于傳送塊參數和保存來自梯形圖程序的中間邏輯運算結果。
CPU按組織塊的優(yōu)先級劃分局部數據區(qū),S7-300同一優(yōu)先級的組織塊及其有關的塊共用256B的臨時局部數據區(qū)。S7-400每個優(yōu)先級的局部數據區(qū)要大得多,可達數十KB,可
以用STEP7改變其大小。
全局變量包括I、Q、M、T、C、PI、PQ和共享數據塊DB,可以在所有的邏輯塊(OB、FC、FB、SFC和SFB)中使用全局變量。