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(硬體配置):
Address (位址):選擇
%HSC0。Mode (模式):
要接收圖片中的 AB 相脈衝,模式必須設定為
Quadrature X1、Quadrature X2或Quadrature X4(四倍頻模式最常用,解析度最高)。
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 (組態)」分頁
點擊頂部選單列的
Configuration(組態分頁,通常在 Programming 旁邊)。在左側硬體樹狀圖中,點選您的 PLC 型號
TM221CE40R下方的High Speed Counters(高速計數器)或直接點選%HSC0。
步驟二:配置 %HSC0 參數
在 %HSC0 的設定頁面中:
Used:勾選
Yes(啟用此高速計數器)。Type (型態):將原本的
Not Configured切換選擇為Main(主計數器)或Dual Phase/Quadrature。Mode (模式):若接 AB 相編碼器,請選擇
Quadrature X4(四倍頻模式)或Quadrature X1 / X2。Preset Value (預設值):可先維持
0或輸入設定值。Dedicated Inputs (固定腳位):系統會自動將
%I0.0指定給 A 相,%I0.1指定給 B 相。
步驟三:返回階梯圖編輯器 (Programming)
點擊頂部
Programming回到階梯圖畫面。此時原本紅框的
%HSC0與Type: 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,648到2,147,483,647的連續雙字組範圍,最適合定位與編碼器回授)。Input Mode:選擇Quadrature X4(四倍頻模式,解析度最高、最常用;若不需要倍頻可選Quadrature X1或X2)。
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,因此此處保持取消勾選即可。
設定完成步驟
確認以上參數設定無誤後,點擊右下角的
Apply(套用)。返回 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 中,直接將
%HSC0的IN端接在左側母線上(無條件導通),或確保監控開關%M0已切換至 ON:
(* Rung 0: 讓 %HSC0 常時啟用,無條件接收脈衝 *)
+-----------------------+
| %HSC0 |
---| |----|IN |
(母線) | Type: Dual Phase |
| Mode: Quadrature X4 |
+-----------------------+
原因二:階梯圖中沒有持續執行 %MW2 := %HSC0.V
若讀取指令放在有條件(例如前面的觸點為 OFF)的階梯中,PLC 就不會執行傳送,人機讀到的 %MW2 就會一直保持初始值 0。
解決方法: 請確認 Rung 1 為無條件直接傳送(指令框直接連到左側母線),確保每個掃描週期都在更新數值:
(* Rung 1: 無條件即時讀取當前脈衝值至 %MW2 *)
|------------------------------------------------------------[ %MW2 := %HSC0.V ]--|
原因三:模擬器/實機接線與軟體模擬限制
若使用「線上模擬 (Simulation Mode)」:
由於電腦模擬器沒有連接真實的硬體編碼器,實體輸入點
%I0.0與%I0.1不會有脈衝進來,因此%HSC0.V預設必定為 0。測試方法:可以在 PLC 梯形圖中暫時加一條測試邏輯(例如按另一個按鈕手動對
%MW2加算,或用%S61秒脈衝模擬計數),驗證人機介面(%MW2)顯示是否正常。
若連接「實體 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 - Basic 與 EasyBuilder 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)
(* 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 人機介面測試設定
為了方便在線上模擬時測試,可在人機畫面上臨時或永久新增兩個按鈕:
「模擬編碼器轉動」按鈕(位元按鈕):
讀寫位址:
%M10按鈕型態:交替型 (Toggle) 或 開關型
功能:開啟後,
%MW2就會以每秒 100 個脈衝的速度自動累加,模擬馬達旋轉與編碼器回授。「模擬反轉/倒退」按鈕(位元按鈕 - 選配):
讀寫位址:
%M11按鈕型態:交替型 (Toggle)
功能:開啟後,脈衝會倒扣,用來模擬 AB 相反轉。
模擬測試驗證步驟
設定目標脈衝(例如填入
500)。按下 「定位發射 / 定位啟動 (%M0)」。
按下 「模擬編碼器轉動 (%M10)」,會看到「編碼器實際讀取脈衝(
%MW2)」從0開始快速增加。當
%MW2接近500(偏差%MW4 <= 10)時,「定位完成指示燈 (%M100)」 會自動亮起;若脈衝超過510或偏差過大,「位置誤差過大報警燈 (%M101)」 會點亮。














