← 所有文章

FIELD NOTES / 資料記錄與報表

歷史資料單位變更如何在查詢中保留版本

資料記錄與報表作者:站長預估 5 分鐘閱讀

保留原始單位與生效版本,區分倍率、偏移及物理基準,再統一歷史查詢。

本文目錄

單位不是只改畫面的標籤

壓力原本存bar,改版後存kPa,若只把欄位單位標籤改掉,舊資料一也可能被讀成一千帕,而不是原本的一百千帕。先把數值、原始單位、資料定義版本及生效條件放在一起,查詢時才知道每筆該如何解釋。

本例一bar等於一百kPa。舊紀錄1.2 bar與新紀錄120 kPa代表相同壓力大小;沒有單位版本時,趨勢可能出現一百倍跳升。反過來,真正的壓力變化也不能因剛好在改版日就全部當單位問題。

先辨認變更層級:設備輸出原始值、採集轉換、資料庫工程值或畫面顯示。只改顯示單位,不應讓資料庫再多乘一次;若資料庫儲存單位真的改變,就需要歷史解釋規則。把資料鏈每一層的單位列清楚。

本文適用於可確認物理量與轉換規則的歷史資料。表壓與絕對壓力、實際體積流量與標準狀態流量不是單純換標籤就等價,缺少參考條件時不能用固定倍率硬轉。

每筆資料連到當時有效的定義

單位生效表應檢查同一點位是否有兩個版本同時匹配,或某段時間完全沒有定義。兩種情況都應被標示,不能由查詢碰巧取第一筆決定。跨版本區間的事件總數也要與原始明細對得上。

建立點位定義版本,記錄物理量、原始單位、倍率、偏移、量程及生效範圍。事件保存定義版本最直接;若依時間找版本,生效區間必須無重疊並有明確邊界,且事件時間可靠。不能直接用目前設定解釋全部歷史。

例如版本V1在切換前存bar,V2在切換後存kPa。查詢統一顯示kPa時,V1數值乘一百,V2保持不變,並保留原值與原單位供追查。已轉成標準單位的結果另標轉換版本,避免下游又乘一次。

晚到資料要按事件的定義版本解釋,不按收件日期。若切換後收到昨天的1.2,仍可能是V1的bar,而不是V2的kPa。設備切換、閘道切換與資料庫切換時間不同時,更需要明確版本或來源識別。

同一時刻兩種版本可能短暫並存,這時單靠日期分界不夠。將版本放進資料契約,或按能可靠辨識的來源映射;無法判定的紀錄保留未知單位,不把所有小數猜成bar、所有大數猜成kPa。

完成後選切換前、等於切換點、切換後及晚到舊版四筆資料,逐筆列出原始解釋與標準值。每一筆都應能說明採用哪條規則,而不是只看趨勢曲線是否平滑。

換算前先查量綱與偏移

同量綱的比例單位可用倍率轉換,但溫標常包含偏移。攝氏轉華氏為攝氏乘九除五再加三十二;二十五攝氏等於七十七華氏。若只乘一點八就會少三十二,單看某一點可能不易發現,應測低中高點。

溫度差與絕對溫度的換算又不同。攝氏溫差十度對應華氏溫差十八度,不再加三十二。資料字典要說明欄位是溫度、溫差或警報偏差,不能因都帶度數符號就用同一公式。

壓力比較也要確認參考基準。一百kPa表壓與一百kPa絕對壓力不是同一狀態,轉換需要適當的參考壓力。缺少該資訊時,標成不同物理量或不同基準,不直接放進同一平均。

倍率更新與單位更新可能同時發生。例如原始整數表示十分之一bar,原始12先轉成1.2 bar,再換成120 kPa。若把12直接當bar會得到1200 kPa。保存原始型別、尺度與工程單位,才不會少做或重做某一層。

OPC UA資料存取規範用EngineeringUnits描述工程單位,並對相關語意變更有狀態通知規則。這能提醒客戶重新理解資料,但不會自動替你的歷史庫保存每筆舊單位;仍要有自己的版本紀錄。

先正規化再做統計與呈現

原先已保存的摘要可能使用舊單位與舊換算規則。更新明細查詢不會自動修正所有摘要、下載檔與快取,需盤點受影響產物並按版本重新產生,避免一個畫面同時混用兩套尺度。

兩筆樣本分別為1 bar與200 kPa,統一為kPa後是一百與二百,等權平均一百五十kPa。直接平均原始1與200得到100.5是錯的,因為相加前單位不同。時間加權或其他權重則依原指標定義計算。

查詢結果同時提供標準值、標準單位及原始資料連結,讓日常使用者看一致尺度,工程人員仍可追原值。顯示位數可按用途設定,但計算不應過早四捨五入,避免多筆累積差異。

無法解析的版本、缺少單位或不相容量綱另列數量與品質,不以零補入平均。若一百筆中有十筆無法換算,報表要呈現有效九十筆及未解析十筆,不能只給一個看似完整的平均。

如果發現過去版本定義錯誤,建立更正版本與影響期間,保留原定義及重算理由。歷史報表需要能依當時版本重現,也能查看修正後結果;不要直接改一張對照表讓所有舊報告悄悄變值。

完成後重查警報門檻、圖表軸與匯出單位是否一致。數值已轉kPa但上限仍使用bar的數字,會讓歷史超限統計突然全數異常,這是同一變更鏈需要一併驗證的項目。

練習與常見問題

練習:V1原始值十五,定義為十分之一bar;V2直接存工程值160 kPa。統一後為150與160 kPa,等權平均155 kPa。若把V1原始十五當bar或把V2再乘一百,都會產生錯誤結果,請逐層寫出轉換。

失敗時先查單位版本與尺度,再查接收時間是否誤代事件時間、是否重複轉換,以及物理量基準是否一致。不要只用曲線連續性自動推測倍率,真實製程也可能有跳變。

問:更新目前單位就能修歷史嗎?答:歷史要連回當時或更正後的明確定義版本。

問:所有轉換都只是乘倍率嗎?答:溫標可含偏移,基準或條件不同時還需其他資訊。

問:沒有單位能先猜嗎?答:列待解析並查來源契約,不把猜測混成正式值。

問:統一單位後可以刪原值嗎?答:依保存政策保留足夠來源與版本,讓結果可以覆核。

參考:OPC UA Part 8 Variable Types:EngineeringUnits及資料語意改變的通知規則;本文歷史版本模型為自訂設計。

延伸閱讀