2026年9月2日 星期三

EasyBuilder Pro 元件 與 Schneider EcoStruxure Machine Expert - Basic PLC ( PLC 100範例 -17 )

EasyBuilder Pro 元件 與 Schneider EcoStruxure Machine Expert - Basic PLC  ( PLC 100範例 -17 ) 





圖片展示了「車輛出庫及入庫數量監控」的加/減雙向計數控制邏輯:

  • 控制要求:監控車庫內的車輛總數,當車輛數達到 40,000 輛時,滿位/報警指示燈 Y0 亮起。車輛入庫使計數加 1,出庫使計數減 1,且提供清零按鈕 X3 重置數量。

  • 控制原理

    • 第一階梯:入庫信號 X0 與出庫信號 X1 並聯觸發脈衝(PLS),作為雙向計數器 C200 的計數觸發來源。

    • 第二階梯:出庫信號 X1 接至 U/D (Up/Down) 控制端。當 X1 導通時切換為減計數模式,無信號時則為預設加計數模式。

    • 第三階梯:清零按鈕 X3 觸發 CLR 端將當前計數值歸零。

    • 輸出端:當當前車輛數達到預設值(PV = 40000)時,CUP 端導通驅動報警指示燈 Y0

Schneider PLC 程式與 EasyBuilder Pro HMI 對應設計

點位規劃

  • 按鈕/開關(%M0 ~ %M99)

    • %M0:車輛入庫感應開關(加計數)

    • %M1:車輛出庫感應開關(減計數)

    • %M3:清零按鈕

  • 指示燈(%M100 ~ %M199)%M100(車庫滿位/報警指示燈)

  • 資料暫存器/計數器

    • %C0:內部計數器(註:EcoStruxure Basic 標準單個 %C 計數器上限為 9999;若要達到 40,000 次,PLC 端改用 32 位雙字組暫存器 %MD0 進行加減運算與比較,最為穩定直接)。

EasyBuilder Pro 元件設定

1. 入庫/出庫/清零按鈕

元件名稱讀寫位址按鈕型態標籤文字
入庫模擬按鈕%M0復歸型 (Momentary)車輛入庫 (+1)
出庫模擬按鈕%M1復歸型 (Momentary)車輛出庫 (-1)
清零按鈕%M3復歸型 (Momentary)車數清零

2. 車庫滿位指示燈(位元燈)

  • 讀取位址%M100

  • 狀態顯示

    • State 0 (OFF):灰色 / 車位正常

    • State 1 (ON):亮紅色(閃爍) / 車庫已滿 (達40,000輛)

3. 當前車庫數量顯示(數值顯示元件)

  • 讀取位址%MD0

  • 資料格式32-bit Unsigned (32位無符號整數)

  • 位元數設定:預設 5 位數以上,可即時呈現 0 ~ 40,000 輛車的動態變化。


PLC 程式碼



階梯圖文字表示 (Ladder Logic View)

Plaintext
(* Rung 0: 每秒更新目標上限值 (%MW4 := %MW0) *)
|--[ %S6 ]-------------------------------------------[ %MW4 := %MW0 ]--|

(* Rung 1: 車輛入庫加計數 (%MW2 := %MW2 + 1) *)
|--[ %M0:P ]-----------------------------------------[ %MW2 := %MW2 + 1 ]--|

(* Rung 2: 車輛出庫減計數 (%MW2 := %MW2 - 1) *)
|--[ %M1:P ]-----------------------------------------[ %MW2 := %MW2 - 1 ]--|

(* Rung 3: 滿位報警比較 (當當前數量 %MW2 >= 上限 %MW4 時點亮 %M100) *)
|--[ %MW2 >= %MW4 ]--------------------------------------------( %M100 )--|

(* Rung 4: 滿位上限限制 (當當前數量 %MW2 >= 上限 %MW4 時,鎖定 %MW2 等於上限值 %MW4) *)
|--[ %MW2 >= %MW4 ]----------------------------------[ %MW2 := %MW4 ]--|

(* Rung 5: 下限防呆限制 (當當前數量 %MW2 < 0 時,歸零 %MW2 := 0) *)
|--[ %MW2 < 0 ]--------------------------------------[ %MW2 := 0 ]--|

(* Rung 6: 手動清零按鈕 (%MW2 := 0) *)
|--[ %M3 ]-------------------------------------------[ %MW2 := 0 ]--|

指令表 (Instruction List / IL)

程式碼片段
BLK Rung0
  LD    %S6
  [%MW4 := %MW0]
END_BLK

BLK Rung1
  LD    %M0:P
  [%MW2 := %MW2 + 1]
END_BLK

BLK Rung2
  LD    %M1:P
  [%MW2 := %MW2 - 1]
END_BLK

BLK Rung3
  LD    [%MW2 >= %MW4]
  ST    %M100
END_BLK

BLK Rung4
  LD    [%MW2 >= %MW4]
  [%MW2 := %MW4]
END_BLK

BLK Rung5
  LD    [%MW2 < 0]
  [%MW2 := 0]
END_BLK

BLK Rung6
  LD    %M3
  [%MW2 := 0]
END_BLK

程式邏輯詳細說明

  • 暫存器規劃

    • %MW0:HMI 設定的上限預設值(例如:10 輛)。

    • %MW4:PLC 內部的滿位上限目標值。

    • %MW2:當前車庫內的車輛累計數量。

  • Rung 0:利用 1 秒脈衝 %S6,將人機設定的預設值 %MW0 即時同步更新至 %MW4

  • Rung 1 & Rung 2:透過入庫按鈕 %M0:P 與出庫按鈕 %M1:P 的上升沿脈衝,對當前車數 %MW2 進行 +1-1 的算術運算。

  • Rung 3:比較當前車數 %MW2 是否達到或超過上限 %MW4,若成立則觸發滿位報警指示燈 %M100

  • Rung 4 & Rung 5 (數值邊界防護/卡位)

    • 上限保護:若車數已經滿了(%MW2 >= %MW4),即便繼續按 %M0 加計數,也會被強制鎖定在上限值 %MW4,防止溢位或數字超標。

    • 下限保護:若車庫已經沒車(%MW2 < 0),即便按 %M1 扣減,也會強制清零(%MW2 := 0),防止出現負數。

  • Rung 6:按下復位按鈕 %M3,將當前車輛計數 %MW2 強制清零歸位。

沒有留言:

張貼留言

EasyBuilder Pro 元件 與 Schneider EcoStruxure Machine Expert - Basic PLC ( PLC 100範例 -19 )

EasyBuilder Pro 元件 與 Schneider EcoStruxure Machine Expert - Basic PLC  ( PLC 100範例 -19 )   圖片中標示的就是 Schneider EcoStruxure Machine Expert - B...