← 所有文章

FIELD NOTES / 維護與故障排查

韌體更新後如何做通訊與資料格式回歸測試

維護與故障排查作者:站長預估 5 分鐘閱讀

保存更新前介面基準,以相同案例檢查資料型別、寫入、品質與恢復,清楚分類新版差異。

本文目錄

更新完成只是回歸測試的起點

設備重新開機、版本號改了、連線燈亮了,只能證明部分更新流程完成。原本可讀的欄位、寫入行為與異常回覆仍可能改變。先保存更新前基準,再用相同輸入檢查更新後的資料與行為,才知道既有整合是否受到影響。

先確認設備完整型號、硬體版本、目前韌體、目標韌體與官方更新路徑。不同系列或硬體修訂不一定能共用韌體,更新檔與工具以製造商文件為準。本文不提供Q06UDVCPU或QJ71C24N的更新操作,也不推定特定型號支援使用者自行更新。

準備現行專案、參數、映射、帳號權限與必要憑證的受控備份,另確認能否回復及其限制。韌體可降版不代表更新後的資料結構、專案格式或安全設定都能原樣退回;回復方案要依官方支援與實際演練建立。

本文適用於隔離測試或核准維護中的通訊回歸規劃。NIST OT指引建議在適當測試環境先驗證更新及營運影響;本文的案例是工程測試設計,實際設備更新、編譯與硬體驗證依受控變更程序執行。

把更新前的接口保存成可比較基準

列出正式使用的協定、連線參數、站號、位址、功能、資料長度、型別、字序、倍率與品質。只保存一張通訊設定畫面不夠,還要有讀取值、寫入回讀與異常處理的實際基準,才能比較更新後是否仍符合介面契約。

選代表性點位:十六位有號整數、無號整數、跨字資料、字串、位元與工程值。測零、正常值與必要邊界,並保存原始回應與解碼結果。每種型別選擇依設備允許的測試區,不向未知正式位址寫入圖樣。

教學案例某值以十分之一度整數保存,更新前讀二百五十三、顯示二十五點三。更新後先核對原始資料仍為二百五十三,再核對型別與倍率;若直接變成浮點二十五點三,可能是映射或語意變更,不能因畫面數字相同就略過。

另保存固定字串含中文、空字串與長度邊界,確認編碼、終止方式及截斷處理。數字點正確不代表文字欄正確;韌體可能改變資料格式或支援範圍,必須依發布說明與實際回應判定是否預期變更。

完成基準後建立檔案清冊與版本識別,讓更新後測試使用同一份案例。若測試輸入或客戶程式也同時改版,另分組記錄,避免把多個變更混成一個差異而無法找出原因。

依讀取 寫入與恢復三條線測

讀取回歸先確認連線與識別,再核對值、品質、時間與更新頻率。OPC UA等介面若提供來源時間與伺服器時間,依其語意比較;不能只要求字面時間完全相同,因為測試執行時刻本來不同,但時間來源與精度應符合契約。

寫入回歸使用隔離測試點,核對合法值接受、非法值拒絕、只讀點保護與獨立來源回讀。通訊成功回覆與PLC業務採用分開記錄。若更新後權限更嚴格而拒絕原請求,先查正式變更說明,不直接關閉驗證讓測試變綠。

恢復回歸測斷線、重新連線、設備重啟與客戶重啟。確認未初始化資料不被當良好、舊完成狀態不被沿用、待送項目不重複執行。韌體更新可能改變啟動時間,應重新量測就緒條件而不只沿用舊的固定延遲。

錯誤回歸包含不支援請求、錯位址與超範圍資料,限於已確認安全的測試環境。比較回覆碼、逾時與連線是否保持,並確認客戶能正確處理。錯誤碼變化可能符合新版文件,但仍可能需要更新客戶相容處理。

效能回歸使用相同負載與觀測窗口,比較延遲分布、逾時、吞吐與資源占用。一次最快回覆不能代表整體改善;平均相近也可能掩蓋少數很慢的請求。先訂接受條件,再看結果,不事後改門檻以符合新版。

把差異分類並保留工程判定

差異分為預期且相容、預期但需客戶調整、非預期退化與尚未確認。發布說明寫有改變,不表示現場就能接受;仍要看原介面需求與影響功能。反之,封包有不同但工程結果不變,也不能不分析就直接判整合失敗。

失敗時先核對參數是否被還原成預設、映射是否載入、客戶驅動版本是否支援,再查原始回應。若每個數值都倍率錯,查共同轉換設定;若只有特定型別錯,查寬度、字序或編碼;若只在重啟後錯,查初始化與持久參數。

同一案例保留更新前後輸入、原始回應、解析值、時間與版本。必要時在隔離環境重現,避免直接在正式設備反覆升降版找答案。若回復需要重建設定或停機,按已核准方案執行,不能因測試失敗臨時猜步驟。

交付結果逐項列通過、失敗、未測與不適用。未使用的協定功能可列不適用,已使用但無法測的功能應列未測。只有已完成的案例能支撐結論,不能把「主要畫面看起來正常」寫成全部通訊功能驗證通過。

練習與常見問題

練習:更新前後讀取253皆正常,但更新後斷線恢復時先回傳舊值且品質仍良好。讀取正常案例可通過,恢復品質案例應失敗或待調查;不能用正常值正確掩蓋異常期間的資料可信度問題。

另有更新後寫入被拒絕、官方說明新增權限要求的情況,先驗證需求與授權設定,更新相容矩陣與測試證據。這是預期變更仍需整合處理的例子,不應簡化為設備壞了或隨意放寬權限。

問:版本號正確就代表更新驗收完成嗎?答:還需核對使用中的介面、恢復與資料語意。

問:全部重新設定成舊值就一定相容嗎?答:韌體行為可能改變,仍要實際回歸。

問:有備份就一定能降版嗎?答:要核對官方路徑、硬體限制與資料格式相容性。

問:未測項可以用舊版結果代替嗎?答:不能,新版尚缺的證據必須明列。

參考:NIST SP 800-82 Rev.3:OT更新的測試、營運影響與回復規劃。

參考:OPC UA Part 4 DataValue:品質與時間欄位的定義。

延伸閱讀