2026年9月3日 星期四

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

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


1. 圖片控制邏輯說明

圖片展示的是 脈衝波寬調變(PWM / 閃爍振盪波形) 控制邏輯:

  • 控制需求

    • 當開關 X0 接通(ON)時,系統開始產生連續的脈衝振盪波形。

    • 高電位(ON 亮燈)時間:由定時器 T0 控制,設定為 1 秒

    • 低電位(OFF 熄滅)時間:由定時器 T1 控制,設定為 1 秒(總週期為 2 秒)。

    • 當開關 X0 斷開(OFF)時,振盪停止,輸出 Y0 立即熄滅。

  • 動作流程與原理

    1. X0 導通時,Y0 立即輸出(ON),同時啟動定時器 T0(計時 1 秒)。

    2. T0 計時達到 1 秒後(T0 達標),Y0 斷開(OFF),並觸發定時器 T1(計時 1 秒)。

    3. T1 計時達到 1 秒後(T1 達標),觸發復位(Reset),將 T0T1 清零並重頭開始新一輪循環,從而產生穩定的 PWM 閃爍波形。

2. 點位規劃與 Schneider PLC 程式設計

點位與暫存器規劃

  • 控制開關%M0(對應原圖 X0

  • 脈衝波形輸出指示燈%M100(對應原圖 Y0

  • ON 時間設定%MW0(16-bit Unsigned,預設 1 秒,對應 %TM0.P

  • OFF 時間設定%MW2(16-bit Unsigned,預設 1 秒,對應 %TM1.P

  • ON 時間當前計數%MW4(顯示 %TM0.V

  • OFF 時間當前計數%MW6(顯示 %TM1.V

Schneider PLC 階梯圖程式 (Ladder Logic View)

在 EcoStruxure Machine Expert - Basic 中,採用雙定時器(%TM0%TM1)互鎖迴路來實現標準 PWM 脈衝輸出:

Plaintext
(* Rung 0: 動態同步 HMI 設定時間至定時器預設值 *)
|------------------------------------------------------------[ %TM0.P := %MW0 ]--|
| 
|------------------------------------------------------------[ %TM1.P := %MW2 ]--|

(* Rung 1: TON 定時器 %TM0 (控制 ON 高電位時間,時基 1s) *)
(* 串接 /%TM1.Q (當 OFF 時間結束時自動復位重跑) *)
                          +-----------------------+
                          |         %TM0          |
--[ %M0 ]-+-[ / %TM1.Q ]--|IN     |
                          |  Type: TON            |
                          |  Time base: 1 s       |
                          +-----------------------+

(* Rung 2: TON 定時器 %TM1 (控制 OFF 低電位時間,時基 1s) *)
(* 當 %TM0.Q 達標後啟動計時 *)
                          +-----------------------+
                          |         %TM1          |
--[ %M0 ]-+-[ %TM0.Q  ]---|IN     |
                          |  Type: TON            |
                          |  Time base: 1 s       |
                          +-----------------------+

(* Rung 3: 輸出波形 %M100 控制 (%TM0 計時未達標期間維持高電位 ON) *)
|--[ %M0 ]-----[ / %TM0.Q ]------------------------------------------( %M100 )--|

(* Rung 4: 定時器當前值傳送至 %MW 暫存器供 HMI 監視 *)
|------------------------------------------------------------[ %MW4 := %TM0.V ]--|
|------------------------------------------------------------[ %MW6 := %TM1.V ]--|

EasyBuilder Pro 元件設定說明

  1. 脈衝控制開關 (位元按鈕)

    • 讀寫位址%M0

    • 按鈕型態交替型 (Toggle)

    • 標籤/顯示State 0: 振盪停止 (OFF) / State 1: 振盪中 (ON)

  2. 脈衝輸出指示燈 (位元燈)

    • 讀取位址%M100

    • 圖示設定State 0: 暗灰色(熄滅)/ State 1: 亮黃色/亮綠色(點亮)

  3. 高電位 ON 時間設定 (數值輸入元件)

    • 讀寫位址%MW0(16-bit Unsigned,預設寫入 1,可依需求調整波寬)

  4. 低電位 OFF 時間設定 (數值輸入元件)

    • 讀寫位址%MW2(16-bit Unsigned,預設寫入 1

  5. 當前計數顯示 (數值顯示元件)

    • ON 時間當前值%MW4(顯示 %TM0.V

    • OFF 時間當前值%MW6(顯示 %TM1.V

3. EasyBuilder Pro 畫面安排 SVG 檔案碼

您可以將下方 SVG 代碼複製並貼到記事本中,另存為 pwm_hmi_layout.svg,即可直接用 Chrome / Edge 瀏覽器開啟檢視高品質的畫面佈局圖:






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

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






圖片控制邏輯說明

圖片展示的是 依時序延時輸出(3 台電動機順序啟動) 控制系統:

  • 控制需求

    1. 按下啟動按鈕 X0油泵電動機 (Y0) 立即啟動

    2. 延時 10 秒 後,主電動機 (Y1) 啟動

    3. 再延時 5 秒 後,輔助電動機 (Y2) 啟動

    4. 按下停止按鈕 X1 時,所有電動機立即停止運作

  • 時序與原理:採用啟動按鈕觸發自鎖迴路,並利用第一台馬達的運轉狀態驅動接通延時定時器(TON),達到「第一台啟動 ➔ 延時 ➔ 第二台啟動 ➔ 延時 ➔ 第三台啟動」的順序控制。

點位與暫存器規劃

  • 啟動按鈕%M0(對應原圖 X0

  • 停止按鈕%M1(對應原圖 X1

  • 油泵電動機指示燈%M100(對應原圖 Y0

  • 主電動機指示燈%M101(對應原圖 Y1

  • 輔助電動機指示燈%M102(對應原圖 Y2

  • 第一階段延時當前時間%MW0(顯示 %TM0.V 0~10秒)

  • 第二階段延時當前時間%MW2(顯示 %TM1.V 0~5秒)

Schneider PLC 程式 (EcoStruxure Machine Expert - Basic)

階梯圖程式 (Ladder Logic View)

Plaintext
(* Rung 0: 系統總啟動與油泵電動機自鎖迴路 (%M100 立即啟動) *)
|--[ %M0   ]--+--[ / %M1 ]-------------------------------------------( %M100 )--|
|             |
|--[ %M100 ]--+

(* Rung 1: 第一階段延時定時器 %TM0 (油泵 %M100 運轉後開始計時 10 秒) *)
          +-----------------------+
          |         %TM0          |
--[ %M100 ]-|IN                   |
          |  Type: TON            |
          |  Time base: 1 s       |
          |  Preset: 10           |
          +-----------------------+

(* Rung 2: 主電動機自鎖迴路 (%TM0 達標 10 秒後 %M101 啟動) *)
|--[ %TM0.Q ]--+--[ / %M1 ]------------------------------------------( %M101 )--|
|              |
|--[ %M101  ]--+

(* Rung 3: 第二階段延時定時器 %TM1 (主電動機 %M101 運轉後開始計時 5 秒) *)
          +-----------------------+
          |         %TM1          |
--[ %M101 ]-|IN                   |
          |  Type: TON            |
          |  Time base: 1 s       |
          |  Preset: 5            |
          +-----------------------+

(* Rung 4: 輔助電動機自鎖迴路 (%TM1 達標 5 秒後 %M102 啟動) *)
|--[ %TM1.Q ]--+--[ / %M1 ]------------------------------------------( %M102 )--|
|              |
|--[ %M102  ]--+

(* Rung 5: 將定時器當前時間傳送至 %MW 暫存器供人機顯示 *)
|------------------------------------------------------------[ %MW0 := %TM0.V ]--|
|------------------------------------------------------------[ %MW2 := %TM1.V ]--|

指令表 (Instruction List / IL)

程式碼片段
BLK Rung0
  LD    %M0
  OR    %M100
  ANDN  %M1
  ST    %M100
END_BLK

BLK Rung1
  LD    %M100
  IN    %TM0
END_BLK

BLK Rung2
  LD    %TM0.Q
  OR    %M101
  ANDN  %M1
  ST    %M101
END_BLK

BLK Rung3
  LD    %M101
  IN    %TM1
END_BLK

BLK Rung4
  LD    %TM1.Q
  OR    %M102
  ANDN  %M1
  ST    %M102
END_BLK

BLK Rung5
  LD    1
  [%MW0 := %TM0.V]
  [%MW2 := %TM1.V]
END_BLK

EasyBuilder Pro 元件設定

位元控制與顯示元件

  • 啟動按鈕 (位元按鈕)

    • 讀寫位址%M0

    • 按鈕型態復歸型 (Momentary)

    • 標籤系統啟動

  • 停止按鈕 (位元按鈕)

    • 讀寫位址%M1

    • 按鈕型態復歸型 (Momentary)

    • 標籤全機停止

  • 油泵電動機指示燈 (位元燈)

    • 讀取位址%M100

    • 圖示State 0: 灰色 / State 1: 亮綠色

  • 主電動機指示燈 (位元燈)

    • 讀取位址%M101

    • 圖示State 0: 灰色 / State 1: 亮綠色

  • 輔助電動機指示燈 (位元燈)

    • 讀取位址%M102

    • 圖示State 0: 灰色 / State 1: 亮綠色

數值顯示元件

  • 油泵 ➔ 主馬達 延時監視:讀取位址 %MW0(16-bit Unsigned,顯示 0~10 秒)

  • 主馬達 ➔ 輔助馬達 延時監視:讀取位址 %MW2(16-bit Unsigned,顯示 0~5 秒)





Mermaid 視覺化流程圖

若您使用的編輯器或平台支援 Mermaid,以下語法會自動繪製成高品質圖形:


程式碼片段

graph LR

    subgraph HMI [操作控制面板]

        M0[🟢 啟動按鈕 %M0]

        M1[🔴 停止按鈕 %M1]

    end


    subgraph PLC [Schneider PLC 控制系統]

        M0 -->|觸發| Y0

        M1 -->|全機停止| Y0

        M1 -->|全機停止| Y1

        M1 -->|全機停止| Y2


        Y0[🟢 油泵電動機 %M100<br/>按下啟動立即運轉]

        TM0((延時 10 秒<br/>%TM0))

        Y1[🟡 主電動機 %M101<br/>延時 10 秒後啟動]

        TM1((延時 5 秒<br/>%TM1))

        Y2[🔵 輔助電動機 %M102<br/>再延時 5 秒後啟動]


        Y0 --> TM0

        TM0 --> Y1

        Y1 --> TM1

        TM1 --> Y2

    end


    style HMI fill:#f9f9f9,stroke:#333,stroke-width:2px

    style PLC fill:#ffffff,stroke:#333,stroke-width:2px

    style Y0 fill:#d4edda,stroke:#28a745,stroke-width:2px

    style Y1 fill:#fff3cd,stroke:#ffc107,stroke-width:2px

    style Y2 fill:#cce5ff,stroke:#004085,stroke-width:2px








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

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



圖片展示的是延時接通 / 延遲關斷(TON + TOF 複合控制)邏輯。

1. 圖片控制邏輯說明

  • 控制需求

    • 接通延遲(ON 延時):當開關 X0 由 OFF 變 ON 時,指示燈 Y0 不會立刻亮,需經過定時器 T0 延時 5 秒 後才點亮。

    • 關斷延遲(OFF 延時):當開關 X0 由 ON 變 OFF 時,指示燈 Y0 不會立刻熄滅,需經過定時器 T1 延時 3 秒 後才熄滅。

  • 時序動作解析

    1. X0 導通時,啟動 TON 定時器 T0 計時(5 秒);達到 5 秒後 T0 閉合,驅動 Y0 點亮並透過自身觸點進行自鎖。

    2. X0 斷開時,觸發 TON 定時器 T1 計時(3 秒);達到 3 秒後 T1 常閉觸點斷開,打破自鎖迴路,Y0 熄滅。

EasyBuilder Pro 元件配置(已移除時間設定輸入)

位元元件

  • 控制開關:讀寫位址 %M0(按鈕型態:交替型 Toggle

  • 強制清零按鈕:讀寫位址 %M1(按鈕型態:復歸型 Momentary

  • 輸出指示燈:讀取位址 %M100(位元燈,State 0: 灰色 / State 1: 亮綠色)

數值監視元件(僅讀取當前時間)

  • 接通計時顯示:讀取位址 %MW4(16-bit Unsigned,監視 %TM0.V 累計 0~5 秒)

  • 關斷計時顯示:讀取位址 %MW6(16-bit Unsigned,監視 %TM1.V 倒數 3~0 秒)






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

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


圖片說明

圖片展示的是標準的 延時接通(On-Delay Timer / TON) 控制邏輯:

  • 控制需求:當開關 X0 接通(ON)後,定時器 T0 開始計時,延時 3 秒後指示燈 Y0 才接通變亮;當開關 X0 斷開(OFF)時,指示燈 Y0 立刻熄滅,且定時器自動歸零。

  • 時序分析

    1. X0 導通:T0 觸發計數,此時 Y0 仍為 OFF。

    2. 計時達標(3 秒):T0 常開觸點閉合,驅動 Y0 點亮。

    3. X0 斷開:T0 復位清零,Y0 瞬間熄滅。

簡化 Schneider PLC 程式與 EasyBuilder Pro 元件設定,僅保留 控制開關 (%M0)輸出指示燈 (%M100) 以及 目前的計數/時間 (%MW0)

Schneider PLC 階梯圖程式 (Ladder Logic)

Plaintext
(* Rung 0: TON 延時接通定時器 %TM0 (時基 1s,預設值直接寫入 3 秒) *)
          +-----------------------+
          |         %TM0          |
--[ %M0 ]-|IN                     |
          |  Type: TON            |
          |  Time base: 1 s       |
          |  Preset: 3            |
          +-----------------------+

(* Rung 1: 將定時器當前累計時間即時傳送至 %MW0 *)
|------------------------------------------------------------[ %MW0 := %TM0.V ]--|

(* Rung 2: 定時器達標輸出 (%TM0.Q) 驅動指示燈 %M100 *)
|--[ %TM0.Q ]--------------------------------------------------------( %M100 )--|

指令表 (Instruction List / IL)

程式碼片段
BLK Rung0
  LD    %M0
  IN    %TM0
END_BLK

BLK Rung1
  LD    1
  [%MW0 := %TM0.V]
END_BLK

BLK Rung2
  LD    %TM0.Q
  ST    %M100
END_BLK

EasyBuilder Pro 元件設定

  1. 控制開關 (位元按鈕)

    • 讀寫位址%M0

    • 按鈕型態交替型 (Toggle) / 開關型

    • 標籤State 0: 開關 OFF / State 1: 開關 ON

  2. 目前的計數/時間 (數值顯示元件)

    • 讀取位址%MW0

    • 資料格式16-bit Unsigned

    • 效果:當按鈕開啟時,畫面會呈現 0 累計至 3

  3. 輸出指示燈 (位元燈)

    • 讀取位址%M100

    • 顯示設定State 0: 灰色 (熄滅) / State 1: 亮綠色 (延時到點亮)


問題出在 「使用圖片」 勾選項目的運作機制!

當您勾選了 使用圖片 且選用了系統圖庫中的按鈕(Button - Flat)時,系統會直接使用該圖庫內建的點陣圖檔來顯示,此時下方設定的 顏色 會被圖片遮蓋而失效

卡住的原因

在您的設定畫面中,狀態 0狀態 1 雖然下方的「顏色」調成了灰色與綠色,但右上角顯示的圖片名稱都是 Button - Flat。這張內建圖檔本身的 0 與 1 狀態可能都是預設灰色,所以運作時只會顯示圖片原本的顏色,不會套用您指定的綠色。

解決方法(二選一)

方法一:取消勾選「使用圖片」(最快,直接套用您選的綠色)

  1. 切換到 狀態 1

  2. 使用圖片 的勾勾取消(Uncheck)

  3. 切換到 狀態 0,同樣將 使用圖片 的勾勾取消

  4. 按下確定。此時按鈕會改用向量形狀繪製,並完全套用您下方的「顏色」(狀態 0 灰色、狀態 1 亮綠色)。

方法二:更換有明顯顏色變化的圖庫圖片

若希望保持精美的按鈕質感,不建議只靠底色蓋圖:

  1. 點擊右側的 圖庫... 按鈕。

  2. 選擇其他有明確 ON/OFF 亮燈區分的按鈕款式(例如 Button - Round 或帶有亮燈效果的位元按鈕)。

  3. 確保 狀態 0 對應到暗色圖案、狀態 1 對應到亮綠色圖案即可。





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

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



圖片說明

圖片展示的是典型的 延時斷開(Off-Delay Timer / TOF) 控制邏輯:

  • 控制要求:當開關 X0 接通(ON)時,指示燈 Y0 立即點亮;當開關 X0 斷開(OFF)時,Y0 繼續保持點亮,直到定時器延時(預設 5 秒)時間到,Y0 才正式熄滅。

  • 時序分析

    1. X0 導通:Y0 自鎖立即可靠亮起。

    2. X0 斷開(下降沿):定時器 T0 開始計時。

    3. 計時達標(5 秒):T0 常閉觸點斷開,打破 Y0 自鎖迴路,Y0 熄滅。

點位與暫存器規劃

  • 控制開關(按鈕)%M0(對應原圖 X0

  • 輸出指示燈%M100(對應原圖 Y0

  • 可調延時設定值%MW0(單位:秒,預設可由 HMI 填入,如設定 5

  • 定時器與動態預設:使用 %TM0,時基設為 1s,啟動前將 %MW0 動態載入至 %TM0.P

Schneider PLC(EcoStruxure Machine Expert - Basic)程式

方法一:直接使用定時器指令區塊 (TOF 模式)

Schneider 的定時器 %TM 原生支援 TOF (Off-Delay) 模式,寫法最精簡。



(* Rung 0: 啟動瞬間/運轉中將 HMI 時間設定值 %MW0 動態載入至定時器預設值 %TM0.P *)
|------------------------------------------------------------[ %TM0.P := %MW0 ]--|

(* Rung 1: TOF 延時斷開定時器 %TM0 (時基 1s) *)
          +-----------------------+
          |         %TM0          |
--[ %M0 ]-|IN                     |
          |  Type: TOF            |
          |  Time base: 1 s       |
          +-----------------------+

(* Rung 2: 輸出指示燈 %M100 控制 (由 %TM0.Q 保持亮燈) *)
|--[ %TM0.Q ]--------------------------------------------------------( %M100 )--|





2026年9月2日 星期三

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 - Basic 的高速計數器區塊!

不過在 Basic 軟體中,高速計數器有分成兩種模式,需要根據您的應用(AB 相編碼器)來確認配置:

1. 工具列上的圖示功能對照

在左側工具列中,與計數相關的三個圖示分別為:

  • 123 (普通計數器 Counter):即 %C0,用於一般低速開關訊號計數。

  • 1123 (快速計數器 Fast Counter):即 %FC,用於較簡單的單相快速計數。

  • 11123 (高速計數器 High Speed Counter):即 %HSC,這是您圖片中拉出來的區塊,支援雙相 (AB相) 編碼器輸入。

2. AB 相編碼器(Dual Phase / Quadrature)的設定重點

當您將 11123 (%HSC) 區塊拉到階梯圖後,需要點擊該區塊進行 Configuration(硬體配置)

  1. Address (位址):選擇 %HSC0

  2. Mode (模式)

    • 要接收圖片中的 AB 相脈衝,模式必須設定為 Quadrature X1Quadrature X2Quadrature X4(四倍頻模式最常用,解析度最高)。

  3. Dedicated Inputs (專用腳位)

    • 軟體會自動固定將 %I0.0 指派給 A 相%I0.1 指派給 B 相

3. 高速計數器端子說明 (Tooltip 內容解析)

  • IN (Enable):啟用端。接通時(TRUE),高速計數器開始接收 %I0.0 / %I0.1 的脈衝並進行計數。

  • S (Preset):預設值載入端。接通時,將預設值載入至 %HSC0.V(當前值)。

  • F (Overflow):溢位標誌。

  • U (Counting Direction):計數方向指示(在 AB 相模式下,系統會根據 A/B 相相位差自動判斷正轉/反轉,此端子會動態顯示當前是正計數還是倒計數)。

  • TH0 / TH1 (Threshold):設定門檻值達標輸出(若有設定比較值)。



出現這個問題(Address 顯示紅框 %HSC0 且 Type 顯示 Type: Not Configured)的原因是:Schneider EcoStruxure Machine Expert - Basic 的高速計數器(%HSC)無法直接在階梯圖編輯器中手動打字修改型態,必須先在「硬體組態 (Configuration)」分頁中進行啟用與配置。

請按照以下步驟完成設定:

正確設定步驟(3 步驟解決):

步驟一:前往左側/上方的「Configuration (組態)」分頁

  1. 點擊頂部選單列的 Configuration(組態分頁,通常在 Programming 旁邊)。

  2. 在左側硬體樹狀圖中,點選您的 PLC 型號 TM221CE40R 下方的 High Speed Counters(高速計數器)或直接點選 %HSC0

步驟二:配置 %HSC0 參數

%HSC0 的設定頁面中:

  1. Used:勾選 Yes(啟用此高速計數器)。

  2. Type (型態):將原本的 Not Configured 切換選擇為 Main(主計數器)或 Dual Phase / Quadrature

  3. Mode (模式):若接 AB 相編碼器,請選擇 Quadrature X4(四倍頻模式)或 Quadrature X1 / X2

  4. Preset Value (預設值):可先維持 0 或輸入設定值。

  5. Dedicated Inputs (固定腳位):系統會自動將 %I0.0 指定給 A 相,%I0.1 指定給 B 相。

步驟三:返回階梯圖編輯器 (Programming)

  1. 點擊頂部 Programming 回到階梯圖畫面。

  2. 此時原本紅框的 %HSC0Type: Not Configured 就會自動變為正常黑色字樣,Rung0 左側的紅色錯誤警告(X)也會隨之消失!

總結觀念:

在 SoMachine / Machine Expert - Basic 中,像 %HSC (高速計數器)%PTO (脈衝輸出)%ETH0 (網路通訊) 這類佔用特殊硬體腳位的功能區塊,都必須先在 Configuration 設定「啟用 (Used = Yes)」,階梯圖(Ladder)才能正常引用該位址


在 Schneider EcoStruxure Machine Expert - Basic 的 High Speed Counter Assistant %HSC0(高速計數器助手)畫面中,針對 AB 相編碼器(A/B Phase Encoder) 的標準設定方法與各欄位說明如下:

1. 頂部主要模式設定 (Main Settings)

  • Type of HSC:選擇 Dual Phase(雙相 / AB相模式)。

  • Counting Mode:選擇 Free-large(自由大型計數,即從 -2,147,483,6482,147,483,647 的連續雙字組範圍,最適合定位與編碼器回授)。

  • Input Mode:選擇 Quadrature X4(四倍頻模式,解析度最高、最常用;若不需要倍頻可選 Quadrature X1X2)。

2. General(一般參數設定)

  • Double Word建議勾選(Checked)

    • 原因:編碼器旋轉脈衝數通常很大,勾選 Double Word 後,暫存器 %HSC0.V 會轉為 32 位雙字組(可儲存超過 9,999 的數值),避免計數值快速溢位。

  • Preset (預設載入值):填入 0(作為復位/觸發 S 端時的初始歸零值)。

  • Threshold S0 / Threshold S1 (比較門檻值)

    • 若程式只需在 PLC 內即時讀取 %HSC0.V 脈衝並用梯形圖做比較(例如剛才程式寫的 ABS(%MD0 - %MD2)),這兩欄保持預設值或填入目標比較值即可

    • Trigger:選 Not Used(除非需要觸發硬體高優先權中斷服務 Subroutine)。

3. Inputs(硬體輸入腳位分配)

系統已自動幫您指派並勾選:

  • Pulse Input Phase A%I0.0(自動作為 A 相脈衝輸入)

  • Pulse Input Phase B%I0.1(自動作為 B 相脈衝輸入)

  • Normal Input (%I0.2 / %I0.3)不勾選(保留作為一般 PLC 輸入點使用即可)。

4. Reflex outputs(硬體快速反射輸出)

  • Reflex Output 0 / 1不勾選

    • 說明:這是當計數器達到門檻(Threshold)時,無需經過 PLC 掃描週期、直接由硬體晶片驅動晶體輸出的功能。我們一般由梯形圖(Rung)控制指示燈 %M100 / %M101,因此此處保持取消勾選即可。

設定完成步驟

  1. 確認以上參數設定無誤後,點擊右下角的 Apply(套用)。

  2. 返回 Programming(階梯圖頁面),此時梯形圖中的 %HSC0 區塊就會恢復為正常的黑色可執行狀態(不再顯示紅框與錯誤)。



在 EasyBuilder Pro 或實機上測試時,若「編碼器實際讀取脈衝(%MW2)」永遠停在 0,請依序排查以下 3 個最常見的原因與對應解法

原因一:PLC 的 %HSC0 區塊未被啟動(IN 端子未接通)

在 Machine Expert - Basic 中,高速計數器(%HSC0)必須在其左側 IN 端子保持導通(ON) 的狀態下,才會開始接收外接脈衝訊號。

  • 檢查項目: 在 PLC 程式(Rung 0)中,%HSC0 的前面是否接了 %M0?若按下人機按鈕前 %M0 為 OFF,%HSC0 就不會開始運作。

  • 解決方法: 在 Rung 0 中,直接將 %HSC0IN 端接在左側母線上(無條件導通),或確保監控開關 %M0 已切換至 ON:

Plaintext
(* Rung 0: 讓 %HSC0 常時啟用,無條件接收脈衝 *)
          +-----------------------+
          |        %HSC0          |
---| |----|IN                     |
 (母線)   |  Type: Dual Phase     |
          |  Mode: Quadrature X4  |
          +-----------------------+

原因二:階梯圖中沒有持續執行 %MW2 := %HSC0.V

若讀取指令放在有條件(例如前面的觸點為 OFF)的階梯中,PLC 就不會執行傳送,人機讀到的 %MW2 就會一直保持初始值 0。

  • 解決方法: 請確認 Rung 1 為無條件直接傳送(指令框直接連到左側母線),確保每個掃描週期都在更新數值:

Plaintext
(* Rung 1: 無條件即時讀取當前脈衝值至 %MW2 *)
|------------------------------------------------------------[ %MW2 := %HSC0.V ]--|

原因三:模擬器/實機接線與軟體模擬限制

  1. 若使用「線上模擬 (Simulation Mode)」

    • 由於電腦模擬器沒有連接真實的硬體編碼器,實體輸入點 %I0.0%I0.1 不會有脈衝進來,因此 %HSC0.V 預設必定為 0。

    • 測試方法:可以在 PLC 梯形圖中暫時加一條測試邏輯(例如按另一個按鈕手動對 %MW2 加算,或用 %S6 1秒脈衝模擬計數),驗證人機介面(%MW2)顯示是否正常。

  2. 若連接「實體 PLC (TM221CE40R)」

    • 檢查硬體腳位:編碼器 A 相必須接至 %I0.0,B 相必須接至 %I0.1

    • 檢查信號電位:TM221CE40R 的輸入點預設為 24V DC(SINK / SOURCE)。若編碼器輸出為 5V TTL 或 Line-Driver(差動信號),PLC 會因為電位不足而無法感應到脈衝,需要加上 5V 轉 24V 的訊號轉換板,或選用 24V NPN/PNP 集極開路(Open Collector)輸出的編碼器。


EcoStruxure Machine Expert - BasicEasyBuilder Pro 進行「純軟體線上模擬(Simulation)」時,因為電腦沒有連接實體編碼器,%HSC0(硬體高速計數器)無法接收到實體腳位 %I0.0 / %I0.1 的脈衝,所以 %HSC0.V 會一直固定為 0

為了在線上模擬時能看到人機介面動態顯示計數、偏差計算與指示燈動作,可以在 PLC 程式中加入一段「模擬脈衝切換開關」:當開啟模擬模式時,利用 PLC 內部的 1 秒脈衝(%S6)或 100ms 脈衝(%S5)來自動對 %MW2(實際脈衝)進行加減算。

線上模擬專用 PLC 階梯圖程式 (Ladder Logic View)

新增模擬控制點位:

  • %M10:模擬運轉開關(HMI 上的「模擬編碼器轉動」按鈕)

  • %M11:正轉 / 反轉切換開關(ON: 模擬出庫/反轉 -1, OFF: 模擬入庫/正轉 +1)

Plaintext
(* Rung 0: 實機高速計數器啟用 (實機時運作) *)
          +-----------------------+
          |        %HSC0          |
----------|IN                     |
 (常導通) |  Type: Dual Phase     |
          |  Mode: Quadrature X4  |
          +-----------------------+

(* Rung 1: 實機/模擬 數值選擇 *)
(* 當未開啟模擬(%M10為OFF)時,即時讀取實機 %HSC0.V 至 %MW2 *)
|--[ / %M10 ]------------------------------------------------[ %MW2 := %HSC0.V ]--|

(* Rung 2: 線上模擬邏輯 - 正轉加計數 (每 100ms 脈衝 %S5 加 10 個脈衝) *)
|--[ %M10 ]-----[ / %M11 ]-----[ %S5:P ]---------------------[ %MW2 := %MW2 + 10 ]--|

(* Rung 3: 線上模擬邏輯 - 反轉減計數 (每 100ms 脈衝 %S5 減 10 個脈衝) *)
|--[ %M10 ]-----[ %M11 ]-------[ %S5:P ]---------------------[ %MW2 := %MW2 - 10 ]--|

(* Rung 4: 計算兩數偏差絕對值 *)
|--[ %M0 ]-----[ %MW0 >= %MW2 ]------------------------------[ %MW4 := %MW0 - %MW2 ]--|
|                                                                                    |
|--[ %M0 ]-----[ %MW0 < %MW2  ]------------------------------[ %MW4 := %MW2 - %MW0 ]--|

(* Rung 5: 偏差過大檢測 (當偏差 %MW4 > 10 時觸發報警燈 %M101) *)
|--[ %M0 ]-----[ %MW4 > 10 ]-----------------------------------------( %M101 )--|

(* Rung 6: 定位完成指示燈 (當偏差 %MW4 <= 10 時亮起 %M100) *)
|--[ %M0 ]-----[ %MW4 <= 10 ]----------------------------------------( %M100 )--|

(* Rung 7: 清零與報警復位按鈕 (%M1) *)
|--[ %M1 ]--+--------------------------------------------------------[ %MW2 := 0 ]--|
            +--------------------------------------------------------[ %HSC0.V := 0 ]--|
            +--------------------------------------------------------( RST %M101 )--|


EasyBuilder Pro 人機介面測試設定

為了方便在線上模擬時測試,可在人機畫面上臨時或永久新增兩個按鈕

  1. 「模擬編碼器轉動」按鈕(位元按鈕)

    • 讀寫位址%M10

    • 按鈕型態交替型 (Toggle)開關型

    • 功能:開啟後,%MW2 就會以每秒 100 個脈衝的速度自動累加,模擬馬達旋轉與編碼器回授。

  2. 「模擬反轉/倒退」按鈕(位元按鈕 - 選配)

    • 讀寫位址%M11

    • 按鈕型態交替型 (Toggle)

    • 功能:開啟後,脈衝會倒扣,用來模擬 AB 相反轉。

模擬測試驗證步驟

  1. 設定目標脈衝(例如填入 500)。

  2. 按下 「定位發射 / 定位啟動 (%M0)」

  3. 按下 「模擬編碼器轉動 (%M10)」,會看到「編碼器實際讀取脈衝(%MW2)」從 0 開始快速增加。

  4. %MW2 接近 500(偏差 %MW4 <= 10)時,「定位完成指示燈 (%M100)」 會自動亮起;若脈衝超過 510 或偏差過大,「位置誤差過大報警燈 (%M101)」 會點亮。






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

  EasyBuilder Pro 元件 與 Schneider EcoStruxure Machine Expert - Basic PLC  ( PLC 100範例 -26 ) 1. 說明圖片(控制邏輯與原理) 圖片展示的是 延長計時應用 – 老化測試系統 (Burn-In ...