歡迎光臨
每天分享高質量文章

西門子S7-1200——資料儲存、儲存區、I/O 和定址


點選 《福利來了!PLC的資料(免費),你要嗎?

點選第二波福利來了!PLC的資料(免費),你要嗎?

訪問 S7-1200 的資料

STEP 7 簡化了符號程式設計。 使用者為資料地址建立符號名稱或“變數”,作為與儲存器地址和I/O 點相關的 PLC 變數或在程式碼塊中使用的區域性變數。
要在使用者程式中使用這些變數,只需輸入指令引數的變數名稱。
為了更好地理解 CPU 的儲存區結構及其定址方式,以下段落將對 PLC變數所取用的“絕對”定址進行說明。 CPU提供了以下幾個選項,用於在執行使用者程式期間儲存資料:

  • 全域性儲存器: CPU 提供了各種專用儲存區,其中包括輸入 (I)、輸出 (Q) 和位儲存器(M)。 所有程式碼塊可以無限制地訪問該儲存器。

  • PLC 變數表: 在 STEP 7 PLC 變數表中,可以輸入特定儲存單元的符號名稱。這些變數在 STEP 7程式中為全域性變數,並允許使用者使用應用程式中有具體含義的名稱進行命名。

  • 資料塊 (DB): 可在使用者程式中加入 DB 以儲存程式碼塊的資料。從相關程式碼塊開始執行一直到結束,儲存的資料始終存在。 “全域性”DB儲存所有程式碼塊均可使用的資料,而背景 DB 儲存特定 FB 的資料並且由 FB的引數進行構造。

  • 臨時儲存器: 只要呼叫程式碼塊,CPU的作業系統就會分配要在執行塊期間使用的臨時或本地儲存器 (L)。程式碼塊執行完成後,CPU 將重新分配本地儲存器,以用於執行其它程式碼塊。

每個儲存單元都有唯一的地址。 使用者程式利用這些地址訪問儲存單元中的資訊。 對輸入(I) 或輸出 (Q) 儲存區(例如 I0.3 或 Q1.7)的取用會訪問過程映像。要立即訪問物理輸入或輸出,請在取用後面新增“:P”(例如,I0.3:P、Q1.7:P 或”Stop:P”)。

每個儲存單元都有唯一的地址。 使用者程式利用這些地址訪問儲存單元中的資訊。
絕對地址由以下元素組成:

  • 儲存區識別符號(如 I、Q 或 M)

  • 要訪問的資料的大小(“B”表示 Byte、“W”表示 Word 或“D”表示 DWord)

  • 資料的起始地址(如位元組 3 或字 3)

訪問布林值地址中的位時,不要輸入大小的助記符號。僅需輸入資料的儲存區、位元組位置和位位置(如 0.0、Q0.1 或 M3.4)。

訪問 CPU 儲存區中的資料

STEP 7 簡化了符號程式設計。 通常,既可在 PLC 變數(資料塊)中建立變數,也可在OB、FC 或 FB 頂部的介面中建立變數。
這些變數包括名稱、資料型別、偏移量和註釋。 另外,可以在資料塊中指定起始值。
在程式設計時,透過在指令引數中輸入變數名稱,可以使用這些變數。也可以選擇在指令引數中輸入絕對運算元(儲存區、大小和偏移量)。
以下各部分的實體介紹瞭如何輸入絕對運算元。
程式編輯器會自動在絕對運算元前面插入 % 字元。
可以在程式編輯器中將檢視切換到以下幾種檢視之一: 符號、符號和絕對,或絕對。
I(過程映像輸入): CPU 僅在每個掃描週期的迴圈 OB執行之前對外圍(物理)輸入點進行取樣,並將這些值寫入到輸入過程映像。
可以按位、位元組、字或雙字訪問輸入過程映像。允許對過程映像輸入進行讀寫訪問,但過程映像輸入通常為只讀。

透過在地址後面新增“:P”,可以立即讀取 CPU、SB、SM或分散式模組的數字量和模擬量輸入。 使用 I_:P 訪問與使用 I訪問的區別是,前者直接從被訪問點而非輸入過程映像獲得資料。 這種 I_:P訪問稱為“立即讀”訪問,因為資料是直接從源而非副本獲取的,這裡的副本是指在上次更新輸入過程映像時建立的副本。
因為物理輸入點直接從與其連線的現場裝置接收值,所以不允許對這些點進行寫訪問。即,與可讀或可寫的 I 訪問不同的是,I_:P 訪問為只讀訪問。
I_:P 訪問也僅限於單個 CPU、SB 或 SM所支援的輸入大小(向上取整到最接近的位元組)。 例如,如果 2 DI/2 DQ SB的輸入被組態為從 I4.0 開始,則可按I4.0:P 和 I4.1:P 形式或者按 IB4:P形式訪問輸入點。不會拒絕 I4.2:P 到 I4.7:P的訪問形式,但沒有任何意義,因為這些點未使用。 但不允許 IW4:P 和 ID4:P的訪問形式,因為它們超出了與該 SB 相關的位元組偏移量。使用 I_:P 訪問不會影響儲存在輸入過程映像中的相應值。

Q(過程映像輸出): CPU 將儲存在輸出過程映像中的值複製到物理輸出點。可以按位、位元組、字或雙字訪問輸出過程映像。 過程映像輸出允許讀訪問和寫訪問。

透過在地址後面新增“:P”,可以立即寫入 CPU、SB、SM或分散式模組的物理數字量和模擬量輸出。 使用 Q_:P 訪問與使用 Q訪問的區別是,前者除了將資料寫入輸出過程映像外還直接將資料寫入被訪問點(寫入兩個位置)。 這種 Q_:P訪問有時稱為“立即寫”訪問,因為資料是被直接傳送到標的點;而標的點不必等待輸出過程映像的下一次更新。
因為物理輸出點直接控制與其連線的現場裝置,所以不允許對這些點進行讀訪問。即,與可讀或可寫的 Q 訪問不同的是,Q_:P 訪問為只寫訪問。

Q_:P 訪問也僅限於單個 CPU、SB 或 SM所支援的輸出大小(向上取整到最接近的位元組)。 例如,如果 2 DI/2 DQ SB的輸出被組態為從 Q4.0 開始,則可按 Q4.0:P 和 Q4.1:P 形式或者按 QB4:P形式訪問輸出點。不會拒絕 Q4.2:P 到 Q4.7:P的訪問形式,但沒有任何意義,因為這些點未使用。 但不允許 QW4:P 和 QD4:P的訪問形式,因為它們超出了與該 SB 相關的位元組偏移量。
使用 Q_:P 訪問既影響物理輸出,也影響儲存在輸出過程映像中的相應值。

M(位儲存區): 針對控制繼電器及資料的位儲存區(M儲存器)用於儲存操作的中間狀態或其它控制資訊。可以按位、位元組、字或雙字訪問位儲存區。 M儲存器允許讀訪問和寫訪問。

臨時(臨時儲存器): CPU 根據需要分配臨時儲存器。 啟動程式碼塊(對於OB)或呼叫程式碼塊(對於 FC 或 FB)時,CPU將為程式碼塊分配臨時儲存器並將儲存單元初始化為 0。臨時儲存器與 M 儲存器類似,但有一個主要的區別: M儲存器在“全域性”範圍內有效,而臨時儲存器在“區域性”範圍內有效:
● M 儲存器: 任何 OB、FC 或 FB 都可以訪問 M儲存器中的資料,也就是說這些資料可以全域性性地用於使用者程式中的所有元素。
● 臨時儲存器: CPU 限定只有建立或宣告了臨時儲存單元的 OB、FC 或 FB才可以訪問臨時儲存器中的資料。臨時儲存單元是區域性有效的,並且其它程式碼塊不會共享臨時儲存器,即使在程式碼塊呼叫其它程式碼塊時也是如此。 例如: 當OB 呼叫 FC 時,FC 無法訪問對其進行呼叫的OB 的臨時儲存器。

CPU 為每個 OB 優先順序都提供了臨時(本地)儲存器:
● 16 KB 用於啟動和程式迴圈(包括相關的 FB 和 FC)
● 6 KB 用於每次額外的中斷事件執行緒,包括相關的 FB 和 FC只能透過符號定址的方式訪問臨時儲存器。

DB(資料塊): DB 儲存器用於儲存各種型別的資料,其中包括操作的中間狀態或 FB的其它控制資訊引數,以及許多指令(如定時器和計數器)所需的資料結構。可以按位、位元組、字或雙字訪問資料塊儲存器。 讀/寫資料塊允許讀訪問和寫訪問。只讀資料塊只允許讀訪問。

對 CPU 和 I/O 模組中的 I/O 進行組態

向裝置組態新增 CPU 和 I/O 模組時,STEP 7會自動分配 I 地址和 Q 地址。透過在裝置組態中選擇位址列位並輸入新編號,可以更改預設定址設定。
• 無論模組是否使用所有點,STEP 7 都按每組8 點(1位元組)的方式分配數字量輸入和輸出。
• STEP 7 按照每組 2點的方式分配模擬量輸入和輸出,其中每個模擬點佔用 2 個位元組(16 位)。

圖中顯示的示例是配有兩個 SM 及一個 SB 的 CPU 1214C。 在此示例中,可以將 DI8模組的地址改為 2 來替代8。工具可以協助您更改大小錯誤或與其它地址相衝突的地址範圍。

尋找同路人

做自動化工業變革的踐行者


可透過選單查詢自己喜歡的文章彙總:

現場儀錶DCS部分PLC部分SIS部分通訊標準數字化問題解答】此處列出部分連結,更多文章透過選單獲取。



贊(0)

分享創造快樂