【Siemens TIA Portal 教學】FirstScan(首次掃描位元)設定與驗證

FirstScan (首次掃描位元)用於在 PLC 初次啟動或由 STOP 切換到 RUN 時,協調整體程式的初始化行為。本文說明如何在 TIA Portal 中啟用此功能,並以 Siemens S7-1200 PLC 為範例進行說明。

本文內容適合已具備 TIA Portal 基礎的工程師進行 PLC 工程應用。

FirstScan 是什麼?為什麼重要?

FirstScan(首次掃描位元) 是一個系統級的 Boolean 記憶體:

  • 只會在 第一個程式掃描週期為 TRUE
  • 並且 僅觸發一次

功能說明

FirstScan 可作為初始化觸發訊號(initializer flag),讓工程師在 PLC 啟動時進行有序的初始化,例如:

  • 設定 state machine 狀態機為 Idle
  • 初始化變數
  • 重設計數器
// FirstScan prototype in structured text
IF "FirstScan" THEN
    // Initialize my variables
END_IF;

作為系統級記憶體位置,我們可以預期每次 PLC 上電或從 Stop 停止狀態切換到 RUN 運行狀態時,FirstScan 都會被觸發。如果處理得當,FirstScan 將成為 PLC 啟動過程中不可或缺的一部分,從而實現一致且可預測的程式初始化。


圖 1:Siemens S7-1200 PLC

如何在 Siemens TIA Portal 啟用 FirstScan?

需完成以下兩個步驟:

步驟 1:啟用 System Memory Bits

在 TIA Portal 中:

  • 啟用「System memory bits」(如圖 2 所示)

步驟 2:編譯並下載硬體設定

  • 執行硬體設定:Compile(編譯)並 Download(下載至 PLC)(如圖 3 所示)

重要提醒

請特別注意:

  • 硬體設定(Hardware Configuration)與主程式(Ladder / ST)為不同機制
  • 兩者需要各自編譯與下載

實務經驗指出
即使主程式成功編譯,但與 FirstScan 相關的程式碼卻無法運作。令人驚訝的是,即使 System memory bits 系統記憶體位元被停用,TIA Portal 的程式碼也能編譯通過。

圖 2:TIA Portal 中 FirstScan 啟用複選框的位置


圖 3:TIA Portal 中硬體 Compile 和 Download 選項的位置

FirstScan 功能驗證範例

此範例使用一個簡單程式來驗證 FirstScan 的運作:

系統條件

  • 三個輸入(包含 selector switch 與 on-off-on momentary switch)
  • 兩個輸出(紅/綠雙色指示燈

FirstScan 函數位於程式的第一行,用於根據 selector switch 的狀態初始化面板指示燈的顏色。這提供了一個清晰可見的指示器,表明 FirstScan 邏輯正在運作。

當 PLC 斷電重啟後,面板指示燈的顏色會根據 selector switch 的位置而變化,這樣可清楚觀察 FirstScan 初始化動作是否生效。

示範程式碼

// FirstScan Initialization Demonstration
IF "FirstScan" THEN

    IF "gxSW1" THEN
        "gxPLGreen" := FALSE;
        "gxPLRed" := TRUE;
    ELSE
        "gxPLGreen" := TRUE;
         "gxPLRed" := FALSE;
    END_IF;

END_IF;

IF "gxSSLeft" THEN
    "gxPLGreen" := FALSE;
    "gxPLRed" := TRUE;
END_IF;

IF "gxSSRight" THEN
    "gxPLGreen" := TRUE;
    "gxPLRed" := FALSE;
END_IF;

技術提示:範例中採用 Hungarian notation: gx = global Boolean 記憶體

常見問題(FAQ)

Q1:FirstScan 的作用是什麼?

FirstScan 是一個啟動觸發訊號:

  • 在 PLC 上電或由 STOP → RUN 時觸發
  • 用於通知程式進行初始化

Q2:為什麼 FirstScan 沒有作用?

若主程式正常編譯,常見原因如下:

  1. 沒有啟用 System memory bits
  2. 硬體設定沒有編譯
  3. 硬體設定沒有下載至 PLC

結語

FirstScan 就像 PLC 啟動時的「第一口氣」,它代表系統準備開始初始化,並為後續的運行做好準備。

透過正確使用 FirstScan,可以讓 PLC 程式的啟動行為:

  • 更一致
  • 更可預測
  • 更容易維護
1 Like