首頁技術文章 › PLC 互鎖電路

PLC 互鎖電路怎麼寫?馬達正反轉為什麼會燒接觸器

易歐特科技 · PLC 基本功系列 · 適用三菱 FX/Q、西門子 S7、歐姆龍、台達、士林

互鎖(Interlock)的定義很簡單:兩個動作不能同時發生。正轉與反轉、進料閥與排料閥、加熱與冷卻——只要同時動作會造成損壞或危險,就必須互鎖。

但很多人只做了「一半的互鎖」,結果現場照樣跳電、照樣燒接觸器。這篇說明為什麼。

一、正反轉同時導通會發生什麼事?

三相馬達正反轉,是靠兩個接觸器交換其中兩相的相序來實現的。

接觸器接線
KM1(正轉)R→U, S→V, T→W
KM2(反轉)R→W, S→V, T→U(R、T 對調)
兩個接觸器同時吸合會怎樣?

R 相同時接到 U 和 W,T 相同時接到 W 和 U —— 於是 R 相與 T 相在接觸器出口直接短路

這不是「馬達不轉」而已,是三相電源相間短路:瞬間短路電流可達數千安培,結果是接觸器主接點熔焊、無熔絲開關跳脫,嚴重時電弧噴出、盤體燒毀。

這也是為什麼互鎖不是選配,是必須

二、軟體互鎖(程式互鎖)

做法:在每個輸出的條件裡,串一個對方的常閉接點。

; ── 正轉 ──
LD    X000        ; 正轉按鈕
OR    M1          ; 自保持
AND   X002        ; 停止(實體常閉 → 平常 = ON → 程式用常開接點)
AND   X003        ; 過載(實體常閉 → 同理)
ANI   M2          ; ★ 互鎖:反轉中不可正轉(內部旗標,用反相接點才對)
OUT   M1          ; 正轉狀態

; ── 反轉 ──
LD    X001        ; 反轉按鈕
OR    M2          ; 自保持
AND   X002        ; 停止(實體常閉 → 程式常開)
AND   X003        ; 過載(實體常閉 → 程式常開)
ANI   M1          ; ★ 互鎖:正轉中不可反轉(內部旗標)
OUT   M2          ; 反轉狀態

LD    M1
OUT   Y000        ; KM1 正轉接觸器
LD    M2
OUT   Y001        ; KM2 反轉接觸器

ANI M1ANI M2 互相卡住對方,任何時刻只有一個能成立。這叫互鎖(Mutual Interlock)

注意上面同時出現了 AND X002ANI M2 —— 這不是筆誤

兩者的差別在於「訊號平常是 0 還是 1」:

· X002(停止)、X003(過載):實體是常閉接線 → 正常運轉時訊號 = ON(1) → 條件要在 1 時成立 → 用常開接點 AND

· M1 / M2(正反轉旗標)、T0(計時器):是內部元件 → 平常 = OFF(0) → 要在 0 時才准啟動 → 用反相接點 ANI

如果把停止鈕也寫成 ANI X002:X002 平常就是 1,條件恆為 false,馬達永遠啟動不了
而現場為了讓它動,就會把停止鈕改接成常開——失效安全從此消失。

口訣:實體常閉 → 程式常開;內部旗標 → 程式常閉。

西門子 SCL(同樣的道理:StopOverload 實體常閉,平常是 TRUE,所以直接 AND,不加 NOT):

"Fwd" := ("Fwd_PB" OR "Fwd") AND "Stop" AND "Overload" AND NOT "Rev";
"Rev" := ("Rev_PB" OR "Rev") AND "Stop" AND "Overload" AND NOT "Fwd";

三、只做軟體互鎖,還是會燒——為什麼?

軟體互鎖能保證程式的輸出訊號不會同時為 ON。但它管不到接觸器的物理世界:

結論:軟體互鎖只是第一層,不能單獨依賴。
只要「同時動作」的後果是短路、撞機、人員受傷這類不可逆的損害,就必須加上硬體互鎖。

四、硬體互鎖(機械/電氣互鎖)

做法:把 KM1 的輔助常閉接點串進 KM2 的線圈迴路,反之亦然。

控制電源 L
   │
   ├── [PLC Y000] ── [KM2 輔助常閉] ── (KM1 線圈) ── N
   │
   └── [PLC Y001] ── [KM1 輔助常閉] ── (KM2 線圈) ── N

這樣一來:只要 KM1 實際吸合,它的輔助常閉就會斷開,KM2 的線圈在物理上就拿不到電——不管 PLC 輸出了什麼。反之亦然。

這是純電氣迴路,不經過 PLC,所以 PLC 當機、輸出黏死、程式寫錯,它都還在工作。

更進一步:機械互鎖(Mechanical Interlock)
正反轉專用的接觸器組(如 Mitsubishi S-N 系列、Schneider LC2D)可以加裝機械連鎖配件,兩顆接觸器之間有一根實體連桿——一顆吸合時,另一顆在物理上被卡住,壓根吸不下去。這是最可靠的一層。

正反轉迴路的標準做法是三層都做:軟體互鎖 + 輔助接點電氣互鎖 + 機械連鎖。成本增加不到幾百元,但省下的是整個電盤。

五、還有一個常被忽略的:切換延遲

就算互鎖做好了,正轉直接切反轉還是有問題:馬達還在慣性正轉(可能好幾百 rpm),你立刻給它反相電源,等於強制煞車——瞬間電流可達額定的 5~8 倍,變頻器會過流跳脫,直接啟動的馬達則會有巨大的機械衝擊,長期下來軸承、聯軸器、皮帶都會提早壞。

所以正反轉之間要插一段停機延遲:

; 停機後計時,時間到才允許反向啟動
LDI   M1
ANI   M2
OUT   T0  K20     ; 兩者皆停 → 計時 2.0 秒(FX: 100ms 基準)

; 正轉條件加上「T0 已到」
LD    X000
OR    M1
AND   X002        ; 停止(實體常閉 → 程式常開)
AND   X003        ; 過載(實體常閉 → 程式常開)
ANI   M2          ; 互鎖(內部旗標)
AND   T0          ; ★ 必須停滿 2 秒才能啟動
OUT   M1

; 反轉同理
LD    X001
OR    M2
AND   X002        ; 停止(實體常閉 → 程式常開)
AND   X003        ; 過載(實體常閉 → 程式常開)
ANI   M1          ; 互鎖(內部旗標)
AND   T0          ; ★
OUT   M2
延遲要設多久?
取決於負載慣量,沒有標準答案。小型泵浦、風扇 1~2 秒通常夠;大慣量的攪拌機、離心機可能要 10 秒以上,甚至要等轉速回授確認接近零轉速才准反向。

用變頻器的話,更好的做法是讓變頻器自己減速停止,再由 PLC 讀取「零速到達」訊號後才下反向命令——比盲目等固定秒數精準得多。

六、互鎖不只用在正反轉

閥門連鎖

進料閥與排料閥不能同時開;加壓中不可開洩壓閥。原理完全相同,把對方的狀態 ANI 進來即可。

泵浦交替運轉(環控常用)

兩台泵浦一用一備,不可同時啟動(管路設計不允許),且要平均磨損:

; 液位到達 → 啟動當班泵浦
; M100 = 交替旗標(每次啟動時反轉)
LD    X010        ; 高液位
AND   M100
ANI   M21         ; 互鎖:2號泵運轉中則不啟動1號
OUT   M20         ; 1號泵

LD    X010
ANI   M100
ANI   M20         ; 互鎖:1號泵運轉中則不啟動2號
OUT   M21         ; 2號泵

; 停機瞬間切換當班泵(下次換另一台)
LDF   X010        ; 高液位下降緣
ALTP  M100        ; 交替旗標反轉

這樣兩台泵浦運轉時數自然平均,不會有一台操到報廢、另一台生鏽卡死。

加熱與冷卻

絕不能同時開,否則能源浪費且溫控震盪。除了互鎖,通常還要加溫度死區(dead band)避免頻繁切換。

小結

AI 產生的 PLC 程式,到底能不能信?

我們建了一套 20 題基準測試,題目全部來自真實案場,並且公開了完整結果——包含難看的那幾項: 編譯通過率 80~95%、品牌指令混用 0%、整體全對 55~65%。

還有一個對我們自己不利的發現:AI review 幫得上找出可疑點,但 finding 本身也會誤報、必須經規則層與測試結果校正;它更不能可靠地「修好」程式。

我們把 AI 寫 PLC 的準確率量出來了:20 題基準測試

互鎖條件太多,漏一個就出事?

易歐特的 AI PLC 工具內建「馬達正反轉」「雙泵交替」等標準控制塊,已含軟體互鎖、切換延遲、過載保護與故障記憶,並會在產生的程式中標註哪些條件必須另以硬體迴路實現。

免費試用 AI PLC 工具 →

免費會員每月 15 點 · 不需信用卡 · 產生失敗不扣點

易歐特科技有限公司 · 工業自動化 PLC 程式設計與環控系統整合 · 委託開發請洽 需求提交