跳至主要内容

🏭 PLC 記憶體基礎與位址點

PLC 不僅能執行程式,還需要儲存各種資訊,例如輸入訊號狀態、輸出訊號狀態、計時器/計數器值,以及程式中使用的變數等等。這些資訊都儲存在 PLC 的記憶體中。理解 PLC 的記憶體組織和位址點(Addressing)是編寫有效程式的關鍵。

記憶體的基本單位

在 PLC 中,資料通常以以下基本單位進行組織:

  1. 位元 (Bit)

    • 最小的記憶體單位,只能儲存 01 兩種狀態,代表「開」或「關」、「真」或「假」。
    • 常態用於表示單一開關、感測器狀態或輸出裝置的啟閉。
  2. 位元組 (Byte)

    • 8 個位元組成。
    • 可以儲存 0255 的數值(無符號)。
    • 常用於儲存字元(ASCII 碼)或較小的數值。
  3. 字元組 (Word)

    • 16 個位元組成(即 2 個位元組)。
    • 可以儲存 065535 的數值(無符號)或 -3276832767(有符號)。
    • 常態用於儲存計時器/計數器值、較大數值或較複雜的指令參數。
  4. 雙字元組 (Double Word / DWord)

    • 32 個位元組成(即 4 個位元組)。
    • 提供更大的儲存範圍,常用於儲存浮點數、長整數或大型資料。

常見的記憶體區域與位址點

不同品牌的 PLC(如 Siemens, Allen-Bradley, Mitsubishi, Omron)會有不同的記憶體區域命名和位址點表示方式,但其核心概念是相通的。以下是一些常見的記憶體區域:

  1. 輸入影像區 (Input Image Table / I 區)

    • 儲存來自外部輸入裝置(如按鈕、感測器)的即時狀態。
    • 在每個掃描週期開始時,PLC 會將所有實體輸入的狀態讀取到這個區域。
    • 程式在執行過程中,會讀取這個區域的資料,而不是直接讀取實體輸入。
    • 範例位址I0.0, I0.1 (表示第一個輸入模組的第0個位元,第1個位元)
  2. 輸出影像區 (Output Image Table / Q 區)

    • 儲存程式執行後,要傳送給外部輸出裝置(如馬達、電磁閥)的狀態。
    • 程式在執行過程中,會寫入這個區域的資料。
    • 在每個掃描週期結束時,PLC 會將這個區域的資料傳送到實體輸出裝置。
    • 範例位址Q0.0, Q0.1
  3. 記憶位元區 (Memory Bits / M 區)

    • 內部記憶體區域,不直接連接到實體 I/O。
    • 用於儲存程式中的中間結果、旗標(Flags)、狀態位元等,類似於程式語言中的內部變數。
    • 範例位址M0.0, M0.1
  4. 計時器區 (Timers / T 區)

    • 用於在程式中實現時間延遲功能。
    • 每個計時器通常有自己的位元(啟用、完成)和計數值。
    • 範例位址T0, T1
  5. 計數器區 (Counters / C 區)

    • 用於在程式中實現計數功能。
    • 每個計數器通常有自己的位元(啟用、完成)和計數值。
    • 範例位址C0, C1
  6. 資料暫存器區 (Data Registers / D 區 或 VW/MW)

    • 用於儲存數值資料,可以是字元組或雙字元組。
    • 常用於儲存類比輸入/輸出值、配方參數、計算結果等。
    • 範例位址DB1.DBW0 (Siemens), N7:0 (Allen-Bradley)

位址點的表示方式

PLC 的位址點通常會明確指出記憶體區域、模組號碼和位元號碼。例如 I0.0 表示「輸入區的第0個模組的第0個位元」。這種精確的位址點表示,是 PLC 程式設計的核心。

理解這些記憶體基礎知識,是有效編寫、除錯和維護 PLC 程式的第一步。在後續的文章中,我們將探討如何利用這些記憶體來實現控制邏輯。