← 所有文章

FIELD NOTES / 維護與故障排查

介面需求中的單位與品質欄位如何轉成驗收項

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

將單位轉換、精度、品質、過期與恢復寫成具體輸入輸出案例,驗證資料一路到報表的語意。

本文目錄

把正確顯示改寫成可觀察條件

需求只寫「顯示正確壓力」,測試人員仍不知道用哪個單位、保留幾位,以及斷線時能不能繼續顯示舊值。先把需求拆成輸入條件、數值轉換、品質行為與預期結果,再逐項驗收。數值正確與資料可信是兩個都要確認的條件。

每個點位先列來源型別、儲存單位、工程單位、倍率與偏移、有效範圍、品質來源、時間語意與更新要求。缺少的定義列待確認,不由測試人員自行猜一個方便通過的值。介面雙方使用同一版字典,才能比較同一件事。

本文適用於PLC、閘道、HMI與報表的介面驗收設計,以OPC UA的工程單位與DataValue概念作參考。不代表所有協定原生帶品質欄,也不指定HMI內建狀態碼。實際映射與型別仍要由來源專案及設備文件確認。

先確認所謂品質指量測或通訊資料可信度,不是產品合格率。一筆超出製程規格的壓力可能仍是可信量測;不能因數值不好看就改成不良品質排除,也不能因產品合格就推定通訊資料新鮮。

把單位需求寫成一組明確例子

教學需求是來源以bar提供壓力,接收端統一顯示kPa,一bar等於一百kPa。輸入零、一點五與十bar,預期顯示零、一百五十與一千kPa。單位標籤與數值一起核對,顯示1.5但標kPa不能算部分正確。

若來源實際提供整數十五、儲存倍率零點一bar,則先得到一點五bar,再轉一百五十kPa。需求要寫出兩段轉換各由哪層負責,避免閘道已轉kPa而HMI再次乘一百。驗收保存來源原值、中間值與最終顯示。

溫度轉換還可能有偏移。二十五攝氏度對應七十七華氏度,不能只乘倍率;溫差十攝氏度對應十八華氏度,則不加三十二。驗收先分清絕對溫度與溫差,單位文字相似不代表公式相同。

預期精度依需求訂定。例如本例畫面顯示一位小數,測試應按約定捨入模式比較顯示值;來源量測精度、數值運算容差與顯示位數分別列出。不能用多顯示兩位來宣稱感測器更準,也不能任意放大容差掩蓋倍率錯誤。

完成後每個驗收項包含原始輸入、品質、預期工程值、單位與允許差異。遇到不支援或缺少單位的來源,應依契約拒絕、標未知或使用受控映射,不自動猜測所有壓力都是bar。

讓品質狀態有自己的預期結果

建立品質良好、不確定、不良、未初始化與過期等情境,名稱依實際產品契約對應。OPC UA的狀態與時間有正式語意,轉到其他協定或畫面時保存原始品質與映射結果,不把所有非良好狀態都壓成沒有原因的一個零。

教學策略規定不良品質時保留最後值但明示不可作當前有效值,並顯示最後確認時間。這只是示例策略,若現場要求隱藏值則按需求驗收。重點是錯誤期間不應把舊值標良好,也不應用零值假裝新量測。

測一個合法零值且品質良好的情境,確認畫面顯示零並保持有效;再測相同數字零但品質不良,應顯示不同狀態。這能找出程式是否把零當未初始化,或只看數值而完全忽略品質欄。

過期判斷必須有可用的確認時間或心跳依據。值只在變化時更新的來源,事件時間久不一定過期;先定義何種證據代表採集仍正常。時間未知或時鐘不可信時,應呈現相應限制,不能硬算一個零秒年齡。

品質恢復也要測。連線重新建立後,若仍只有舊快取,按契約保持待確認;取得新有效資料後再轉良好。若只靠連線旗標清掉所有品質異常,驗收應能用恢復案例發現這個缺口。

把資料保存與衍生計算納入驗收

同一點從畫面匯出到CSV或寫入歷史庫後,單位與品質不能消失。測試讀回原始值、工程值、品質及時間,確認下游仍能分辨無效資料。只在畫面用紅色提示,匯出卻只剩數字,不能算端到端品質需求已滿足。

平均與總量等衍生結果也要定義品質政策。若五筆中一筆不良,平均是否排除、有效數是多少、結果如何標示,先寫清楚。不要在上游保留品質,到了統計層又把所有值混算,讓無效資料重新變成正式指標。

失敗時依序查來源定義、傳輸型別、倍率、單位映射、品質映射與畫面格式。若數字正確但標籤錯,查元資料版本;若只有恢復後錯,查快取與就緒;若匯出失去品質,查資料欄位而不是只改畫面顏色。

驗收矩陣一列只驗證明確條件,保存需求識別、案例、輸入、預期、實際與證據。正常值通過不代表不良品質也通過;沒有可注入的品質情境就列未測,不能以「現場目前都正常」作為異常處理的驗收證據。

版本變更後重新核對單位字典與品質對照,特別是新增未知狀態碼時的處理。接收端不認識某個狀態,不應預設為良好;測試應看到明確的未知或拒絕結果,以及可追查的原始狀態。

練習與常見問題

練習:來源整數二百五十三代表十分之一攝氏度,品質良好時應顯示二十五點三。接著維持相同數字但改為不良品質,依示例策略保留數字、標示無效並保留最後確認時間;不能重新寫成良好二十五點三。

再把來源單位由bar改成kPa但不改數值,測試應發現語意不一致或依新版定義轉換。變更單位就是介面語意變更,需要版本與驗收,不是只換一個畫面標籤即可完成。

問:有單位文字就足夠嗎?答:要同時核對原值、倍率、轉換位置與最終數值。

問:品質不良時直接顯示零最簡單嗎?答:會與真實零混淆,應按明確策略標示無效。

問:通訊恢復就能立即標良好嗎?答:需有符合契約的新有效資料或確認證據。

問:畫面通過就代表歷史報表通過嗎?答:下游保存與衍生計算也要驗證單位和品質。

參考:OPC UA Part 8 Variable Types:工程單位與範圍模型。

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

延伸閱讀