先把4–20 mA當成可驗證的線性輸入
4–20 mA的核心不是把數字直接當成工程值,而是先確認發送器的量程、接線方式與輸入模組的量測定義。若發送器宣告0–100 °C對應4–20 mA,線性換算是E=0+(I−4)/(20−4)×100;12 mA時比例為8/16=0.5,所以工程值是50 °C。這個公式只描述訊號與量程的關係,不能證明線路、供電或模組已正常。
開始時先抄下銘牌的下限、上限、單位、兩線或四線接法,再查輸入模組手冊的端子極性、負載要求與診斷碼。不要用另一台模組的原始碼比例套用;即使兩者都標4–20 mA,原始數值、解析度、超量程門檻也可能不同。現場記錄應同時保留I、raw、工程值、quality與取樣時間,讓後續能分辨換算錯誤和電氣故障。
以下表格的raw只是明示配置的示例:假設某輸入模組把4–20 mA映射為8000–32000 counts。真正使用時要以該模組資料表替換,不能把8000與32000視為通用PLC規格。先用校驗器或合格電流源提供三個點,觀察模組讀值,再把讀值代入同一條公式。
驗收時要求4 mA、12 mA、20 mA依序得到0、50、100 °C,並保存實際電流與raw。若12 mA得到約50 °C而4 mA不在零點,先查零點、接線與量程設定;若三點呈比例偏差,再查量程端點或校準係數。不要先改程式中的斜率來掩蓋接線問題。
| 電流 | 示例raw(僅此模組配置) | 比例 | 工程值 |
|---|---|---|---|
| 4 mA | 8000 | 0 | 0 °C |
| 12 mA | 20000 | 0.5 | 50 °C |
| 20 mA | 32000 | 1 | 100 °C |
用三點測試拆開零點 斜率與線路問題
實作時先讓迴路穩定,再以低、中、高三點輸入,不要只測12 mA。低點確認零點,高點確認滿量程,中點用來檢查線性。假設實測為4.10、12.00與19.90 mA,若發送器端與模組端讀值相同,可能是校驗器精度或量程誤差;同一未分支串聯迴路的電流應相同;若不同位置量測有差異,先查量測時序、儀表接法、漏電或旁路。線阻增加主要消耗電壓餘量,不應解釋成電流沿線逐漸變小。
用公式計算時保留原始電流,不要先把4 mA以下夾成0或把20 mA以上夾成100。夾值會消失診斷線索。較穩妥的流程是先產生raw與未限制的scaled,再依品質狀態決定是否提供給控制或畫面;控制端若只接受有效工程值,應依已核准失效策略停用該資料或處理,lastGood只供明確標記的歷史顯示,不能默默當成零。
例如0–16 bar發送器在12 mA時應為8 bar。若讀到11.6 mA,比例是7.6/16=0.475,工程值為7.6 bar;若把電流四捨五入到12 mA後才換算,便會假造8 bar。數值保留位數要在規格中固定,顯示四捨五入不應改變內部判斷。
失敗先查的順序是:確認發送器模式與量程、量發送器端電流、量模組端電流、核對模組通道模式、最後才查換算。兩線迴路還要計算負載與供電,因為通訊器、隔離器或安全柵增加的壓降可能讓高端電流到不了20 mA。
| 測試點 | 應有電流 | 0–16 bar結果 | 排查意義 |
|---|---|---|---|
| 低點 | 4.00 mA | 0 bar | 檢查零點與斷線 |
| 中點 | 12.00 mA | 8 bar | 檢查斜率 |
| 高點 | 20.00 mA | 16 bar | 檢查供電餘量與滿量程 |
把開路與超量程當成品質事件
4–20 mA的好處之一是0 mA通常不是有效測量值,但實際故障門檻仍由發送器與接收模組決定。某些產品依NAMUR NE43使用低於或等於3.6 mA、等於或高於21 mA作為故障訊號;這是採用該配置時的判定,不是所有模組的固定門檻。若設備手冊沒有宣告NE43,程式不可自行把3.6 mA寫成通用故障。
也要分辨超出正常量程和故障區。20.5 mA可能是正常量程邊界外的警示,也可能只是該裝置允許的短暫過衝;21 mA在NE43配置下才可能是診斷值。品質流程應保存原始電流與設備診斷位,將UnderRange、OverRange、OpenCircuit、DeviceFault等名稱對應到實際手冊,而非只看工程值是否小於零。
案例中,發送器正常值為12 mA,在隔離測試替身中模擬開路得到0mA,再另用校驗器注入22mA。若該模組資料表把0 mA報OpenCircuit、22 mA報Overrange,應先把quality設為Bad並保留raw,不能把0 mA換算成負25 °C,也不能把22 mA夾成100 °C後繼續控制。重新恢復到12 mA並通過穩定時間後,才把quality轉回Good。
警報去抖也要有證據。若手冊未規定濾波時間,可自訂連續三次、每次100 ms都在故障區才建立診斷,並在畫面顯示這是應用層策略;不能宣稱它等於模組硬體診斷。恢復時同樣要求連續有效樣本,避免端子接觸瞬斷造成警報反覆。
| 實測電流 | 假設採用NE43的解讀 | quality建議 | 動作 |
|---|---|---|---|
| 0.0 mA | 可能OpenCircuit | Bad | 停用新工程值,保留lastGood |
| 3.5 mA | 若採本例NE43低故障配置 | 依手冊 | 不可自行當正常低值 |
| 12.0 mA | 正常範圍 | Good | 可換算 |
| 21.5 mA | 可能故障/超量程 | 依手冊 | 保存raw並查診斷 |
五 驗收 排查與限制
交付前建立一張通道驗收表,欄位包含通道名稱、發送器量程、接線、模組型號與版本、原始碼範圍、故障門檻、換算公式、品質轉換與測試日期。每次測試都把電流源設定值、儀表讀值、模組raw、工程值與quality放在同一列,日後才可以重算。
驗收還要測邊界附近的3.59、3.60、3.80、20.50、21.00與21.01 mA,但只有在設備手冊或專案規格採用這些界線時才判定。測到邊界時不要用浮點相等比較;先定義小數位與允許誤差,再寫成範圍。測試結果若落在未定義的灰區,狀態應為Uncertain或ConfigurationError,而不是硬套Good。
常見失敗包括把電壓輸入當電流輸入、把主動輸出接到需要回路供電的被動端、將兩線回路負端接錯,以及把另一通道的raw比例複製過來。排查時先看型號和接線圖,再看端子電壓與電流,最後才比較程式。不可只靠畫面上看似合理的數字宣稱現場完成。
這篇方法可用於一般類比量測與資料記錄,不代表任何特定Q系列模組支援相同診斷碼,也不替代機台安全迴路。若工程值要驅動停機或保護,必須由負責工程師依模組手冊、設備風險與獨立保護設計驗證;本文的quality判斷只是資料完整性策略。
工程師可用一張狀態表把數值生命週期寫清楚:Good時更新raw、filtered、engineering與lastGood;Uncertain時只更新raw和時間;Bad時保存raw與診斷,目前engineering標無效,上一個有效值另存lastGood並增加age。這樣畫面即使顯示舊值,也不會把它誤當成新量測。
驗收完成後再做一次重啟測試。重啟不應把尚未確認的故障清成Good,也不應因暫存清空而把故障值變成零。啟動時先標記Initializing,等通道設定、診斷與第一個合格樣本都完成,才允許轉為Good。
FAQ與官方來源
FAQ:4 mA為什麼不是故障? 4 mA是4–20 mA量程的正常零點,讓接收端有機會把正常零值與斷線分開;實際斷線判定仍要看發送器與模組手冊。
FAQ:可以把21 mA一律判故障嗎? 只有通道配置明確採用相應診斷規範與門檻時才可,否則21 mA可能只是該設備允許的過量測量。
FAQ:讀值跳動時先查什麼? 先保存原始電流與時間,再查供電、回路電阻、端子、屏蔽、通道模式與模組診斷,不要先改斜率。
FAQ:故障時應把工程值寫成零嗎? 不要用零覆蓋故障線索;可保留lastGood供顯示,但必須帶Bad品質與age,控制用途另依工程規格處理。
參考:Beckhoff NAMUR基本說明:量測區與故障資訊區;具體裝置仍須核對配置。