2026年8月26日 星期三

EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX7

EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX7



繪製人機介面元件

1. 數值輸入框(設定預設計時器時間)

  • 數值元件 (Numeric Input)

    • 設定 %MW2(TM0 時間):讀取/寫入位址設為 4x 2,格式設為 16-bit Unsigned。

    • 設定 %MW4(TM1 時間):位址設為 4x 4

    • 設定 %MW6(TM2 時間):位址設為 4x 6

    • 設定 %MW0(系統數值):位址設為 4x 0

2. 啟動按鈕 (PB_START)

  • 位元按鈕元件 (Bit Button)

    • 讀取/寫入位址設為 0x 0(對應 PLC 的 %M0)。

    • 屬性改為 Momentary(復歸型/觸發型)。

3. 狀態顯示燈 (Y0 ~ Y5)

  • 位元指示燈元件 (Bit Lamp)

    • Y0 指示燈:位址設為對應 %Q0.0 或中間暫存器 %M10

    • Y1 ~ Y5 指示燈依此類推。

4. 步進狀態顯示 (顯示當前 Step 數字)

  • 數值顯示元件 (Numeric Display)

    • 位址設為 4x 10(對應 PLC 的 %MW10)。

    • 當畫面顯示 1 時代表 Step 1、顯示 2 代表 Step 2,便於現場人員排錯監控。

在 EasyBuilder Pro 中選擇 Modbus Server / MODBUS RTU/TCP 驅動程式時,預設的 0x Coil(線圈)位址最小確實只能從 0x 1 開始(因為標準 Modbus Protocol 的 Coil 1-based 定義)。

Schneider M221 的記憶體位址 %M0 與 EasyBuilder Pro 的位址對映有以下兩種解決方案:

解決方案 1:位址順移 + 1(最簡單,推薦)

Modbus 驅動程式的 0x 1 會對應到 Schneider PLC 的 %M0

  • HMI (EasyBuilder Pro):位元按鈕設為 0x 1

  • PLC (Machine Expert):程式中使用 %M0

Modbus 對照表(Modbus 0x vs Schneider %M):

  • EasyBuilder 0x 1 $\rightarrow$ Schneider %M0

  • EasyBuilder 0x 2 $\rightarrow$ Schneider %M1

  • EasyBuilder 0x 3 $\rightarrow$ Schneider %M2

動作: 直接在 EasyBuilder Pro 的位元按鈕位址輸入 0x 1 即可,PLC 程式中的 Rung 3 按鈕接點維持 %M0















EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX6

EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX6 

SFC(Sequential Function Chart,順序功能圖)IEC 61131-3 標準定義的一種 PLC(可程式邏輯控制器)圖形化程式語言。它將複雜的順序控制過程拆分成多個帶有動作與轉態條件的步驟,非常適合用於批次處理與自動化生產線。 [1, 2, 3]

SFC 的主要組成部分
  • 步驟(Steps):代表系統的某個工作狀態,僅在該步驟有效(Active)時執行內部動作。
  • 轉態(Transitions):連接不同步驟的條件,當前一步驟完成且條件成立時,就會切換到下一步驟。
  • 有向連線(Directed Links):用來連接步驟與轉態,決定程式執行的方向與流程。 [1, 2]
SFC 的優點
  • 結構清晰:以流程圖形式呈現,比純梯形圖更容易規劃與閱讀大型順序流程。
  • 便於除錯:能直觀地追蹤目前程式執行到哪一個步驟,大幅縮短現場維護與問題排查的時間。










Rung 0:系統首掃描與數值初始化

  • 功能:系統啟動時(%S13)初始化設定時間(%MW2 = 3s, %MW4 = 6s, %MW6 = 9s)並將步進設為 Step 1(%MW10 = 1)。

Plaintext
  %S13          +[#]+         +[#]+         +[#]+          +[#]+
---| |----------|%MW2:=30|----|%MW4:=60|----|%MW6:=90|-----|%MW10:=1|
                +---+----+    +---+----+    +---+----+     +---+----+

Rung 1:D0 > 1 系統監控

  • 功能:當 %MW0 大於 1 時,點亮 %Q0.1 (Y1)。

Plaintext
  [%MW0 > 1]                                              %Q0.1
---|   >   |-----------------------------------------------( )---

Rung 2:Step 1 燈號輸出 (Y0)

  • 功能:當處於 Step 1(%MW10 = 1)時,點亮 %Q0.0 (Y0)。

Plaintext
  [%MW10 = 1]                                             %Q0.0
---|   =   |-----------------------------------------------( )---

Rung 3:Step 1 觸發轉移

  • 功能:在 Step 1 下按下按鈕 %I0.0 (PB_START),將步進切換至 Step 2(%MW10 := 2)。

Plaintext
  [%MW10 = 1]     %I0.0                                  +[#]+
---|   =   |-------| |-----------------------------------|%MW10 := 2|
                                                         +---+---+

Rung 4:Step 2 燈號輸出 (Y2)

  • 功能:當處於 Step 2(%MW10 = 2)時,點亮 %Q0.2 (Y2)。

Plaintext
  [%MW10 = 2]                                             %Q0.2
---|   =   |-----------------------------------------------( )---

Rung 5:%TM0 計時器控制 (整合 Step 2 與 Step 4)

  • 說明:使用 OR 並聯 寫法,將 Step 2 (%MW10 = 2) 與 Step 4 (%MW10 = 4) 整合至同一個 %TM0 方塊,解決重複呼叫被蓋掉的問題。

Plaintext
  [%MW10 = 2]
---|   =   |------+
                  |                                      +------------+
  [%MW10 = 4]     +--------------------------------------| %TM0       |
---|   =   |------+                                      +------------+

Rung 6:%TM1 計時器控制 (整合 Step 2 與 Step 4)

  • 說明:同理,使用並聯啟動 %TM1

Plaintext
  [%MW10 = 2]
---|   =   |------+
                  |                                      +------------+
  [%MW10 = 4]     +--------------------------------------| %TM1       |
---|   =   |------+                                      +------------+

Rung 7:Step 2 轉移至 Step 3

  • 功能:在 Step 2 且 %TM0.Q%TM1.Q 皆計時到達時,進入 Step 3(%MW10 := 3)。

Plaintext
  [%MW10 = 2]   %TM0.Q   %TM1.Q                          +[#]+
---|   =   |------| |------| |---------------------------|%MW10 := 3|
                                                         +---+---+

Rung 8:Step 3 燈號輸出 (Y3)

  • 功能:處於 Step 3 時,點亮 %Q0.3 (Y3)。

Plaintext
  [%MW10 = 3]                                             %Q0.3
---|   =   |-----------------------------------------------( )---

Rung 9:%TM2 計時器控制 (整合 Step 3 與 Step 5)

  • 說明:將 Step 3 與 Step 5 的條件並聯後,輸入至全程式唯一的 %TM2 方塊。

Plaintext
  [%MW10 = 3]
---|   =   |------+
                  |                                      +------------+
  [%MW10 = 5]     +--------------------------------------| %TM2       |
---|   =   |------+                                      +------------+

Rung 10:Step 3 轉移至 Step 4

  • 功能:在 Step 3 且 %TM2.Q 到達時,進入 Step 4(%MW10 := 4)。

Plaintext
  [%MW10 = 3]   %TM2.Q                                   +[#]+
---|   =   |------| |-----------------------------------|%MW10 := 4|
                                                         +---+---+

Rung 11:Step 4 燈號輸出 (Y4)

  • 功能:處於 Step 4 時,點亮 %Q0.4 (Y4)。

Plaintext
  [%MW10 = 4]                                             %Q0.4
---|   =   |-----------------------------------------------( )---

Rung 12:Step 4 轉移至 Step 5

  • 功能:在 Step 4 且 %TM0.Q%TM1.Q 皆到達時,進入 Step 5(%MW10 := 5)。

Plaintext
  [%MW10 = 4]   %TM0.Q   %TM1.Q                          +[#]+
---|   =   |------| |------| |---------------------------|%MW10 := 5|
                                                         +---+---+

Rung 13:Step 5 燈號輸出 (Y5)

  • 功能:處於 Step 5 時,點亮 %Q0.5 (Y5)。

Plaintext
  [%MW10 = 5]                                             %Q0.5
---|   =   |-----------------------------------------------( )---

Rung 14:Step 5 轉移跳回 Step 1

  • 功能:在 Step 5 且 %TM2.Q 到達時,切換回 Step 1(%MW10 := 1),完成循環。

Plaintext
  [%MW10 = 5]   %TM2.Q                                   +[#]+
---|   =   |------| |-----------------------------------|%MW10 := 1|
                                                         +---+---+

核心檢核清單:

  1. Timer 的數量:整份程式只能出現 1 個 %TM01 個 %TM11 個 %TM2,請務必刪除後方多餘重複的 Timer 方塊。

  2. 連線檢查:畫線必須從 Compare Block / Contact 的右側直接連到 Timer 方塊的 IN 腳位

  3. Timer 參數

    • %TM0:Preset = 30 (Time Base = 100 ms)

    • %TM1:Preset = 60 (Time Base = 100 ms)

    • %TM2:Preset = 90 (Time Base = 100 ms)

EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX7

EasyBuilder Pro 與 EcoStruxure Machine Expert - Basic 的雙模擬器 -EX7 繪製人機介面元件 1. 數值輸入框(設定預設計時器時間) 數值元件 (Numeric Input) : 設定 %MW2 (TM0 時間):讀取/寫入位址...