PLC 故障排除:設備突然不動了,系統化找出問題的方法
設備停了,產線在等,老闆在旁邊看。這種時候最糟的做法是憑感覺亂猜——「應該是感測器壞了吧」「會不會是程式的問題」。換了一堆零件,問題還在。
故障排除是有方法的。跟著訊號走,不要跟著感覺走。
零、動手前先問三個問題
這三個問題能省下你一半的時間:
1. 它以前正常嗎?
· 一直都不正常 → 設計或安裝問題(新機台試車最常見)
· 以前正常,現在不正常 → 有東西變了,往下問
2. 什麼時候開始的?那時候發生了什麼事?
停電過?下大雨?有人來保養過?換過零件?改過程式?八成的「突然壞掉」背後都有一個「昨天有人動過」。
3. 是完全不動,還是偶爾出錯?
· 完全不動 → 好查,訊號一定斷在某一點
· 間歇性 → 難查很多,通常是接觸不良、雜訊、或時序問題(見後文)
1. 它以前正常嗎?
· 一直都不正常 → 設計或安裝問題(新機台試車最常見)
· 以前正常,現在不正常 → 有東西變了,往下問
2. 什麼時候開始的?那時候發生了什麼事?
停電過?下大雨?有人來保養過?換過零件?改過程式?八成的「突然壞掉」背後都有一個「昨天有人動過」。
3. 是完全不動,還是偶爾出錯?
· 完全不動 → 好查,訊號一定斷在某一點
· 間歇性 → 難查很多,通常是接觸不良、雜訊、或時序問題(見後文)
一、先分清楚:硬體問題還是程式問題?
這是最關鍵的分岔點,而且判斷方法很簡單。
用 PLC 的 I/O 指示燈
每個輸入輸出點在模組上都有一顆 LED:
按下啟動按鈕 → 看 X000 的 LED
LED 亮了 → 訊號有進到 PLC → 按鈕、配線都 OK → 問題在程式或後段
LED 不亮 → 訊號沒進來 → 問題在 PLC 之前:
按鈕壞了?線斷了?端子鬆了?
感測器沒電?24V 電源掉了?
這一顆 LED,就把問題切成兩半了。
先看燈,再決定要拿三用電表還是打開程式。很多人一遇到故障就先開電腦連線,其實走到機台前看一眼指示燈更快。
先看燈,再決定要拿三用電表還是打開程式。很多人一遇到故障就先開電腦連線,其實走到機台前看一眼指示燈更快。
輸出端同理
Y000 的 LED 亮了,但馬達不轉
→ PLC 已經下命令了,問題在 PLC 之後:
接觸器線圈燒了?保險絲斷了?過載跳脫?
馬達本身壞了?變頻器報警?
Y000 的 LED 不亮,馬達當然不轉
→ PLC 沒下命令 → 問題在程式邏輯或輸入條件
二、線上監看:讓程式告訴你哪裡卡住
確定是程式邏輯問題後,連線進 PLC 開線上監看模式(三菱 GX Works 的監看、西門子 TIA 的監控)。導通的接點會反白顯示。
然後做一件事:從輸出往回追。
Y000 沒有動作
↓ 看 Y000 那一階,哪個條件沒成立?
↓
|--[ M0 ]--[/M_Fault ]--[ T5 ]-----( Y000 )--|
✓ ✓ ✗
└─ T5 沒到!計時器沒在跑
↓ 為什麼 T5 沒在跑?看 T5 的驅動條件
↓
|--[ M20 ]--[ X010 ]------------( T5 K30 )--|
✓ ✗
└─ X010 沒有 ON!
↓ X010 是什麼?→ 液位開關
↓ 去現場看 X010 的 LED → 不亮 → 硬體問題
↓ 量測 → 液位開關的線鬆了
找到了。20 分鐘,沒換任何零件。
「從結果往回追原因」永遠比「從頭猜」快。
這個方法有個好處:每一步都是事實(接點通不通,螢幕上看得到),不是推測。你不會走冤枉路。
這個方法有個好處:每一步都是事實(接點通不通,螢幕上看得到),不是推測。你不會走冤枉路。
三、間歇性故障——最難的那一種
「大部分時候正常,偶爾會停一次」——這種最折磨人,因為你去看的時候它是好的。
| 可能原因 | 徵兆 | 怎麼查 |
|---|---|---|
| 接觸不良 | 震動時發生、天氣熱時發生 | 設備運轉中輕敲端子台/接頭,看訊號會不會跳 |
| 電氣雜訊 | 變頻器啟動的瞬間發生 | 訊號線是否與動力線同管?屏蔽層有沒有接地? |
| 訊號抖動 | 在臨界點附近發生 | 加防抖或遲滯(見計時器教學) |
| 時序 / 競爭條件 | 快速操作時發生,慢慢操作就正常 | 檢查掃描順序、雙線圈、上升緣處理 |
| 電源不穩 | 多台設備同時啟動時發生 | 量 24V 電源在負載尖峰時會不會掉壓 |
對付間歇性故障的唯一有效武器:記錄
人不可能一直守在那裡。在程式裡加事件記錄:每次異常發生時,把當下的關鍵狀態(哪些條件成立、當時的液位/溫度/電流值、時間戳)寫進暫存器或送到 HMI 的歷史記錄。
抓到三次,規律就出來了——「都發生在早上八點」(那是隔壁大馬達啟動的時間)、「都發生在下雨天」(接線盒進水了)。
這是最能區分老手與新手的一件事:新手守在機台前等它壞,老手讓機台自己說它是怎麼壞的。
人不可能一直守在那裡。在程式裡加事件記錄:每次異常發生時,把當下的關鍵狀態(哪些條件成立、當時的液位/溫度/電流值、時間戳)寫進暫存器或送到 HMI 的歷史記錄。
抓到三次,規律就出來了——「都發生在早上八點」(那是隔壁大馬達啟動的時間)、「都發生在下雨天」(接線盒進水了)。
這是最能區分老手與新手的一件事:新手守在機台前等它壞,老手讓機台自己說它是怎麼壞的。
四、幾個常見狀況的直接對策
輸出 LED 亮了,但設備不動
PLC 沒問題。依序查:接觸器線圈有沒有吸合(聽聲音、看指示)→ 保險絲 → 過載電驛有沒有跳 → 馬達本身。不要先懷疑程式。
輸出 LED 不亮,但程式上那一階明明是通的
三種可能:
- 雙線圈——同一個 Y 在程式別的地方又被寫了一次,後面那個把它蓋掉了。用「元件搜尋」找出所有
OUT Y000,應該只有一個。 - 輸出模組壞了——用強制輸出(Force)測試:強制 Y000 為 ON,LED 還是不亮 → 模組壞了。
- 程式沒在跑——PLC 在 STOP 模式?看 RUN 燈。
強制輸出(Force)非常好用,但也非常危險
它會繞過所有程式邏輯,包括互鎖和安全條件,直接讓輸出動作。你強制正轉的同時,反轉的互鎖不會保護你。
使用前必做: 確認機械範圍內沒有人、確認被強制的輸出不會造成碰撞或短路、用完立刻解除。
現場流傳過太多「強制忘了解除,隔天開機直接撞機」的故事。有些公司規定強制操作必須兩人在場,不是官僚,是有代價換來的。
它會繞過所有程式邏輯,包括互鎖和安全條件,直接讓輸出動作。你強制正轉的同時,反轉的互鎖不會保護你。
使用前必做: 確認機械範圍內沒有人、確認被強制的輸出不會造成碰撞或短路、用完立刻解除。
現場流傳過太多「強制忘了解除,隔天開機直接撞機」的故事。有些公司規定強制操作必須兩人在場,不是官僚,是有代價換來的。
通訊中斷(讀不到變頻器 / 感測器)
依序查:
- 站號(Slave ID)有沒有重複?兩台設定成同一個站號,兩台都會怪怪的
- 鮑率、資料位元、同位元、停止位元(如 9600-8-N-1)兩邊有沒有一致?
- RS-485 的 A/B 兩線有沒有接反?(接反不會燒,但完全不通)
- 終端電阻(120Ω)有沒有裝?線長時沒裝會反射造成間歇性錯誤
- 詳見:PLC 通訊協定完整比較
五、預防勝於搶修
真正省錢的不是排除故障的速度,是讓故障不要發生、或發生時能自己講話:
- 程式加註解。 三年後回來看,或交接給別人,註解就是你的救命繩。這是投報率最高的十分鐘。
- 備份程式,而且要有版本。 「改了什麼導致壞掉」——沒有備份你永遠不會知道。至少每次改完存一份,檔名加日期。
- 做完整的故障記錄與告警。 每個保護動作都要有對應的告警訊息與時間戳,不要只是「設備停了」。
- 關鍵訊號留監看點。 在程式裡把重要的中間狀態拉到 HMI 或預留的 M 區,現場人員不用連電腦就能看到卡在哪。
小結
- 先問「以前正常嗎、什麼時候開始、是全壞還是偶爾壞」
- 看 I/O 指示燈——一顆 LED 就把硬體與程式問題切開
- 線上監看,從輸出往回追,每一步都是事實不是猜測
- 間歇性故障靠記錄,不要靠守株待兔
- 強制輸出會繞過所有安全互鎖——用完立刻解除
- 註解、備份、告警記錄——這三件事會在未來救你
AI 產生的 PLC 程式,到底能不能信?
我們建了一套 20 題基準測試,題目全部來自真實案場,並且公開了完整結果——包含難看的那幾項: 編譯通過率 80~95%、品牌指令混用 0%、整體全對 55~65%。
還有一個對我們自己不利的發現:AI review 幫得上找出可疑點,但 finding 本身也會誤報、必須經規則層與測試結果校正;它更不能可靠地「修好」程式。
→ 我們把 AI 寫 PLC 的準確率量出來了:20 題基準測試
我們建了一套 20 題基準測試,題目全部來自真實案場,並且公開了完整結果——包含難看的那幾項: 編譯通過率 80~95%、品牌指令混用 0%、整體全對 55~65%。
還有一個對我們自己不利的發現:AI review 幫得上找出可疑點,但 finding 本身也會誤報、必須經規則層與測試結果校正;它更不能可靠地「修好」程式。
→ 我們把 AI 寫 PLC 的準確率量出來了:20 題基準測試
接手別人的程式,看不懂?
把既有的階梯圖或 ST 貼進來,AI 的「程式解讀」模式會逐段用白話說明每一階在做什麼、有哪些互鎖條件、可能的風險點。接手舊機台、盤點老程式時特別有用。
免費試用程式解讀 →現場問題排不掉?也可以委託易歐特工程團隊
易歐特科技有限公司 · 工業自動化 PLC 程式設計與環控系統整合 · 委託開發