數位壓力錶接入數位孿生完整指南:以 AT-803 建虛擬世界、做預測、打造儀表板與戰情室
從感測、邊緣、孿生平台到 Grafana、Power BI 儀表板:智慧建築、製造產線、風力發電、航太維修、半導體、醫療六大場景,Siemens、Dassault、Ansys、Azure 平台怎麼選,以及客戶自行串接的範例程式,一次講清楚。
數位壓力錶不只是把指針換成數字。當工廠、大樓、風場或醫院開始建置數位孿生(Digital Twin),每一支數位壓力錶都成為虛擬世界的「感覺神經」:濾網有沒有堵、泵浦有沒有衰退、房間的正負壓是否守住、管網是否在漏,全都先反映在壓力與壓差上。本文以昶特 AT-803 高精度數位壓力錶(目錄型號 AT803-D,官方公開精度 ±0.02%F.S.)為核心,說明如何讓壓力資料可信地進入孿生、驅動預測,最後在儀表板與戰情室裡變成看得懂、派得出工的決策。
前言:數位孿生的第一塊地基,是一支「說真話」的數位壓力錶
談到數位孿生,多數人腦中浮現的是三維模型、會動的管線動畫、牆面大螢幕上的即時 KPI,以及「AI 預測什麼時候會壞」。這些畫面都對,但它們全部建立在同一個前提上:虛擬世界裡的數字,必須真實反映現場。只要底層感測資料有偏差,模型越精密,錯得越有自信;戰情室畫面越漂亮,誤導的範圍越大。
數位孿生的定義其實不複雜:它是實體資產在數位世界的對應體,透過持續的資料同步,讓我們能監看現況、模擬「如果這樣調整會怎樣」、預測未來狀態,並把決策回饋到現場。它和一般 3D 展示模型最大的差別,在於「持續同步」與「可以拿來做決策」。而同步的來源,就是散布在現場的感測器——其中,壓力與壓差是流體系統裡資訊量最高的物理量之一。
為什麼壓力是孿生最重要的訊號之一
水、空氣、蒸汽、冷媒、液壓油、製程氣體、潔淨室的空氣,本質上都是流體。流體系統的健康狀態,幾乎都會先寫在壓力上:濾網開始堵塞,前後壓差會一天一天上升;泵浦葉輪磨耗,同樣流量下的揚程會下滑;管網出現微漏,停機保壓時壓力會緩慢下降;潔淨室或手術室的門關不密,房間壓差會被拉低。換句話說,一支擺在正確位置、讀值可信的數位壓力錶,就是孿生模型判斷「系統現在好不好」最直接的證據。
這也是為什麼在智慧建築、製造產線、風力發電、航太維修、半導體與醫療院所,孿生專案的第一階段幾乎都會回到同一份清單:哪些點位要量壓力?量程多大?要多準?訊號怎麼送出來?多久校一次?
孿生專案最常被忽略的風險:感測器漂移
任何感測器都會隨時間、溫度循環與壓力循環慢慢漂移。漂移本身並不可怕,可怕的是孿生系統分不出「是現場真的變了,還是感測器變了」。舉例來說,一支微差壓傳送器的零點每個月慢慢偏移,孿生模型看到的是「房間壓差持續上升」或「濾網提早老化」,於是預測模型提前發出更換工單;更糟的情況是漂移方向剛好抵銷真實變化,讓真正的異常被掩蓋。久而久之,現場人員發現「戰情室常常亂叫」,整套系統就失去信任。
解法不是買更多感測器,而是在系統裡放進量測真值錨點:用精度等級明顯更高、並可追溯校正的標準級儀錶,定期比對線上感測器,把誤差、修正係數與不確定度寫回孿生的感測器模型。如此一來,孿生不只知道「讀值是多少」,還知道「這個讀值可以信到什麼程度」。
AT-803 在本文中的定位
昶特 ATLANTIS 的 AT-803 高精度數位壓力錶(產品目錄型號 AT803-D,高精度數位差壓錶)官方公開精度可達 ±0.02%F.S.,定位為現場與實驗室壓力量測、校準等高精度微壓量測的標準級儀錶。在數位孿生架構裡,它最大的價值不是「多一個點位」,而是成為整個壓力資料鏈的參考基準:校準潔淨室、手術室、空調風管、排氣系統等微壓點位的線上傳送器,量化每個點位的不確定度,並協助孿生分辨感測器漂移與真實製程變化。
本文會帶你完成五件事
- 搞懂數位孿生、虛擬世界、預測、儀表板與戰情室五個名詞,以及從感測到決策的五層架構。
- 理解 AT-803 等數位壓力錶在孿生中的三種角色:線上節點、巡檢節點、真值錨點。
- 依需求比較 Siemens、Dassault、Ansys、Microsoft Azure 等孿生平台,以及 Power BI、Grafana、Fabrico、FactoryStudio 等儀表板工具。
- 逐一拆解智慧建築、製造產線、風力發電、航太維修、半導體、醫療六大場景的壓力點位與預測方法。
- 取得六段可直接修改使用的串接範例程式,以及導入路線圖與 ROI 試算工具。
服務範圍說明
昶特 ATLANTIS 提供數位壓力錶、壓力/差壓傳送器、校正級儀錶,以及選型、規格與校正相關諮詢。昶特不提供 IoT、AWS、Azure 等雲端或數位孿生平台的串接與建置服務;資料串接、平台建置與儀表板開發需由客戶或其系統整合商自行完成。本文第 8 章的範例程式即為協助客戶自行串接而提供。
第 1 章 數位孿生、虛擬世界、預測、儀表板、戰情室:先把五個名詞講清楚
許多專案在第一次會議就卡住,原因不是技術,而是每個人口中的「數位孿生」指的東西不一樣:設備部門想的是 3D 模型,資訊部門想的是雲端平台,廠務想的是即時警報,主管想的是一面可以開會的大螢幕。把名詞先對齊,後面的規格、預算與分工才談得下去。
1.1 五個名詞對照表
表 1-1 數位孿生相關名詞與數位壓力錶的關係
| 名詞 | 一句話定義 | 和數位壓力錶的關係 | 常見誤解 |
|---|---|---|---|
| 數位影子(Digital Shadow) | 實體資產的資料單向同步到數位世界,只看、不回饋 | 壓力讀值即時寫進模型或資料庫 | 以為「有即時資料」就等於孿生 |
| 數位孿生(Digital Twin) | 可同步、可模擬、可預測,並能把決策回饋現場的數位對應體 | 壓力與壓差是狀態估計、異常偵測與預測的核心輸入 | 以為一定要 3D 才算孿生 |
| 虛擬世界/虛擬孿生(Virtual Twin) | 以 3D 模型與模擬建構的可視化環境,讓人「走進」系統 | 壓力點位以標籤形式掛在 3D 管線、房間與設備上 | 以為畫面逼真就代表數字準確 |
| 預測(Prediction/Prognostics) | 用歷史趨勢、物理模型或機器學習推估未來狀態與剩餘壽命 | 壓差趨勢外推濾網更換日、泵浦衰退、管網洩漏 | 以為一定要深度學習才叫預測 |
| 儀表板(Dashboard) | 把 KPI、趨勢與警報視覺化的畫面 | 呈現壓力、壓差、警報與資料品質 | 以為圖表越多越專業 |
| 戰情室(Operations Center/War Room) | 人、流程與畫面結合的決策與派工中心 | 依壓力異常判斷、派工、追蹤處置與事後檢討 | 以為買了大螢幕就是戰情室 |
從表中可以看出,五個名詞其實是一條由下而上的價值鏈:資料同步(影子)→ 狀態理解與模擬(孿生、虛擬世界)→ 未來推估(預測)→ 呈現(儀表板)→ 行動(戰情室)。任何一環斷掉,前面的投資都很難回收。數位壓力錶位在鏈條最底端,決定了整條鏈的資料品質上限。
1.2 從感測到戰情室的五層架構
為了讓不同部門用同一張圖溝通,我們把系統拆成五層。每一層的職責、常見技術與負責單位都不同,下圖同時標示了昶特 ATLANTIS 的供應範圍:
圖 1-1 數位壓力錶接入數位孿生的五層架構與分工(昶特供應 L1 量測層;L2~L5 由客戶或系統整合商建置)
這張圖有兩個重點。第一,數位孿生不取代控制系統:安全連鎖、泵浦啟停與 PID 迴路仍應留在 PLC、DCS 或安全儀錶系統(SIS),孿生負責監看、分析與建議,不應成為唯一的保護層。第二,L1 的資料品質無法在上層「補救」——再好的演算法也只能放大或平滑誤差,無法把錯的讀值變成對的。
1.3 時間尺度:不同決策要在不同層完成
同一支壓力感測器的資料,會被不同時間尺度的決策使用。把「多快要反應」與「在哪一層執行」對齊,可以避免兩種常見錯誤:把秒級控制丟到雲端,或把月級分析塞進 PLC。
表 1-2 決策時間尺度與建議執行位置
| 決策類型 | 需要的反應時間 | 建議執行位置 | 壓力資料型態 |
|---|---|---|---|
| 安全連鎖、控制迴路 | 毫秒~秒 | PLC/DCS/SIS(不經雲端) | 依控制需求直接取樣 |
| 即時監看與警報 | 1~10 秒 | 邊緣層+儀表板 | 原始讀值,1~10 秒一筆 |
| 異常偵測與趨勢判讀 | 分鐘級 | 資料層/孿生層 | 10 秒~1 分鐘彙總值 |
| 預測維護、剩餘天數 | 小時~天 | 孿生層/分析平台 | 5~15 分鐘或日平均 |
| 規劃與模擬(What-if) | 天~月 | 模擬平台 | 長期歷史資料與事件標記 |
1.4 讓系統「說同一種語言」的標準
孿生專案常橫跨多家設備商、多個軟體平台與多個部門。採用開放標準,可以降低未來換平台或擴廠的成本。下表整理與壓力資料最相關的幾項標準,以及每一項需要你事先準備的資料:
表 1-3 與壓力資料相關的開放標準
| 標準/規範 | 解決什麼問題 | 壓力點位需要準備什麼 |
|---|---|---|
| ISO 23247(製造業數位孿生框架) | 定義製造業孿生的參考架構與實體、通訊、應用的分工 | 點位與設備的對應關係、資料更新週期 |
| 資產管理殼 AAS(IDTA 推動、IEC 63278) | 以標準化「子模型」描述設備的銘牌、技術參數、狀態與文件 | 型號、量程、精度、校正證書編號、到期日 |
| OPC UA(IEC 62541) | 工業設備與軟體之間具語意的資料交換 | 節點命名規則、工程單位、品質碼 |
| MQTT/Sparkplug B | 輕量發佈訂閱傳輸,Sparkplug B 補上主題結構與狀態管理 | 主題(topic)命名、上線/離線狀態 |
| DTDL(Azure Digital Twins 模型語言) | 以 JSON 描述孿生的屬性、遙測與關係 | 屬性型別、單位、與房間或設備的關係 |
| ISA-18.2/IEC 62682(警報管理) | 警報合理化、分級與績效指標,避免警報氾濫 | 每個壓力警報的設定值、優先度與處置方式 |
| ISA-101(高效能人機介面) | 畫面以例外為導向,正常狀態不搶眼 | 正常範圍與顏色規則 |
| IEC 62443(工控資安) | 以區域與管道(zones & conduits)切分 OT 與 IT 網路 | 感測器與閘道所在的網段與存取權限 |
本章重點
先對齊名詞,再對齊分層。昶特負責的是 L1 量測層的準確與可追溯,這一層若沒有做好,L2 到 L5 的投資都會被打折。下一章就來看 AT-803 如何在 L1 扮演「真值錨點」。
第 2 章 AT-803 數位壓力錶在孿生系統的角色:量測真值錨點
一套數位孿生裡會有上百、上千個壓力點位,但它們的「身分」並不相同。有些點位負責 24 小時連續回報,有些點位由巡檢人員定期抽查,還有少數儀錶的任務是當作參考標準,去檢查其他點位有沒有說錯話。把角色分清楚,才能決定每個點位要用什麼儀錶、什麼訊號、多久校正一次。
2.1 AT-803 產品定位

真值錨點|微壓標準級
AT-803 高精度數位壓力錶(目錄型號 AT803-D)
圖說:ATLANTIS AT-803(AT803-D)高精度數位差壓錶 — 精度可達 ±0.02%F.S.,適用現場與實驗室的高精度微壓量測與校準。
官方公開規格與定位
- 精度:可達 ±0.02%F.S.(昶特官網公開值)。
- 定位:高精度數位差壓錶,微壓量測的標準級儀錶。
- 用途:現場、實驗室壓力量測與校準等高精度微壓量測。
- 操作:依產品照片,面板具大尺寸液晶顯示,以及設定、單位切換、歸零與背光按鍵。
- 量程、接頭與輸出介面:依訂購規格而定,請於詢價時提供使用情境,由昶特確認最適配置。
差壓錶的低壓端通大氣時,即可量測「相對大氣」的微壓,因此 AT-803 同時適合量測房間室壓、風管靜壓等錶壓型微壓,以及濾網、門縫兩側的差壓。
完整校正級產品請見校正專用精密壓力錶系列。
2.2 數位壓力錶在孿生中的三種角色
我們建議在點位規劃時,就替每一支儀錶標上角色。角色決定了訊號形式、資料頻率與校正策略:
表 2-1 三種角色與對應的昶特儀錶
| 角色 | 在孿生中的任務 | 代表儀錶(昶特 ATLANTIS) | 資料進入孿生的方式 |
|---|---|---|---|
| 線上感測節點 | 連續回報即時狀態,供警報、趨勢與預測使用 | DMPT-S221 數位微差壓傳送器(可選 RS485 或 4–20 mA)、SDPT-3351 智慧型差壓傳送器(可選 HART)、DPT-AC HART 防腐型差壓傳送器、SDPT-3100 智能型壓力傳送器(HART)、STT HART 智能型溫度傳送器 | 4–20 mA、HART 或 RS-485 → 邊緣閘道 → MQTT/OPC UA → 時序資料庫與孿生 |
| 巡檢節點 | 補足尚未佈線的點位,執行人工抽查與交叉驗證 | DPG-X112 高精度藍芽數位壓力錶(Type-C 或藍芽匯出記錄)、DMPG-X022 數位微差壓錶(現場顯示) | 巡檢後匯出記錄,帶點位 ID 與時間戳上傳 |
| 真值錨點 | 校準線上節點、量化不確定度、分辨感測器漂移與真實變化 | AT-803(±0.02%F.S.,微壓)、DPG-0.05B4.5(5CD)(±0.05%F.S.)、IPC-801 智能壓力校驗儀(壓力、電壓、電流) | 校正紀錄(誤差、修正係數、不確定度、到期日)寫入孿生的感測器模型 |
三種角色之間是互補關係:線上節點提供「頻率」,巡檢節點提供「覆蓋」,真值錨點提供「可信度」。很多專案只投資第一種,結果資料量很大、可信度不明,最後預測模型被迫加上很寬的容許帶,失去提早預警的意義。
2.3 為什麼孿生需要真值錨點:漂移與真實變化長得很像
下圖是一個示意情境:某潔淨室的真實室壓差長期維持在 15 Pa,但負責回報的線上傳送器每月緩慢漂移約 0.3 Pa(假設值)。沒有參考標準的系統,會在第 5 個月看到讀值越過 16.5 Pa 的警報門檻,於是發出誤報,甚至讓預測模型以為送風或回風系統出了問題;以 AT-803 每 4 個月比對一次並寫回修正係數的系統,讀值偏差始終控制在 1.2 Pa 以內。
圖 2-1 感測器漂移與真值錨點比對的差異(示意圖,數值為假設值,非實測)
這個例子凸顯三件事。第一,漂移是「慢」的,日常看不出來,但會被趨勢模型放大。第二,預測模型無法自己分辨漂移與真實變化,必須有外部參考。第三,錨點比對的價值不只是「修正讀值」,而是把每一次比對的誤差歷史留下來,讓孿生知道每個點位的漂移速度,進而決定合理的校正週期。
2.4 TUR 4:1 與不確定度:讓「可信程度」變成數字
校正時常用的經驗法則是測試不確定度比(TUR)至少 4:1:參考標準的誤差,應小於被校儀錶允許誤差的四分之一。以同量程計算,AT-803 的 ±0.02%F.S. 對上 ±0.1%F.S. 等級的儀錶,比值為 5:1;對上 ±0.5%F.S. 等級的線上微差壓傳送器,比值可達 25:1。若量程不同,必須先換算成相同單位的絕對誤差再比較,這也是為什麼詢價時要提供被校儀錶的量程與精度等級。
表 2-2 微壓比對的簡化不確定度預算(示意)
| 不確定度來源 | 說明 | 現場處理方式 |
|---|---|---|
| 參考標準(AT-803) | 依其校正報告的不確定度或規格(同量程時 ±0.02%F.S.) | 定期送校並保留報告與證書編號 |
| 被校儀錶重複性 | 同一壓力點多次讀值的離散 | 每個比對點至少取 3 次讀值平均 |
| 遲滯 | 升壓與降壓在同一點的讀值差 | 升降壓雙向取點,計入預算 |
| 溫度影響 | 比對時溫度與日常運轉溫度不同 | 記錄溫度,等待儀錶與環境熱平衡 |
| 安裝與導壓管 | 導壓管高低差、積水、彎折、漏氣 | 微壓量測保持同高、檢查管路氣密 |
| 空氣擾動 | 開門、出風口、人員走動造成的瞬間波動 | 關門、避開出風口、取時間平均 |
| 顯示解析度 | 最小顯示位數造成的量化誤差 | 以解析度一半的矩形分佈計入 |
把各來源轉成標準不確定度後,以平方和開根號合成,再乘以涵蓋因子 k(常用 k = 2,約 95% 信賴水準)即為擴充不確定度:
孿生系統只要多存一個欄位「U(k=2)」,戰情室就能在畫面上顯示「15.2 ± 0.2 Pa」而不只是「15.2 Pa」,警報門檻也能據此設定合理的緩衝帶,大幅降低誤報。第 8 章的範例三提供了計算修正係數與 TUR 的程式。
2.5 AT-803 接入孿生的三條路徑
AT-803 的輸出介面依訂購規格而定。實務上可以依需求選擇以下三條路徑之一,或混合使用:
路徑 A:數位通訊直連
若訂購規格具備數位通訊輸出,可由邊緣閘道定時輪詢,與其他線上節點一樣送進 MQTT 或 OPC UA。適合需要長時間連續記錄的參考點,例如潔淨室關鍵房間或試車台。
路徑 B:類比訊號接入
若訂購規格具備類比輸出,可接入 PLC 或資料擷取模組,再依量程換算。建議同步採用 NAMUR NE43 的故障判斷邏輯,讓孿生分得出「製程異常」與「迴路異常」。
路徑 C:校正錨點作業
以 AT-803 作為攜行標準,定期到現場比對線上節點,將比對結果整理成校正紀錄上傳。孿生更新每個點位的修正係數、不確定度與下次到期日。這是最常見、投資最小、效益最直接的用法。
不論採用哪條路徑,請在詢價時說明使用情境(量程、介質、安裝方式、是否需要訊號輸出、是否需要校正報告),由昶特業務確認可供應的規格。
2.6 微壓量測的八個現場要點
AT-803 的價值建立在正確的量測方法上。微壓(數 Pa 到數百 Pa)的量測非常敏感,以下八點是比對作業最常出錯的地方:
- 先歸零再量測:兩端連通、讀值穩定後再歸零,並在比對結束時複查零點。
- 導壓管同高:高低壓端的導壓管保持同一高度,避免管內空氣溫差造成的浮力誤差。
- 管路氣密:檢查接頭、軟管是否老化或彎折,微小漏氣就會讓讀值偏低。
- 熱平衡:儀錶從冷氣房帶到現場,先放置一段時間再量測。
- 關門與避風:量測房間壓差時關閉門窗,取壓口避開出風口與人員動線。
- 時間平均:微壓讀值會隨氣流跳動,以數十秒到數分鐘的平均值作為比對值。
- 同點比對:參考標準與被校儀錶接在同一個取壓點或用三通並聯,避免兩點本身就有差異。
- 完整記錄:記錄日期、時間、溫度、門窗狀態、比對點、讀值與人員,讓紀錄能被稽核。
2.7 昶特 ATLANTIS 數位孿生量測層產品配置
以下產品圖片與描述皆取自昶特官網產品目錄。每張卡片標示該儀錶在孿生中的建議角色,實際量程、接頭、輸出與防護等級依訂購規格而定。

真值錨點|中高壓
DPG-0.05B4.5(5CD) 高精度數位壓力錶
採用進口精密壓力感測器與內部溫度補償感測器,精度可達 ±0.05%F.S.,可作為標準校驗用數位壓力錶。孿生用途:液壓、空壓、製程管線等中高壓點位的比對基準。

真值錨點|迴路校驗
IPC-801 智能壓力校驗儀
可量測壓力、電壓與電流,適用校準壓力錶、精密壓力錶、壓力與差壓傳送器、壓力調節閥及壓力開關。孿生用途:從感測器、4–20 mA 迴路到系統讀值的整條量測鏈驗證。
線上節點|微壓
DMPT-S221 數位微差壓傳送器
採用進口微差壓感測元件,精度高、長期穩定性好,可選 RS485 或 4–20 mA 輸出;適用通風、消防排煙、風機檢測與空調過濾系統。孿生用途:室壓、風管靜壓、濾網壓差的連續監測。

巡檢/現場顯示|微壓
DMPG-X022 數位微差壓錶
進口微差壓感測元件搭配超低功耗電路,安裝方式與機械式微差壓錶相同;適用潔淨室、手術室、無塵室、通風系統與風機測試。孿生用途:門口現場顯示,讓人員與戰情室看到同一個數字。

線上節點|差壓
SDPT-3351 智慧型差壓傳送器
5 位數液晶顯示、可選配 HART,最高精度可達 ±0.1%F.S.,具警報、溫度指示、溫度補償與資料備份恢復功能。孿生用途:過濾器、換熱器、泵浦進出口差壓。

線上節點|防腐差壓
DPT-AC HART 防腐型差壓傳送器
SS316L 膜片式感測器,高精度與高抗蝕;HART 通訊支援遠端組態與診斷,適用石油、化工、電子、空調、能源與廢水處理。孿生用途:腐蝕性或關鍵介質的差壓點位。

線上節點|管線壓力
SDPT-3100 智能型壓力傳送器
以微處理器為核心,具靈活的壓力校準與輸出、HART 協議通訊、環境溫度自動補償與多種參數設定。孿生用途:給水、冰水、空壓、液壓與蒸汽管線壓力。

巡檢節點
DPG-X112 高精度藍芽數位壓力錶(可旋轉式)
錶頭可旋轉 330°,主副屏顯示壓力、環境溫度、最大/最小值與量程,支援 Type-C 或藍芽匯出記錄。孿生用途:尚未佈線點位的巡檢資料,帶時間戳上傳。

線上節點|溫度補償
STT HART 智能型溫度傳送器
一體化溫度傳送器,可搭配熱電阻或熱電偶,HART 支援遠端組態與診斷。孿生用途:油品黏度、氣體密度與熱平衡計算都需要溫度,壓力孿生通常要配對溫度點。
選型提醒
上述卡片中,只有官網明確標示輸出方式的型號(如 DMPT-S221 的 RS485/4–20 mA、SDPT-3100 與 DPT-AC 的 HART、SDPT-3351 的可選 HART、DPG-X112 的 Type-C/藍芽匯出)才寫出訊號形式;其他型號的輸出與量程請於詢價時確認。不確定選哪一款時,可先使用差壓/微差壓選型精靈或數位壓力錶選型精靈取得建議規格。
第 3 章 數位孿生平台怎麼選:工業套件型、模擬型、雲端圖形型
市面上的孿生平台大致可以分成三類。分類的目的不是比較誰比較好,而是找出「你的問題比較像哪一類」。如果要的是產品、產線與績效一路打通,會走向工業套件;如果要的是工程等級的物理模擬,會走向模擬平台;如果系統之間的關係非常複雜(例如一整個園區的建築、樓層、設備與房間),圖形模型型的雲端平台會比較順手。以下整理各平台的重點,以及數位壓力錶資料在其中扮演的角色。
3.1 工業套件型:Siemens 與 Dassault Systèmes
Siemens Xcelerator:Comprehensive Digital Twin 與 Insights Hub
Siemens 以 Xcelerator 平台推動所謂的「全面數位孿生」(Comprehensive Digital Twin),主張把產品設計、生產製造與現場績效整合成單一的資料來源,讓實際運轉資料回頭優化產品與產線,因此常被評為適合同時做產品、產線與績效孿生的選擇。工業物聯網部分,過去的 MindSphere 已演進為 Insights Hub,屬於 Industrial Operations X 產品組合,負責收集與分析機台、設備與製程的即時資料,並結合 AI 分析與生產輔助功能。
壓力資料的角色:在 Siemens 架構中,壓力與壓差通常透過 PLC 或邊緣裝置進入 Insights Hub,成為資產健康、能源與 OEE 分析的輸入。已大量使用 Siemens 自動化設備的工廠,整合阻力最小;跨品牌或以建築為主的場域,則需要評估連線與授權範圍。
Dassault Systèmes 3DEXPERIENCE:以 3D 模型為核心的虛擬孿生
Dassault Systèmes 以 3DEXPERIENCE 平台提供「虛擬孿生體驗」(Virtual Twin Experience),以 3D 建模、模擬與協作為基礎,常見於航太、汽車與工業設備等產品開發密集的產業。2026 年其發展方向延伸到 AI 虛擬助理(virtual companions),以及把產品、組織與價值流一併納入虛擬孿生的概念。
壓力資料的角色:在 3DEXPERIENCE 的世界裡,壓力點位通常是 3D 設備或廠房模型上的屬性與監測標籤,用於設計驗證、試運轉比對與營運階段的狀態呈現。它的強項在設計到製造的連續性;若主要需求是秒級的現場監看與警報,通常仍需搭配工業監控型儀表板。
3.2 模擬型:Ansys Twin Builder
Ansys(現為 Synopsys 旗下品牌)的 Twin Builder 是模擬導向的孿生平台,核心概念是 Hybrid Analytics:把物理模型與資料驅動模型結合。它可以把耗時的 3D 模擬(例如流場、熱傳)轉成降階模型(ROM),讓原本要算好幾個小時的模擬能在孿生裡即時執行;模型也能匯出為 FMI 標準的 FMU,放到其他相容環境使用,並透過 Twin Deployer 部署。2026 R1 版本持續強化 TwinAI 的降階建模精靈與新的機器學習方法。
壓力資料的角色:模擬型孿生最需要「可信的邊界條件與驗證資料」。例如要模擬一條風管或一組泵浦系統,入口壓力、出口壓力與壓差就是模型的邊界條件,也是驗證模型是否貼近現實的依據。這正是 AT-803、DPG-0.05B4.5(5CD) 這類校正級儀錶的用武之地:模型校準階段需要比日常監測更準的量測值。
3.3 雲端/圖形模型型:Microsoft Azure Digital Twins
Azure Digital Twins 以圖形結構建模,用 DTDL(Digital Twins Definition Language)定義資產、空間與它們之間的關係,例如「這支壓差傳送器監測 B2 黃光區的室壓」「這台空調箱供應這三個房間」。當系統之間的關係複雜、需要跨建築或跨廠區查詢時,圖形模型特別好用;但它本身不是工程模擬工具,若需要工程等級的物理模擬,通常要額外投入,與模擬平台或自建模型整合。
另外,Microsoft 於 2025 年 Build 大會以預覽形式推出 Microsoft Fabric 的 digital twin builder,以低程式碼方式建立本體(ontology)並與 Fabric 的即時分析、Power BI 結合。官方文件說明它與 Azure Digital Twins 是不同的服務;導入前請確認其最新的服務狀態與功能範圍。
壓力資料的角色:在圖形模型中,每支數位壓力錶或傳送器本身就是一個孿生節點,帶有讀值、品質、不確定度與校正到期日等屬性,並透過關係連到房間、設備與系統。第 8 章範例五示範了 DTDL 模型與更新程式。
3.4 平台比較總表
表 3-1 三類數位孿生平台比較
| 類型 | 代表平台 | 強項 | 需要留意 | 壓力資料的接入重點 | 適合情境 |
|---|---|---|---|---|---|
| 工業套件型 | Siemens Xcelerator/Insights Hub;Dassault 3DEXPERIENCE | 產品、產線、績效一體化;3D 模型與工程資料連續 | 導入規模大、授權與顧問投入高;跨品牌整合需評估 | 透過 PLC/邊緣裝置接入,點位與資產主檔需事先標準化 | 大型製造、航太、汽車、工業設備商 |
| 模擬型 | Ansys Twin Builder | 工程等級物理模擬、降階模型、混合分析 | 需要模擬專業人才;模型需持續以實測校準 | 邊界條件與驗證資料要準,校正級儀錶價值高 | 泵浦、風機、換熱、流體網路、設備性能優化 |
| 雲端/圖形模型型 | Azure Digital Twins;Fabric digital twin builder(預覽) | 複雜關係建模、跨建築跨廠區查詢、雲端擴充 | 工程模擬需額外投入;高頻資料應先進時序資料庫 | 每個點位是一個節點,屬性含讀值、品質、不確定度 | 智慧建築、園區、醫院、多廠區設施管理 |
3.5 五個問題快速決定平台方向
- 你要解決的是設計問題還是營運問題?設計、試產與產品迭代為主,優先看工業套件或模擬平台;日常營運、維護與能源為主,優先看圖形模型型或工業監控型。
- 需不需要工程等級的物理模擬?需要,就把 Ansys、Siemens 或 Dassault 這類較重的平台列入;不需要,輕量的圖形模型加上統計預測通常就夠。
- 現場自動化設備以哪個品牌為主?同品牌生態系的整合成本通常最低,但要評估未來被綁定的程度。
- 資料要放在哪裡?雲端、地端或混合架構,取決於資安政策、法規與延遲要求,這一題要讓資安與 IT 部門一起回答。
- 誰來維運?孿生不是一次性專案,模型、點位與警報規則都需要持續維護。沒有維運人力的平台,再強也會荒廢。
3.6 不論選哪個平台,壓力點位都要準備的「點位主檔」
平台可以換,點位主檔是共通的資產。建議在導入任何平台前,先把每一支數位壓力錶與傳送器整理成下表的欄位,後續不論接 Siemens、Dassault、Ansys 或 Azure,都能直接沿用:
表 3-2 壓力點位主檔建議欄位
| 欄位 | 範例 | 為什麼重要 |
|---|---|---|
| 點位 ID | CR-B2-ROOM-DP-01 | 孿生、資料庫、工單系統都以它對應同一支儀錶 |
| 物理量與單位 | 差壓,Pa | 避免 Pa、kPa、mmH₂O、bar 混用造成的換算錯誤 |
| 量程與精度 | 0~50 Pa,±0.5%F.S. | 計算 TUR、設定警報緩衝帶、判斷超量程 |
| 安裝位置與關係 | B2 黃光區 → 走廊;由 AHU-07 供氣 | 孿生用來推論「異常的上游可能是誰」 |
| 訊號與通訊 | RS-485,站號 3,暫存器 0 | 邊緣閘道設定與故障排除的依據 |
| 取樣與彙總週期 | 原始 5 秒,彙總 5 分鐘 | 決定資料量與預測模型的時間解析度 |
| 品質碼規則 | GOOD/OUT_OF_RANGE/CAL_OVERDUE | 讓戰情室分得出「現場異常」與「資料異常」 |
| 校正紀錄 | 上次比對日期、修正係數、U(k=2)、到期日、參考標準證書號 | 讓孿生知道每個讀值可以信到什麼程度 |
本章重點
工程模擬與設備孿生,需要考慮 Siemens、Ansys 或 Dassault 這類較重的平台;以設施營運與關係查詢為主,Azure Digital Twins 等圖形模型平台較輕巧。無論選哪一條路,點位主檔與校正紀錄都是跨平台通用的資產,也是昶特量測層能直接貢獻的部分。
第 4 章 儀表板與戰情室:通用 BI、工業監控型、製造現場型怎麼搭配
孿生平台負責「理解與推演」,儀表板與戰情室負責「讓人看懂並採取行動」。很多專案的失敗,不是孿生做不出來,而是畫面做得像報表、警報多到沒人理、異常發生時不知道該找誰。依用途,儀表板軟體可分為三類,各有擅長的時間尺度與使用者。
4.1 通用 BI 工具:跨部門彙總與管理報表
- Power BI:兼具報表能力與相對親民的導入門檻,是製造業常用的選擇,並與 Microsoft Fabric 的資料與即時分析服務整合。適合月報、能源報表、跨廠比較。
- Tableau:擅長進階視覺分析與探索式分析,適合分析師深入挖掘壓力、能耗與品質之間的關聯。
- Metabase:開源選項,適合有自建能力的團隊快速建立內部查詢與報表。
BI 工具的強項是彙總與比較,弱項是秒級時序資料與即時警報。壓力資料進 BI 前,建議先在資料層彙總成 5 分鐘、1 小時或日平均,並帶上資料可用率,避免報表把「沒有資料」誤當成「數值為零」。
4.2 工業監控型:時序資料與即時警報
- Grafana:在工業監控與時序資料視覺化上特別突出,開源、資料來源支援廣,技術團隊常用來處理 IoT 感測資料;搭配時序資料庫可做到秒級趨勢與警報規則。第 8 章範例六提供 TimescaleDB 與 Grafana 的查詢範例。
- Siemens Insights Hub(原 MindSphere):強調把工業資產連接到儀表板,支援廠區層級的 KPI 與警示,適合已採用 Siemens 自動化生態系的工廠。
4.3 製造現場型:從警報直接走到工單
- Fabrico:把 OEE 與維修(CMMS)資料整合在同一個平台,異常可直接產生工單並推播給技術人員,縮短「發現問題」到「有人去修」的時間。
- FactoryStudio(Tatsoft,FrameworX 平台):提供警報管理、儀表板設計器與資料視覺化,定位於工業即時應用,並內建 OPC UA、MQTT 與 Sparkplug B 等通訊能力,適合做 SCADA 等級的現場畫面。
表 4-1 三類儀表板工具比較
| 類型 | 代表工具 | 擅長的資料頻率 | 警報能力 | 與工單連動 | 主要使用者 |
|---|---|---|---|---|---|
| 通用 BI | Power BI、Tableau、Metabase | 分鐘~月(彙總資料) | 以門檻提醒為主 | 需另行整合 | 主管、分析師、跨部門會議 |
| 工業監控型 | Grafana、Siemens Insights Hub | 秒~天(時序資料) | 規則式警報、通知管道多元 | 可透過整合或外掛 | 廠務、設備工程師、值班人員 |
| 製造現場型 | Fabrico、FactoryStudio | 秒級即時 | 警報管理完整 | Fabrico 原生工單;FactoryStudio 可整合 | 產線主管、維修技術員、操作員 |
實務上很少只用一種。常見組合是:Grafana 或 FactoryStudio 做現場即時畫面,Fabrico 或既有 CMMS 處理工單,Power BI 做管理報表,三者共用同一份點位主檔與時序資料。
4.4 戰情室設計七原則
- 三層畫面:總覽(全廠健康)→ 區域(系統或樓層)→ 設備(單點趨勢與歷史),任何異常三次點擊內可以追到源頭。
- 以例外為導向:依 ISA-101 高效能人機介面的精神,正常狀態用低彩度呈現,只有異常才上色,讓眼睛自然被問題吸走。
- 警報合理化:依 ISA-18.2/IEC 62682 為每個警報定義原因、後果、處置與優先度;ISA-18.2 以每位操作員每小時約 6 個警報作為「很可能可接受」的參考量級。
- 每個警報都有主人:警報要連到處置程序與負責人,最好能一鍵產生工單,處置結果再回寫到孿生作為模型訓練資料。
- 資料品質可視化:校正逾期、通訊中斷、超量程要有獨立的顏色或圖示,與「製程異常」分開,否則值班人員會在錯的地方找問題。
- 時間同步:所有閘道與伺服器以 NTP 對時,資料一律以 UTC 儲存、以當地時間顯示,事件追溯時才對得上。
- 戰情室是流程,不只是螢幕:值班表、交接紀錄、事件檢討與 KPI 月會,才讓畫面上的數字變成持續改善。
4.5 戰情室總覽畫面示意
以下為一個以壓力資料為主的設施戰情室總覽示意(數值皆為示意)。注意畫面上同時呈現「製程狀態」與「資料可信度」:
圖 4-1 以壓力資料為核心的戰情室總覽示意(示意畫面,非實際系統數據)
4.6 壓力類 KPI 定義表
表 4-2 戰情室常用的壓力類 KPI
| KPI | 定義 | 資料來源 | 設定建議 |
|---|---|---|---|
| 室壓合格率 | 受控房間壓差落在設定範圍內的時間比例 | 微差壓傳送器、數位微差壓錶 | 依法規、潔淨等級或院內感控規範設定範圍 |
| 濾網剩餘天數 | 正規化壓差趨勢外推到更換門檻所需的天數 | 濾網前後差壓、風量 | 提前量至少涵蓋備品採購與排程時間 |
| 泵浦揚程偏差 | 實測揚程(出口減入口壓力)與設計曲線的差距 | 進出口壓力傳送器、流量 | 以新機或大修後的實測曲線為基準 |
| 保壓壓降速率 | 停機或隔離後單位時間的壓力下降量 | 數位壓力錶、壓力傳送器 | 依系統容積與允許洩漏量設定 |
| 資料可用率 | 品質良好的樣本數 ÷ 應有樣本數 | 邊緣閘道、時序資料庫 | 關鍵點位建議長期維持在很高水準並追蹤原因 |
| 校正到期率 | 逾期未比對點位 ÷ 總點位 | 點位主檔、校正紀錄 | 目標為 0,並提前排程比對作業 |
| 警報負荷 | 每位值班人員每小時收到的警報數 | 警報系統 | 參考 ISA-18.2 的建議量級持續合理化 |
本章重點
儀表板工具依時間尺度分工:BI 看彙總、工業監控型看即時、製造現場型負責派工。真正讓戰情室發揮作用的,是警報合理化與資料品質可視化——而資料品質的源頭,又回到第 2 章的真值錨點。
第 5 章 六大應用場景:數位壓力錶如何讓孿生「看得見、算得準、派得出工」
以下六個場景,各自從「孿生想回答什麼問題」出發,整理關鍵壓力點位、建議的昶特儀錶、預測方法與戰情室 KPI,並說明 AT-803 在其中的角色。表中的壓力範圍為常見設計條件,實際請以現場設計圖與規格書為準;建議儀錶的量程與輸出請於詢價時確認。
5.1 智慧建築管理:讓大樓的「水、風、壓」連成一張關係圖
大樓的建築管理系統(BMS)往往已經有上百個點,但點與點之間缺少關係:冰水主機、泵浦、分區閥、空調箱與房間各自顯示數字,出了問題只能靠經驗推測。建築孿生的價值,是把這些點位連成一張圖,回答「這個房間壓力偏低,是門沒關、空調箱濾網堵了,還是上游風機轉速不夠?」
表 5-1 智慧建築關鍵壓力點位
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 冰水供回水壓差 | 中低壓差、需穩定 | SDPT-3351(可選 HART)、DPT-AC | 泵浦變頻最佳化、管網平衡、最不利迴路判斷 |
| 給水加壓泵出口 | 中壓,可能有水錘 | SDPT-3100(HART) | 揚程與效率監測、水錘事件紀錄 |
| 消防撒水/消防栓管網 | 中壓、長時間靜置 | SDPT-3100;DPG-X112 巡檢 | 保壓壓降趨勢、管網洩漏早期發現 |
| 空調箱濾網壓差 | 微壓差 | DMPT-S221(RS485/4–20 mA) | 濾網剩餘天數預測、風機耗能分析 |
| 風管靜壓 | 微壓 | DMPT-S221 | 風機變頻控制驗證、變風量系統平衡 |
| 梯間加壓與排煙相關空間 | 微壓 | DMPT-S221;AT-803 定期驗證 | 防排煙系統性能趨勢、測試紀錄數位化 |
| 機房、實驗室等特殊房間室壓 | 微壓 | DMPG-X022 現場顯示+傳送器上傳 | 正負壓維持、門開事件分析 |
預測重點:濾網壓差需先以風量正規化,才不會把變頻造成的壓差變化誤判成堵塞;冰水管網可用「壓差與流量平方的比值」追蹤過濾器或閥件的阻力變化;給水系統則可從壓力波形辨識水錘事件的頻率與發生時段。
戰情室 KPI:房間壓力合格率、濾網剩餘天數、泵浦揚程偏差、管網保壓壓降速率。
AT-803 的角色:每半年或依漂移歷史,以 AT-803 比對各樓層的微壓傳送器,修正係數寫回孿生;梯間加壓等防排煙相關測試,也可以 AT-803 作為比對基準,讓測試紀錄更有說服力。延伸閱讀:冷凍空調壓力量測指南、消防・給排水系統壓力錶選型指南。
注意
消防與防排煙設備須依主管機關規定辦理檢修申報,孿生監測可以補強日常掌握,但不取代法定檢查;安全相關的連動控制應保留在合格的消防與控制系統中。
5.2 製造業生產線優化:把壓力異常接上 OEE 與工單
產線孿生最常見的目標是提高設備綜合效率(OEE)與降低能耗。壓縮空氣、液壓、冷卻水與真空是產線的「公用血管」,它們的壓力不穩,往往直接表現為停機、節拍變慢或品質波動。把壓力資料與 OEE 損失原因連起來,孿生就能回答「這週的稼動率損失,有多少來自公用系統?」
表 5-2 製造產線關鍵壓力點位
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 空壓主幹管壓力 | 中壓、隨用氣量波動 | SDPT-3100;DPG-X112 巡檢 | 設定壓力最佳化、夜間與假日洩漏率 |
| 空壓過濾器與乾燥機壓差 | 低壓差 | SDPT-3351、DPT-AC | 濾芯更換預測、壓損造成的能耗 |
| 液壓站系統壓力 | 高壓、脈動 | SDPT-3100(建議加緩衝器);DPG-0.05B4.5(5CD) 作比對基準 | 泵浦磨耗、內洩趨勢、保壓性能 |
| 冷卻水進出口壓差 | 中低壓差 | DPT-AC、SDPT-3351 | 換熱器結垢、流量分配 |
| 烘箱、塗裝房微正壓 | 微壓 | DMPT-S221;AT-803 比對 | 塵點品質、排氣平衡與能耗 |
| 集塵設備濾袋壓差 | 微壓~低壓差 | DMPT-S221 | 濾袋堵塞或破損判斷、清灰週期最佳化 |
預測重點:空壓系統可在停線時段觀察主幹管壓力衰減速率,換算洩漏量的趨勢;業界常引用的經驗值是系統壓力每降低約 2 psi(約 0.14 bar),壓縮機耗能約可下降 1%,實際仍依機型與控制方式而定,因此「壓力能不能再降一點」是孿生最常做的 What-if 模擬之一。液壓系統則可追蹤同一動作循環下的壓力建立時間,作為泵浦或閥件劣化的前兆。
戰情室 KPI:空壓洩漏率趨勢、濾芯剩餘天數、液壓建壓時間、公用系統造成的停機分鐘數。
AT-803 與校正錨點:微正壓的烘箱與塗裝房以 AT-803 比對;中高壓的空壓與液壓點位,以 DPG-0.05B4.5(5CD) 或 IPC-801 作為比對與迴路校驗工具。適合平台:現場畫面可用 FactoryStudio 或 Grafana,工單與 OEE 可用 Fabrico,跨廠報表用 Power BI。
5.3 風力發電場運行優化:把每一次出海維修都用在刀口上
風場分散、塔筒高、離岸機組還受天候與海況限制,每一次維修窗口都很珍貴。風場孿生的核心目標,是用遠端資料判斷「哪一台機組、哪一個系統最需要在下一個窗口處理」,並在出海前就備好正確的料件與儀錶。壓力與壓差是液壓、潤滑與冷卻系統最直接的健康指標。
表 5-3 風力機組常見壓力監測點位(依機型而異)
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 液壓變槳系統壓力(液壓變槳機型) | 高壓,常見於百 bar 等級 | SDPT-3100(環境與認證需求請先確認) | 蓄壓器預充壓力衰減、建壓時間與洩漏趨勢 |
| 偏航煞車液壓 | 高壓 | 同上 | 煞車保壓能力、壓力保持時間 |
| 齒輪箱潤滑油壓與濾芯壓差 | 中低壓,受油溫影響大 | SDPT-3351、DPT-AC;STT 量油溫 | 濾芯堵塞、油泵健康、潤滑可靠度 |
| 變流器與發電機冷卻液迴路 | 中低壓 | SDPT-3100;STT | 冷卻效能、微漏與補液頻率 |
| 機艙通風濾網壓差(部分離岸機型採機艙微正壓設計) | 微壓 | DMPT-S221 | 鹽霧防護是否有效、濾網更換時機 |
| 運維基地校正室 | — | AT-803、DPG-0.05B4.5(5CD)、IPC-801 | 出海前預校、校正紀錄寫入孿生 |
預測重點:潤滑系統的濾芯壓差會隨油溫(黏度)大幅變化,必須在相同油溫區間比較,或以溫度修正後再做趨勢,否則冬天與夏天的資料會互相干擾;液壓變槳系統可以觀察每次變槳動作後的壓力回復曲線,蓄壓器預充不足時,回復時間與壓降形態會改變。
戰情室 KPI:每台機組健康分數、可用率、下一個維修窗口的待辦清單與料件準備狀態。
AT-803 的角色:在運維基地建立小型校正室,以 AT-803 與 DPG-0.05B4.5(5CD) 為參考標準,出海前完成替換儀錶的預校與紀錄,讓更換後的新感測器一上線就帶著修正係數與不確定度進入孿生。
注意
機組內安裝或更換儀錶,須符合整機廠規範與振動、溫度、電磁相容及相關認證要求;任何改裝前請先與整機廠或運維單位確認,並於詢價時說明安裝環境。
5.4 航太飛機維護與性能優化:聚焦維修工廠、地面設備與校正實驗室
航空公司與維修組織(MRO)的孿生,通常分成兩層:一層是由原廠與航空公司主導、以飛航資料為主的機體與發動機健康管理;另一層是維修工廠本身的營運孿生,包括棚廠、地面支援設備(GSE)、試車台與校正實驗室。數位壓力錶能貢獻的是第二層:讓地面設備的輸出穩定、讓測試條件一致、讓工具與測試設備的校正可追溯。
重要界線
本節內容僅適用於地面支援設備、維修工廠設施、試車台與校正實驗室。昶特儀錶不是航空器適航零件,不得安裝於航空器上;航空維修組織使用之工具與測試設備,須依民航主管機關及自身品質系統的校正與追溯要求管理。
表 5-4 MRO 營運孿生的壓力點位
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 液壓地面動力車輸出壓力 | 高壓(民航機液壓系統常見 3,000 psi,部分新機型 5,000 psi) | SDPT-3100(量程依需求確認);DPG-0.05B4.5(5CD) 比對 | 地面設備輸出穩定度、泵浦劣化趨勢 |
| 氮氣充填車與輪胎充氣作業 | 中高壓 | DPG-X112(記錄匯出) | 充填紀錄可追溯、作業一致性 |
| 發動機試車台進排氣微壓 | 微壓 | DMPT-S221;AT-803 比對 | 試車條件一致性、跨次測試比較 |
| 噴漆棚與複材修補區室壓 | 微壓 | DMPG-X022、DMPT-S221 | 塵污與溶劑氣味控制、環境紀錄 |
| 複材修補真空袋 | 負壓 | 負壓量程數位壓力錶(請洽詢) | 真空保持曲線、洩漏判斷 |
| 校正實驗室 | — | AT-803、DPG-0.05B4.5(5CD)、IPC-801 | 工具與測試設備的可追溯校正、校正週期最佳化 |
預測重點:把每一次地面設備使用的壓力曲線存下來,就能看出泵浦或調壓閥的劣化;校正實驗室的歷次比對誤差,則可用來調整各類工具的校正週期,把資源集中在漂移較快的設備。
戰情室 KPI:地面設備可用率、校正逾期件數、試車條件偏差、維修工時與等待時間。延伸閱讀:航空業壓力量測選型指南。
5.5 半導體製造流程優化:守住潔淨室壓力梯度與廠務供應
半導體廠務監控系統(FMCS)是最早大規模導入孿生思維的場域之一。潔淨室的壓力梯度決定氣流方向,氣流方向決定微粒與化學品往哪裡走;乾燥空氣、氮氣與製程冷卻水的壓力,則直接影響機台能不能穩定生產。孿生要回答的問題是:「哪個區域的梯度正在變弱?是門禁習慣、排氣平衡,還是濾網阻力上升?」
表 5-5 半導體廠務關鍵壓力點位
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 潔淨室室壓梯度 | 微壓(相鄰等級常見設計約 10~15 Pa,依廠房設計) | DMPT-S221、DMPG-X022;AT-803 為校正錨點 | 梯度維持、門開事件影響、跨區氣流方向 |
| FFU/高效濾網壓差 | 微壓差 | DMPT-S221 | 濾網剩餘壽命、風量衰減 |
| 局部排氣與廢氣處理系統負壓 | 微~低負壓 | DMPT-S221 | 排氣平衡、安全餘裕 |
| 乾燥空氣(CDA)與氮氣主幹管 | 中壓 | SDPT-3100 | 供應穩定度、洩漏與用量異常 |
| 製程冷卻水供回水壓差 | 中低壓差 | DPT-AC(防腐)、SDPT-3351 | 換熱效能、流量分配、結垢趨勢 |
預測重點:潔淨室壓差對門開事件非常敏感,建議把門禁或門磁訊號一起送進孿生,先排除「正常的短暫跌落」,再對持續性的梯度衰減做趨勢分析;FFU 濾網壓差上升與風量下降通常同時發生,兩者交叉確認可以降低誤判。延伸閱讀:FFU 濾芯壓差判斷完整指南。
戰情室 KPI:各區室壓合格率、梯度最小餘裕、排氣平衡偏差、濾網剩餘天數、校正狀態。
AT-803 的角色:建立全廠微壓點位的定期比對計畫,以 AT-803 作為攜行標準,依 TUR 4:1 原則檢查各區傳送器,並把漂移歷史回饋到校正週期。特殊氣體與腐蝕性化學品的量測,須依氣體相容性與安全規範另行選型,請於詢價時提供介質資料。
5.6 醫療與手術規劃:讓「房間準備好了沒」成為可信的訊號
醫療領域的數位孿生有兩種:一種是以病人影像與臨床資料建立的個人化孿生,用於手術模擬與治療規劃,這不在壓力儀錶的範圍;另一種是醫院設施孿生,管理手術室、隔離病房、藥局潔淨區、醫療氣體與滅菌設備。數位壓力錶支援的是後者,而它與手術規劃的交集在於:排程系統需要知道「哪一間手術室的環境條件此刻符合要求」,才能把刀排進去。
表 5-6 醫院設施孿生的壓力點位
| 點位 | 壓力特性 | 建議儀錶 | 孿生與預測用途 |
|---|---|---|---|
| 手術室正壓 | 微壓 | DMPG-X022(門口顯示)+DMPT-S221(上傳);AT-803 定期驗證 | 房間就緒判定、手術排程連動 |
| 負壓隔離病房 | 微壓(ASHRAE 170 與美國 CDC 指引常見最低約 2.5 Pa 負壓) | 同上 | 感染控制、門開事件與恢復時間 |
| 保護性環境病房 | 微正壓 | 同上 | 免疫低下病人的環境保護 |
| 藥局無菌調劑區 | 微壓梯度 | 同上 | 稽核紀錄、梯度維持 |
| 醫療氣體管路(氧氣、醫療空氣、真空) | 中壓與負壓;氧氣須使用禁油處理儀錶 | 依規格詢價確認 | 供氣壓力異常預警、區域閥箱監測 |
| 滅菌鍋蒸汽壓力 | 飽和蒸汽 121°C 約 1 bar(g)、134°C 約 2 bar(g) | SDPT-3100(溫度條件與介面依規格確認);STT | 滅菌週期一致性、壓力與溫度配對驗證 |
手術規劃的連動方式:設施孿生把每間手術室的壓差、換氣與溫濕度整合成「就緒狀態」,當某間手術室壓差持續不合格,排程系統就能提前把該房間標示為待確認,改排到其他房間,並自動通知工務處理,而不是等到病人推進來才發現問題。
戰情室 KPI:各類受控房間壓差合格率、門開後恢復時間、醫療氣體壓力異常次數、滅菌週期合格率。延伸閱讀:醫院負壓病房 × 差壓計 × 防鼠患。
注意
醫院環境監測須依主管機關法規與院內感染控制規範執行;本文所述儀錶為設施監測用途,並非醫療器材,不用於病人診斷或治療。醫療氣體系統的設計與變更須依相關標準(如 ISO 7396-1)與院方程序辦理。
5.7 六大場景總覽
表 5-7 六大場景的孿生目標與 AT-803 角色
| 場景 | 孿生最想回答的問題 | 最關鍵的壓力訊號 | AT-803 的主要角色 |
|---|---|---|---|
| 智慧建築 | 房間壓力異常的上游原因是什麼? | 濾網壓差、風管靜壓、冰水壓差 | 樓層微壓傳送器定期比對 |
| 製造產線 | 公用系統讓 OEE 損失多少? | 空壓、液壓、冷卻水、烘箱微正壓 | 烘箱與塗裝房微壓比對 |
| 風力發電 | 下一個維修窗口該先處理哪一台? | 液壓變槳、潤滑濾芯壓差、冷卻迴路 | 運維基地校正室參考標準 |
| 航太維修 | 地面設備與測試條件是否一致可追溯? | 地面設備輸出、試車台微壓 | 校正實驗室與試車台比對 |
| 半導體 | 哪一區的壓力梯度正在變弱? | 潔淨室梯度、FFU 壓差、排氣負壓 | 全廠微壓比對計畫的攜行標準 |
| 醫療 | 這間手術室現在能不能排刀? | 手術室正壓、隔離病房負壓 | 受控房間定期驗證與稽核紀錄 |
第 6 章 預測怎麼做:從趨勢外推、物理模型到機器學習
「預測」常被誤解成一定要用深度學習。事實上,壓力類的預測大多可以從簡單的方法開始,逐步升級。重點不是方法多先進,而是預測結果能不能被現場相信、能不能轉成工單。以下依複雜度由低到高介紹五種方法,以及一個常被忽略的關鍵:漂移感知。
6.1 規則與門檻:最簡單,也最容易被誤用
固定門檻(例如「壓差大於 250 Pa 就警報」)是所有系統的起點。它的問題在於兩端:門檻設太緊,壓力稍有波動就警報;設太鬆,等到警報響時已經來不及。改善方法有三:加上遲滯帶(例如超過 250 Pa 觸發、降到 240 Pa 以下才解除),加上延時確認(持續超過 60 秒才成立),以及把門檻與不確定度綁在一起(讀值加上 U(k=2)仍在範圍內才算合格)。
6.2 統計管制:抓出「慢慢變壞」
對於緩慢變化,指數加權移動平均(EWMA)與累積和管制(CUSUM)比固定門檻敏感得多。EWMA 會讓最近的資料權重較高,同時平滑掉瞬間雜訊;CUSUM 則累積每一次偏離目標值的量,小偏差持續發生時會很快觸發。這兩種方法計算量小,可以直接在邊緣閘道或時序資料庫中執行。
6.3 趨勢外推:濾網、過濾器的剩餘天數
濾網、濾芯與過濾器的壓差上升通常相當規律,非常適合用線性或分段線性回歸外推「哪一天會到更換門檻」。實務上有兩個關鍵:
- 先正規化再外推:壓差會隨流量變化。若風機或泵浦有變頻,必須把壓差換算到同一個基準流量,否則趨勢線會被運轉模式牽著走。纖維濾材多接近層流,壓差約與流量成正比;紊流的管路元件則較接近與流量平方成正比,指數最好用現場資料回歸校估。
- 用日平均而不是原始值:以每日同一運轉狀態下的平均壓差做回歸,可以大幅降低雜訊,讓剩餘天數穩定,不會每小時跳來跳去。
第 8 章範例四提供了完整的剩餘天數計算程式,可以直接用在空調箱濾網、FFU、空壓過濾器與潤滑油濾芯。
6.4 物理+資料的混合模型:先算「應該是多少」
混合模型的做法,是先用物理關係算出「在這個運轉條件下,壓力應該是多少」,再拿實測值比較,對殘差做異常偵測。常見的物理關係包括:
- 泵浦:依泵浦性能曲線,由流量與轉速推算應有揚程;實測揚程(出口減入口壓力換算)持續低於預期,代表葉輪磨耗或內部洩漏。
- 管路與閥件:壓降與流量的關係(紊流近似與流量平方成正比),阻力係數上升代表結垢、堵塞或閥門開度異常。
- 房間壓力平衡:送風量減去回風與排氣量,再扣掉門縫與結構的滲漏,決定室壓;送排風量穩定但室壓下降,就要懷疑門或氣密。
這正是模擬型平台(例如 Ansys Twin Builder 的 Hybrid Analytics)擅長的事,但即使沒有大型平台,也可以用試算表或簡單程式先建立物理基準。混合模型對量測準確度特別敏感,因為殘差本身就是「實測減預期」:實測端的系統誤差會直接變成殘差偏移,這也是校正錨點在混合模型中不可或缺的原因。
6.5 機器學習:適合多變數、難以寫成公式的情境
當一個系統有數十個彼此影響的變數(例如潔淨室的多個房間壓差、送排風量、門禁事件與天候),孤立森林、自編碼器等非監督式方法可以學習「正常的組合長什麼樣子」,偏離時提出警示。導入時請留意:
- 訓練資料必須先排除已知的感測器故障與校正逾期資料,否則模型會把壞資料學成「正常」。
- 要能解釋:戰情室需要知道「是哪幾個點讓模型覺得異常」,否則值班人員無從下手。
- 要能回饋:每一次警報的處置結果(真異常、誤報、儀錶問題)都要標記回去,讓模型持續修正。
6.6 漂移感知:讓預測模型知道「感測器也會變」
這是本文最想強調的一點。預測模型通常假設感測器是準的,但現場的感測器會漂移。漂移感知的做法,是把感測器本身也當成孿生的一部分:
- 每個點位帶著不確定度:從點位主檔讀取最近一次比對的修正係數與 U(k=2),所有預測與警報都以修正後讀值與不確定度計算。
- 辨識漂移特徵:單一感測器緩慢、單調地偏離,而相鄰點位與物理模型都沒有對應變化,優先懷疑感測器本身。
- 自動排程比對:孿生判定「疑似漂移」時,不直接派維修工單,而是先產生「AT-803 比對」工單,確認後再決定是修設備還是修儀錶。
- 以歷史調整週期:累積每個點位的歷次比對誤差,漂移慢的點位延長週期、漂移快的點位縮短週期,校正資源用在最需要的地方。
6.7 預測模型上線前的驗收指標
表 6-1 預測與警報模型的驗收指標
| 指標 | 定義 | 為什麼重要 |
|---|---|---|
| 精確率(Precision) | 發出的警報中,真的有問題的比例 | 太低會造成警報疲乏,最後沒人理 |
| 召回率(Recall) | 真正的異常中,被提前抓到的比例 | 太低代表系統在關鍵時刻沉默 |
| 平均提前時間 | 從警報到實際失效或超標的平均時間 | 決定能不能來得及備料與排程 |
| 儀錶問題占比 | 警報中最後判定為感測器或迴路問題的比例 | 偏高代表校正錨點與資料品質規則需要加強 |
| 模型更新週期 | 重新訓練或重新校估參數的頻率 | 季節、配方、設備變更都會讓模型失準 |
本章重點
從門檻、統計、趨勢外推、混合模型到機器學習,方法可以逐步升級,但每一層的效果都受限於量測品質。把感測器的不確定度與漂移歷史放進孿生,是讓預測「準、穩、可被相信」最划算的一步。
第 7 章 導入路線圖、模擬案例、ROI 試算與八大地雷
數位孿生最怕「一次到位」的大計畫:預算很大、時程很長、等到上線時需求已經變了。我們建議以「先證明一個價值,再複製」的節奏推進。下表的四個階段,每一階段都有明確交付物,也清楚標示昶特能協助的範圍。
7.1 四階段導入路線圖
表 7-1 數位壓力錶接入孿生的四階段路線圖
| 階段 | 目標 | 主要工作 | 交付物 | 昶特 ATLANTIS 可協助 |
|---|---|---|---|---|
| 0 盤點 | 了解現況與缺口 | 點位清冊、儀錶現況、訊號與通訊能力、校正狀態、資安分區 | 點位主檔初版、缺口清單 | 儀錶選型、量程與精度建議、汰換評估 |
| 1 試點 | 證明一個具體價值 | 選一個系統(例如一台空調箱、一條產線的空壓),完成感測、資料、儀表板與一個預測案例 | 小型儀表板、第一個可驗證的預測(如濾網剩餘天數) | 線上傳送器、巡檢數位壓力錶、AT-803 比對方案 |
| 2 擴展 | 標準化並複製 | 統一點位命名、資料品質規則、警報合理化、選定孿生與儀表板平台 | 孿生模型、戰情室、校正計畫 | 規格統一、量產供貨、校正服務安排 |
| 3 優化 | 形成閉環 | 預測 → 工單 → 處置 → 回饋;模型定期重估;校正週期依漂移歷史調整 | KPI 改善報告、年度校正與維運計畫 | 校正週期建議、儀錶升級建議 |
7.2 ROI 怎麼算:用自己的數字,不用別人的案例
昶特產品採報價制,各廠的停機損失、能源單價與人力成本也差異很大,因此我們不提供「平均回收幾個月」這種數字,而是提供公式與試算工具,請用貴公司的實際數值計算:
公式裡的每一項都要能被追溯:停機時數來自工單與生產紀錄,能源節省來自電錶或壓縮機的運轉紀錄,工時來自巡檢排班。下一節以一個模擬案例,示範如何把這些改善代入公式。
7.3 模擬案例研究:北台灣某電子廠的「空壓+潔淨室」孿生試點
閱讀說明
本案例是依常見導入情境編寫的模擬案例,廠名已匿名,所有數值皆為假設值,用於示範導入步驟與效益計算方法,並非特定客戶的實測結果。實際效益請以貴廠數據評估。
案例背景
北台灣某電子組裝廠(匿名),一棟兩層廠房,設有四間潔淨室、兩台供應潔淨室的空調箱,以及由三台壓縮機組成的空壓系統。既有的建築管理系統只監看部分溫濕度;潔淨室壓差靠人員每天抄錶兩次,空壓系統只有機房裡的指針式壓力錶。廠務團隊共 4 人,負責全廠公用系統。
遭遇的問題
- 夜間異常看不見:潔淨室壓差每天只抄兩次,夜班期間若門禁故障造成壓差不足,最長要到隔天早上才會被發現。
- 數字互相打架:兩支既有的微差壓傳送器多年未校,讀值與巡檢手持儀錶不一致,現場人員不信任系統上的數字。
- 空壓設定壓力偏高:為了「保險」,空壓設定壓力長期維持在 7.0 bar,夜間與假日的洩漏量沒有人知道。
- 濾網更換憑經驗:空調箱濾網依固定週期更換,有時過早浪費濾材,有時太晚導致風量不足、室壓偏低。
- 停機原因說不清:公用系統造成的非計畫停機每月約 6 小時,但無法拆解是空壓、空調還是人為因素。
解決方案:三階段導入
表 7-2 模擬案例的三階段導入內容
| 階段 | 期間 | 量測層(昶特供應) | 資料與平台(客戶/系統整合商建置) | 交付成果 |
|---|---|---|---|---|
| 0 盤點 | 約 2 週 | 以 AT-803 比對兩支既有微差壓傳送器,其中一支最大誤差 0.58%F.S.,超出 ±0.5%F.S. 的允許值 | 建立約 20 個點位的點位主檔初版,標註角色、量程與校正狀態 | 點位主檔、校正紀錄、缺口清單 |
| 1 試點 | 約 8 週 | 四間潔淨室與兩台空調箱濾網加裝 DMPT-S221(RS485);空壓主幹管加裝 SDPT-3100(4–20 mA/HART);潔淨室門口加裝 DMPG-X022 現場顯示;巡檢改用 DPG-X112 匯出記錄 | 邊緣閘道 Modbus 轉 MQTT、類比訊號換算、TimescaleDB 與 Grafana 儀表板、濾網剩餘天數預測(第 8 章範例一、二、四、六) | 即時室壓監看、第一個可驗證的預測 |
| 2 擴展 | 約 3 個月 | 每 4 個月以 AT-803 比對微壓點位,修正係數與不確定度寫回點位主檔 | 警報合理化、警報一鍵開立工單、空壓設定壓力 What-if 模擬後下修 0.3 bar | 戰情室總覽、工單閉環、年度校正計畫 |
成效數據(導入 6 個月後,假設值)
表 7-3 模擬案例成效(假設值,用於示範計算方式)
| 指標 | 導入前 | 導入後 | 改善幅度 |
|---|---|---|---|
| 公用系統造成的非計畫停機 | 約 6 小時/月 | 約 2 小時/月 | ↓ 約 67% |
| 潔淨室壓差異常的發現時間 | 最長約 12 小時(依抄錶間隔) | 約 5 分鐘內(含延時確認) | ↓ 約 99% |
| 潔淨室人工抄錶工時 | 約 10 小時/週 | 約 4 小時/週 | ↓ 60% |
| 微壓點位最大偏差(AT-803 比對結果) | 0.29 Pa(0.58%F.S.) | 修正後殘差約 0.06 Pa | ↓ 約 80% |
| 空壓設定壓力 | 7.0 bar | 6.7 bar | 壓縮機耗能約 ↓ 2%(經驗估計) |
| 空調箱濾網年度更換次數 | 固定週期,每年 4 次 | 依剩餘天數排程,約每年 3 次 | ↓ 約 25% |
投資回報:用公式代入自己的數字
依 7.2 的公式,這個模擬案例每月可量化的效益包括:減少停機約 4 小時、壓縮機耗能約 2%,以及抄錶工時每月約 26 小時(每週 6 小時 × 約 4.33 週)。代入公式即為:
停機損失、電費與工時成本因廠而異,因此本文不代為估算金額。從這個模擬案例的結構可以看出,停機時數通常是效益的最大來源:只要每小時停機損失夠高,單靠減少停機就足以支撐投資;能源與工時的節省則屬於長期、穩定的效益;濾材用量與品質損失的減少,可在有數據後再加入計算。請把貴廠的數值填入下方的試算器。
案例啟示
- 第一個月最大的收穫不是預測,而是「發現原本的數字不可信」:AT-803 比對讓團隊重新建立對資料的信任,後續的警報與預測才有人願意看。
- 試點範圍小(一棟廠房、約 20 個點位),兩個月內就能看到第一個可驗證的預測結果,比一開始就規劃全廠孿生更容易取得主管支持。
- 效益主要來自「更早發現」與「更少誤報」,而不是更複雜的演算法;演算法可以之後再升級,量測品質卻必須一開始就做對。
7.4 ROI 試算器
輸入貴公司的數值即可試算(所有欄位皆由您自行填入,本工具不預設任何價格):
7.5 八大地雷:別人踩過的坑
- 先買平台,再找資料:平台選定後才發現點位不足、訊號無法輸出、量程不合。正確順序是先盤點點位與資料品質。
- 只有讀值,沒有中繼資料:沒有量程、單位、安裝位置與校正紀錄的讀值,孿生無法判斷可信度,也無法做跨點位推論。
- 時間沒有同步:閘道、PLC、伺服器時間各自為政,事件追溯時順序全亂。請以 NTP 對時並一律以 UTC 儲存。
- 警報氾濫:每個點位都設上下限,結果一天上百則警報。請依 ISA-18.2 做警報合理化,並區分製程異常與資料異常。
- 微壓安裝錯誤:導壓管一高一低、取壓口正對出風口、門縫邊緣量室壓,讀值本身就不代表現場。請參考第 2 章的八個現場要點。
- 漂移沒有錨點:沒有參考標準的系統,最後只能靠放寬門檻來減少誤報,預警能力也一併消失。
- 把孿生當控制系統:安全連鎖與關鍵控制仍應由 PLC、DCS 或 SIS 執行,雲端或孿生中斷時,現場必須能獨立安全運轉。
- 資安沒有分區:感測器與閘道直接暴露在辦公網路或網際網路上。請依 IEC 62443 的區域與管道概念切分 OT 與 IT,並由資安團隊審查對外連線。
7.6 分工表:誰負責什麼
表 7-4 昶特與客戶/系統整合商的分工
| 項目 | 昶特 ATLANTIS | 客戶/系統整合商 |
|---|---|---|
| 儀錶選型、量程與精度建議 | ✅ 負責 | 提供製程條件、介質與安裝環境 |
| 數位壓力錶、傳送器、校正級儀錶供應 | ✅ 負責 | — |
| 校正服務與校正報告安排 | ✅ 可協助安排 | 依品質系統規劃校正週期 |
| 現場安裝、配管與配線 | 提供建議 | ✅ 負責 |
| 邊緣閘道、網路與資安 | — | ✅ 負責 |
| 雲端、孿生平台、資料庫建置(含 AWS、Azure 等) | —(不提供串接服務) | ✅ 負責 |
| 儀表板、戰情室與預測模型 | — | ✅ 負責 |
| 串接範例程式 | 本文提供教學範例 | 依自身環境修改、測試與維護 |
第 8 章 客戶自行串接範例程式:從數位壓力錶到孿生與戰情室
使用前請先閱讀
昶特 ATLANTIS 不提供 IoT、AWS、Azure 等雲端串接或數位孿生平台建置服務,資料串接需由客戶或其系統整合商自行完成。以下範例程式為教學用途,站號、暫存器位址、比例係數、主題名稱與雲端資源名稱皆為示意,請依各型號通訊手冊、貴公司資安政策與平台官方文件調整,並在測試環境充分驗證後再上線。範例僅用於監測與分析,不可取代 PLC、DCS 或安全儀錶系統的控制與連鎖功能。
六段範例依資料流向排列:範例一、二在邊緣層把感測訊號轉成帶品質碼的資料;範例三把 AT-803 的比對結果變成修正係數與不確定度;範例四做濾網剩餘天數預測;範例五把狀態寫進 Azure Digital Twins;範例六在時序資料庫與 Grafana 建立戰情室畫面。各段可以獨立使用,也可以串成一條完整的管線。
表 8-1 六段範例程式一覽
| 範例 | 檔名 | 所在層級 | 解決的問題 |
|---|---|---|---|
| 一 | modbus_to_mqtt_edge.py | L2 邊緣層 | RS-485 Modbus 輪詢,套用修正係數並加上品質碼後發佈 MQTT |
| 二 | ma_scaling_ne43.py | L2 邊緣層 | 4–20 mA 換算與 NAMUR NE43 故障判斷 |
| 三 | at803_reference_check.py | L1/L3 校正紀錄 | 以 AT-803 為參考標準計算誤差、修正係數、TUR 與不確定度 |
| 四 | filter_remaining_days.py | L5 預測 | 風量正規化後外推濾網剩餘天數 |
| 五 | pressure_sensor_dtdl.json/adt_update_twin.py | L4 孿生層 | DTDL 模型與 Azure Digital Twins 狀態更新、關係建立 |
| 六 | timescale_grafana.sql | L3 資料層/L5 儀表板 | 時序資料表、5 分鐘彙總、Grafana 戰情室查詢 |
8.1 範例一:RS-485 Modbus RTU 輪詢 → MQTT(含品質碼與校正中繼資料)
這支程式是整條管線的起點。它和一般「讀值就送」的範例有三個差異:讀值先套用 AT-803 比對所得的修正係數;每筆資料帶上品質碼(通訊錯誤、超量程、校正逾期);時間戳一律使用 UTC。適用於 DMPT-S221 等具 RS485 輸出的傳送器,暫存器位址請以各型號通訊手冊為準。
# ===== 檔案名稱:modbus_to_mqtt_edge.py =====
# ===== 用途:RS-485 Modbus RTU 輪詢壓力/差壓傳送器 → 發佈 MQTT(含資料品質與校正中繼資料)=====
# ===== 執行環境:Python 3.9+,工業電腦或邊緣閘道(Linux/Windows 皆可)=====
# ===== 安裝套件:pip install "pymodbus[serial]>=3.6" "paho-mqtt>=2.0"(serial 會一併安裝 pyserial)=====
# ===== 注意:站號、暫存器位址、資料型別、比例係數皆為示意,請以各型號通訊手冊為準 =====
# ===== 注意:本程式僅供監測用途;安全連鎖與控制請保留在 PLC/DCS/SIS =====
import json
import struct
import time
import logging
from datetime import datetime, timezone
from pymodbus.client import ModbusSerialClient
import paho.mqtt.client as mqtt
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
log = logging.getLogger("edge")
# ---------- 1. 通訊設定 ----------
SERIAL_PORT = "/dev/ttyUSB0" # Windows 範例:"COM3"
BAUDRATE = 9600
PARITY = "N"
STOPBITS = 1
POLL_SECONDS = 5 # 輪詢週期(秒)
MQTT_HOST = "192.168.10.20" # 廠內 MQTT Broker 位址(請改為貴公司設定)
MQTT_PORT = 1883 # 正式環境建議改用 8883 並啟用 TLS 與帳號密碼
MQTT_TOPIC_ROOT = "plant1/fmcs" # 主題根目錄(示意)
# ---------- 2. 點位主檔:孿生需要的中繼資料 ----------
# slave:Modbus 站號;register:保持暫存器起始位址;dtype:int16 或 float32;scale:讀值乘數
# cal_gain/cal_offset/u95/cal_due:由 AT-803 比對作業產生(見範例三)
POINTS = [
{
"point_id": "CR-B2-ROOM-DP-01",
"slave": 1, "register": 0, "dtype": "int16", "scale": 0.1,
"unit": "Pa", "range_min": 0.0, "range_max": 50.0,
"location": "B2 黃光區 → 走廊",
"cal_gain": 0.99673, "cal_offset": -0.1295,
"u95": 0.076, "cal_due": "2027-04-12",
},
{
"point_id": "AHU-03-FILTER-DP",
"slave": 2, "register": 0, "dtype": "float32", "scale": 1.0,
"unit": "Pa", "range_min": 0.0, "range_max": 500.0,
"location": "3F 空調箱 AHU-03 中效濾網",
"cal_gain": 1.0, "cal_offset": 0.0,
"u95": 2.5, "cal_due": "2027-01-31",
},
]
def call_with_unit_id(func, unit_id, **kwargs):
"""pymodbus 3.x 不同版本的站號參數名稱不同(device_id/slave/unit),依序嘗試。"""
for key in ("device_id", "slave", "unit"):
try:
return func(**kwargs, **{key: unit_id})
except TypeError:
continue
raise RuntimeError("無法呼叫 pymodbus 讀取函式,請確認套件版本")
def decode(registers, dtype):
"""把暫存器內容轉成數值。float32 預設高字在前,若讀值異常請交換兩個暫存器順序。"""
if dtype == "int16":
v = registers[0]
return v - 65536 if v > 32767 else v
if dtype == "float32":
raw = struct.pack(">HH", registers[0], registers[1])
return struct.unpack(">f", raw)[0]
raise ValueError(f"未支援的資料型別:{dtype}")
def read_point(client, p):
"""讀取單一點位,回傳(修正後讀值, 品質碼)。"""
count = 2 if p["dtype"] == "float32" else 1
try:
rr = call_with_unit_id(client.read_holding_registers, p["slave"],
address=p["register"], count=count)
except Exception as exc: # 通訊逾時、斷線等
log.error("%s 讀取例外:%s", p["point_id"], exc)
return None, "COMM_ERROR"
if rr.isError():
return None, "COMM_ERROR"
raw = decode(rr.registers, p["dtype"]) * p["scale"]
value = raw * p["cal_gain"] + p["cal_offset"] # 套用 AT-803 比對所得的修正係數
span = p["range_max"] - p["range_min"]
today = datetime.now(timezone.utc).date().isoformat()
if value < p["range_min"] - 0.02 * span or value > p["range_max"] + 0.02 * span:
quality = "OUT_OF_RANGE"
elif today > p["cal_due"]:
quality = "CAL_OVERDUE" # 讀值仍送出,但標示校正逾期
else:
quality = "GOOD"
return round(value, 4), quality
def build_mqtt_client():
try: # paho-mqtt 2.x
c = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="edge-fmcs-01")
except AttributeError: # paho-mqtt 1.x
c = mqtt.Client(client_id="edge-fmcs-01")
c.connect(MQTT_HOST, MQTT_PORT, keepalive=60)
c.loop_start()
return c
def main():
modbus = ModbusSerialClient(port=SERIAL_PORT, baudrate=BAUDRATE, parity=PARITY,
stopbits=STOPBITS, bytesize=8, timeout=1)
if not modbus.connect():
raise SystemExit("RS-485 連線失敗:請檢查序列埠名稱、接線極性與終端電阻")
mq = build_mqtt_client()
log.info("邊緣輪詢開始,共 %d 個點位", len(POINTS))
try:
while True:
t0 = time.time()
ts = datetime.now(timezone.utc).isoformat() # 一律以 UTC 儲存,顯示時再轉當地時間
for p in POINTS:
value, quality = read_point(modbus, p)
payload = {
"ts": ts, "point_id": p["point_id"], "value": value,
"unit": p["unit"], "quality": quality, "u95": p["u95"],
"cal_due": p["cal_due"], "location": p["location"],
}
topic = f"{MQTT_TOPIC_ROOT}/{p['point_id']}"
mq.publish(topic, json.dumps(payload, ensure_ascii=False), qos=1)
if quality != "GOOD":
log.warning("%s 品質=%s 讀值=%s", p["point_id"], quality, value)
time.sleep(max(0.0, POLL_SECONDS - (time.time() - t0)))
except KeyboardInterrupt:
log.info("使用者中止")
finally:
modbus.close()
mq.loop_stop()
mq.disconnect()
if __name__ == "__main__":
main()8.2 範例二:4–20 mA 換算與 NAMUR NE43 故障判斷
類比訊號最大的風險,是「斷線時讀到 0 mA,換算成負壓或零壓」,讓孿生誤以為現場失壓。NAMUR NE43 定義了故障電流範圍,依此判斷可以把「迴路或感測器故障」與「製程異常」分開處理。
# ===== 檔案名稱:ma_scaling_ne43.py =====
# ===== 用途:4–20 mA 換算為壓力工程值,並依 NAMUR NE43 區分「製程異常」與「迴路/感測器故障」=====
# ===== 執行環境:Python 3.9+(只用標準函式庫)=====
# ===== mA 值來源:PLC 類比輸入、資料擷取模組或 Modbus 類比模組(依貴公司架構)=====
from dataclasses import dataclass
@dataclass
class AnalogPoint:
point_id: str
range_min: float # 4 mA 對應的工程值
range_max: float # 20 mA 對應的工程值
unit: str
# NAMUR NE43 常用門檻(mA)
NE43_FAIL_LOW = 3.6 # ≤ 3.6 mA:判定故障(斷線、感測器失效)
NE43_MEAS_LOW = 3.8 # 3.6~3.8 mA:低於量測範圍
NE43_MEAS_HIGH = 20.5 # 20.5~21.0 mA:高於量測範圍
NE43_FAIL_HIGH = 21.0 # ≥ 21.0 mA:判定故障
def ma_to_value(ma: float, p: AnalogPoint):
"""回傳(工程值, 品質碼)。故障時不回傳數值,避免孿生把故障當成真實壓力。"""
if ma <= NE43_FAIL_LOW:
return None, "SENSOR_FAIL_LOW"
if ma >= NE43_FAIL_HIGH:
return None, "SENSOR_FAIL_HIGH"
value = p.range_min + (ma - 4.0) * (p.range_max - p.range_min) / 16.0
if ma < NE43_MEAS_LOW:
return round(value, 4), "UNDER_RANGE"
if ma > NE43_MEAS_HIGH:
return round(value, 4), "OVER_RANGE"
return round(value, 4), "GOOD"
if __name__ == "__main__":
pump = AnalogPoint("CHW-P02-DISCHARGE", 0.0, 10.0, "bar") # 0–10 bar 對應 4–20 mA(示意)
for ma in (2.0, 3.7, 4.0, 12.0, 19.9, 20.8, 22.0):
value, quality = ma_to_value(ma, pump)
print(f"{ma:5.2f} mA → {value} {pump.unit} 品質={quality}")執行結果示意:12.00 mA 對應 5.0 bar、品質 GOOD;20.80 mA 對應 10.5 bar、品質 OVER_RANGE;2.00 mA 與 22.00 mA 不回傳數值,分別標示為 SENSOR_FAIL_LOW 與 SENSOR_FAIL_HIGH。
8.3 範例三:以 AT-803 為參考標準,計算修正係數、TUR 與不確定度
這是 AT-803 在孿生中最核心的用法。比對作業完成後,把每個測試點的參考讀值與被校讀值填入,程式會算出修正前的最大誤差與遲滯、最小平方法修正係數、TUR 與擴充不確定度,並產生可直接寫入點位主檔的 JSON 校正紀錄。
# ===== 檔案名稱:at803_reference_check.py =====
# ===== 用途:以 AT-803(官方公開精度 ±0.02%F.S.)為參考標準,比對線上微差壓傳送器,
# 計算修正前誤差、遲滯、修正係數、TUR 與擴充不確定度,輸出可寫入孿生的校正紀錄 =====
# ===== 執行環境:Python 3.9+(只用標準函式庫)=====
# ===== 注意:數據為示意;正式校正請依貴公司程序書,參考標準本身須定期送校並保留報告 =====
import json
import math
from datetime import date, timedelta
# ---------- 1. 被校儀錶與參考標準 ----------
DUT = { # Device Under Test:被校的線上感測器
"point_id": "CR-B2-ROOM-DP-01",
"range_fs": 50.0, # 滿量程(Pa)
"unit": "Pa",
"spec_pct_fs": 0.5, # 允許誤差 ±0.5%F.S.(示意,請依實際規格)
}
REF = { # 參考標準:AT-803(請以其校正報告的量程與不確定度為準)
"model": "ATLANTIS AT-803 (AT803-D)",
"range_fs": 50.0, # 假設與被校儀錶同量程(示意)
"spec_pct_fs": 0.02,
"cert_no": "REF-CERT-XXXX",
}
CAL_INTERVAL_DAYS = 180 # 下次比對間隔,可依歷次漂移調整
# ---------- 2. 比對數據:(方向, 參考讀值, 被校讀值) ----------
# up = 升壓、down = 降壓;每個點建議取 3 次以上讀值平均後再填入
READINGS = [
("up", 0.00, 0.09), ("up", 12.50, 12.66), ("up", 25.00, 25.21),
("up", 37.50, 37.73), ("up", 50.00, 50.26),
("down", 50.00, 50.29), ("down", 37.50, 37.78), ("down", 25.00, 25.27),
("down", 12.50, 12.71), ("down", 0.00, 0.12),
]
def linear_fit(xs, ys):
"""最小平方法 y = a·x + b(x = 被校讀值,y = 參考讀值);修正後讀值 = a·讀值 + b"""
n = len(xs)
mx, my = sum(xs) / n, sum(ys) / n
sxx = sum((x - mx) ** 2 for x in xs)
sxy = sum((x - mx) * (y - my) for x, y in zip(xs, ys))
a = sxy / sxx
return a, my - a * mx
def main():
fs = DUT["range_fs"]
errors = [(d, ref, dut, dut - ref) for d, ref, dut in READINGS]
max_err = max(abs(e[3]) for e in errors)
# 遲滯:同一參考點升壓與降壓讀值的最大差
hyst = 0.0
for ref in sorted({r for _, r, _ in READINGS}):
ups = [dut for d, r, dut in READINGS if d == "up" and r == ref]
downs = [dut for d, r, dut in READINGS if d == "down" and r == ref]
if ups and downs:
hyst = max(hyst, abs(ups[0] - downs[0]))
gain, offset = linear_fit([e[2] for e in errors], [e[1] for e in errors])
residual_max = max(abs(gain * e[2] + offset - e[1]) for e in errors)
# TUR:被校儀錶允許誤差 ÷ 參考標準誤差(換算成相同單位)
dut_tol = DUT["spec_pct_fs"] / 100 * fs
ref_err = REF["spec_pct_fs"] / 100 * REF["range_fs"]
tur = dut_tol / ref_err
# 簡化不確定度:參考標準+修正後殘差+遲滯(皆以矩形分佈換算),k = 2
u_ref = ref_err / math.sqrt(3)
u_resid = residual_max / math.sqrt(3)
u_hyst = (hyst / 2) / math.sqrt(3)
u95 = 2 * math.sqrt(u_ref ** 2 + u_resid ** 2 + u_hyst ** 2)
record = {
"point_id": DUT["point_id"],
"date": date.today().isoformat(),
"reference": {"model": REF["model"], "cert_no": REF["cert_no"]},
"as_found": {
"max_error": round(max_err, 3),
"max_error_pct_fs": round(max_err / fs * 100, 3),
"hysteresis": round(hyst, 3),
"pass": max_err <= dut_tol,
},
"correction": {"gain": round(gain, 5), "offset": round(offset, 4),
"residual_max": round(residual_max, 4)},
"tur": round(tur, 1),
"u95": round(u95, 3),
"unit": DUT["unit"],
"cal_due": (date.today() + timedelta(days=CAL_INTERVAL_DAYS)).isoformat(),
}
print(json.dumps(record, ensure_ascii=False, indent=2))
if tur < 4:
print("提醒:TUR 低於 4:1,請改用量程更貼近或等級更高的參考標準")
if not record["as_found"]["pass"]:
print("提醒:修正前誤差超出允許值,請評估上次比對後的歷史資料是否需標記")
if __name__ == "__main__":
main()以範例數據執行,修正前最大誤差為 0.29 Pa(0.58%F.S.),超出 ±0.5%F.S. 的允許值,程式會提醒評估歷史資料;修正係數約為增益 0.99673、偏移 −0.1295 Pa,修正後殘差最大約 0.058 Pa,TUR 為 25:1,擴充不確定度約 0.076 Pa(k = 2)。範例一的點位主檔即採用這組結果。這個例子也說明了:若沒有定期比對,這支傳送器的偏差會一直被當成「真實室壓」進入孿生。
8.4 範例四:濾網剩餘天數預測(含風量正規化)
對應第 6 章的趨勢外推方法。輸入每日平均壓差與風量,程式先把壓差換算到設計風量,再以最近 21 天回歸計算上升速率與剩餘天數,可直接接到工單系統或戰情室的「濾網剩餘天數」磚。
# ===== 檔案名稱:filter_remaining_days.py =====
# ===== 用途:以壓差趨勢外推濾網剩餘天數(含風量正規化),供戰情室排程與自動開立工單 =====
# ===== 執行環境:Python 3.9+(只用標準函式庫)=====
# ===== 輸入:每日同一運轉狀態下的平均壓差與平均風量(可由時序資料庫彙總後取得)=====
from datetime import date, timedelta
from statistics import mean, pstdev
DP_LIMIT = 250.0 # 更換門檻(Pa),依濾網規格與 SOP 設定(示意)
Q_DESIGN = 12000.0 # 設計風量(m³/h)
FLOW_EXPONENT = 1.0 # ΔP ∝ Qⁿ:纖維濾材接近層流 n≈1;粗效或紊流元件可能接近 2,請以實測回歸校估
WINDOW_DAYS = 21 # 回歸使用的最近天數
def normalize(dp, q):
"""把不同風量下的壓差換算到設計風量,避免變頻造成的假趨勢。"""
return dp * (Q_DESIGN / q) ** FLOW_EXPONENT
def fit_line(xs, ys):
"""簡單線性回歸,回傳(斜率, 截距, 殘差標準差)。"""
mx, my = mean(xs), mean(ys)
sxx = sum((x - mx) ** 2 for x in xs)
slope = sum((x - mx) * (y - my) for x, y in zip(xs, ys)) / sxx
intercept = my - slope * mx
residuals = [y - (slope * x + intercept) for x, y in zip(xs, ys)]
return slope, intercept, pstdev(residuals)
def remaining_days(history):
"""history:[(日期, 日平均壓差 Pa, 日平均風量 m³/h), ...],建議至少 7 天。"""
recent = history[-WINDOW_DAYS:]
xs = [(d - recent[0][0]).days for d, _, _ in recent]
ys = [normalize(dp, q) for _, dp, q in recent]
slope, intercept, sd = fit_line(xs, ys)
current = slope * xs[-1] + intercept
if slope <= 0:
return None, current, slope, sd
return max(0.0, (DP_LIMIT - current) / slope), current, slope, sd
if __name__ == "__main__":
# 示意資料:設計風量下的壓差每日約上升 1.6 Pa;實際風量因變頻在 9,000~12,000 m³/h 之間變動
start = date(2026, 9, 15)
history = []
for i in range(30):
q = 12000 - (i % 4) * 1000
dp_at_design = 160 + 1.6 * i + (-1) ** i * 1.5 # 設計風量下的「真實」壓差
dp_measured = dp_at_design * (q / Q_DESIGN) ** FLOW_EXPONENT
history.append((start + timedelta(days=i), dp_measured, q))
days_left, current, slope, sd = remaining_days(history)
print(f"目前正規化壓差:{current:.1f} Pa|上升速率:{slope:.2f} Pa/天|殘差標準差:{sd:.1f} Pa")
if days_left is None:
print("壓差沒有上升趨勢,暫無更換需求(也請確認感測器是否卡值或通訊中斷)")
else:
due = history[-1][0] + timedelta(days=round(days_left))
print(f"預估剩餘天數:{days_left:.0f} 天 → 建議於 {due.isoformat()} 前完成更換排程")以範例資料執行,正規化後的目前壓差約 206 Pa、每日上升約 1.6 Pa,距離 250 Pa 門檻約剩 27 天。若未做風量正規化,變頻造成的壓差起伏會讓回歸斜率大幅失真。
8.5 範例五:DTDL 模型與 Azure Digital Twins 狀態更新
以下 DTDL 定義了「受控房間」與「壓力感測點」兩種模型,感測點透過 monitors 關係連到房間。感測點除了壓力值,還帶有品質碼、不確定度、修正係數與校正到期日,讓孿生在查詢時就能知道每個讀值的可信程度。
[
{
"@id": "dtmi:atlantisdemo:Room;1",
"@type": "Interface",
"@context": "dtmi:dtdl:context;2",
"displayName": "受控房間(示意)",
"contents": [
{ "@type": "Property", "name": "roomName", "schema": "string" },
{ "@type": "Property", "name": "pressureSetpoint", "schema": "double" },
{ "@type": "Property", "name": "readiness", "schema": "string" }
]
},
{
"@id": "dtmi:atlantisdemo:PressureSensor;1",
"@type": "Interface",
"@context": "dtmi:dtdl:context;2",
"displayName": "壓力/差壓感測點(示意)",
"contents": [
{ "@type": ["Property", "Pressure"], "name": "pressure", "schema": "double", "unit": "pascal" },
{ "@type": "Property", "name": "quality", "schema": "string" },
{ "@type": "Property", "name": "u95", "schema": "double" },
{ "@type": "Property", "name": "calDue", "schema": "date" },
{ "@type": "Property", "name": "calGain", "schema": "double" },
{ "@type": "Property", "name": "calOffset", "schema": "double" },
{ "@type": "Relationship", "name": "monitors", "target": "dtmi:atlantisdemo:Room;1" }
]
}
]# ===== 檔案名稱:adt_update_twin.py =====
# ===== 用途:把邊緣閘道送出的壓力讀值與校正中繼資料,更新到 Azure Digital Twins 的對應孿生 =====
# ===== 安裝套件:pip install azure-digitaltwins-core azure-identity =====
# ===== 前置作業(由客戶自行完成):建立 Azure Digital Twins 執行個體、上傳 DTDL 模型、
# 設定本程式身分的存取權限(例如 Azure Digital Twins Data Owner 角色)=====
# ===== 建議:高頻原始資料先存時序資料庫,孿生只更新「最新狀態」或分鐘級彙總,避免超出服務限制 =====
import json
import os
from azure.core.exceptions import ResourceNotFoundError
from azure.digitaltwins.core import DigitalTwinsClient
from azure.identity import DefaultAzureCredential
ADT_URL = os.environ.get("ADT_URL", "https://<your-instance>.api.<region>.digitaltwins.azure.net")
SENSOR_MODEL = "dtmi:atlantisdemo:PressureSensor;1"
client = DigitalTwinsClient(ADT_URL, DefaultAzureCredential())
def ensure_twin(twin_id: str, cal: dict):
"""孿生不存在時建立;屬性名稱必須與上傳的 DTDL 模型一致。"""
try:
client.get_digital_twin(twin_id)
except ResourceNotFoundError:
client.upsert_digital_twin(twin_id, {
"$metadata": {"$model": SENSOR_MODEL},
"pressure": 0.0,
"quality": "INIT",
"u95": cal.get("u95", 0.0),
"calDue": cal.get("cal_due", "2000-01-01"),
"calGain": cal.get("cal_gain", 1.0),
"calOffset": cal.get("cal_offset", 0.0),
})
def update_from_payload(payload: dict):
"""payload 格式與範例一的 MQTT 訊息相同。"""
twin_id = payload["point_id"]
ensure_twin(twin_id, payload)
patch = [
{"op": "replace", "path": "/quality", "value": payload["quality"]},
{"op": "replace", "path": "/u95", "value": payload["u95"]},
{"op": "replace", "path": "/calDue", "value": payload["cal_due"]},
]
if payload.get("value") is not None: # 感測器故障時不覆寫最後一筆有效讀值
patch.append({"op": "replace", "path": "/pressure", "value": payload["value"]})
client.update_digital_twin(twin_id, patch)
def link_sensor_to_room(sensor_id: str, room_id: str):
"""建立「感測器 monitors 房間」的關係,讓孿生能由房間反查負責的感測點。"""
relationship_id = f"{sensor_id}-monitors-{room_id}"
client.upsert_relationship(sensor_id, relationship_id, {
"$relationshipId": relationship_id,
"$sourceId": sensor_id,
"$relationshipName": "monitors",
"$targetId": room_id,
})
if __name__ == "__main__":
demo = {"point_id": "CR-B2-ROOM-DP-01", "value": 14.82, "quality": "GOOD",
"u95": 0.076, "cal_due": "2027-04-12"}
update_from_payload(demo)
print(json.dumps(client.get_digital_twin(demo["point_id"]), ensure_ascii=False, indent=2))實務建議:Azure Digital Twins 適合保存「最新狀態」與「關係」,秒級的原始資料建議先寫入時序資料庫(範例六),再以分鐘級頻率更新孿生;身分驗證請使用受控識別或服務主體,不要把金鑰寫在程式中。
8.6 範例六:TimescaleDB 時序資料與 Grafana 戰情室查詢
最後一段建立壓力時序資料表與 5 分鐘連續彙總,並提供三個 Grafana 面板查詢:區域室壓趨勢、各點位資料可用率,以及最新讀值與品質。彙總時只計入品質良好的資料,同時保留樣本數,讓戰情室能分辨「數值正常」與「其實沒有資料」。
-- ===== 檔案名稱:timescale_grafana.sql =====
-- ===== 用途:建立壓力時序資料表(含品質碼與不確定度)、5 分鐘連續彙總,以及 Grafana 面板查詢 =====
-- ===== 環境:PostgreSQL 14+ 與 TimescaleDB 擴充套件;MQTT 訊息可由 Telegraf、Node-RED 或自寫程式寫入 =====
CREATE EXTENSION IF NOT EXISTS timescaledb;
CREATE TABLE IF NOT EXISTS pressure_ts (
ts TIMESTAMPTZ NOT NULL,
point_id TEXT NOT NULL,
value DOUBLE PRECISION, -- 感測器故障時為 NULL
unit TEXT NOT NULL,
quality TEXT NOT NULL, -- GOOD / OUT_OF_RANGE / CAL_OVERDUE / COMM_ERROR ...
u95 DOUBLE PRECISION -- 擴充不確定度(k = 2)
);
SELECT create_hypertable('pressure_ts', 'ts', if_not_exists => TRUE);
CREATE INDEX IF NOT EXISTS idx_pressure_point_ts ON pressure_ts (point_id, ts DESC);
-- 5 分鐘連續彙總:平均、最大、最小只計入品質良好的資料,並保留樣本數計算資料可用率
CREATE MATERIALIZED VIEW IF NOT EXISTS pressure_5m
WITH (timescaledb.continuous) AS
SELECT time_bucket(INTERVAL '5 minutes', ts) AS bucket,
point_id,
avg(CASE WHEN quality = 'GOOD' THEN value END) AS avg_value,
max(CASE WHEN quality = 'GOOD' THEN value END) AS max_value,
min(CASE WHEN quality = 'GOOD' THEN value END) AS min_value,
sum(CASE WHEN quality = 'GOOD' THEN 1 ELSE 0 END) AS good_samples,
count(*) AS all_samples
FROM pressure_ts
GROUP BY bucket, point_id
WITH NO DATA;
SELECT add_continuous_aggregate_policy('pressure_5m',
start_offset => INTERVAL '1 day',
end_offset => INTERVAL '5 minutes',
schedule_interval => INTERVAL '5 minutes');
-- Grafana 時序面板:B2 區室壓趨勢($__timeFilter 為 Grafana PostgreSQL 資料來源巨集)
SELECT bucket AS "time", point_id AS metric, avg_value
FROM pressure_5m
WHERE $__timeFilter(bucket) AND point_id LIKE 'CR-B2-%'
ORDER BY bucket;
-- Grafana 表格面板:各點位資料可用率(%),由低到高排序,最需要處理的排最前面
SELECT point_id,
round(100.0 * sum(good_samples) / nullif(sum(all_samples), 0), 2) AS availability_pct
FROM pressure_5m
WHERE $__timeFilter(bucket)
GROUP BY point_id
ORDER BY availability_pct ASC;
-- Grafana 表格面板:最新一筆讀值與品質(戰情室「資料品質」磚)
SELECT DISTINCT ON (point_id) point_id, ts AS "time", value, unit, quality, u95
FROM pressure_ts
WHERE ts > now() - INTERVAL '15 minutes'
ORDER BY point_id, ts DESC;延伸參考
若貴公司選擇以 AWS 建置歷史資料庫,可參考站內文章把壓力溫度數據寫入 DynamoDB;工業 4.0 整體架構可參考工業 4.0 壓力感測器整合指南。雲端服務的建置與費用皆由客戶自行規劃與負擔。
第 9 章 數位壓力錶接入數位孿生:20 個常見問題
以下整理工程師、廠務、設施管理與採購人員在規劃「數位壓力錶接入數位孿生」時最常提出的 20 個問題,依主題分成六類。點選問題即可展開答案。
一、基本觀念
❓ Q1:數位壓力錶可以直接接入數位孿生嗎?
可以,但通常不是「直接」接。數位壓力錶或壓力傳送器的訊號(RS-485 Modbus RTU、HART、4–20 mA,或巡檢錶匯出的記錄檔)需要先經過邊緣閘道或 PLC,轉成 MQTT、OPC UA 等協定,加上 UTC 時間戳與品質碼,寫入時序資料庫,再同步到孿生平台與儀表板。
可以使用哪一種訊號,取決於型號與訂購規格。昶特 ATLANTIS 負責量測層的儀錶供應與選型建議;閘道、雲端、孿生平台與儀表板的串接,需由客戶或系統整合商自行完成,本文第 8 章提供六段範例程式供參考。
❓ Q2:AT-803 數位壓力錶在數位孿生裡扮演什麼角色?
AT-803(目錄型號 AT803-D)是高精度數位差壓錶,官方公開精度可達 ±0.02%F.S.,定位為微壓量測的標準級儀錶。在孿生架構中,它最適合擔任「量測真值錨點」:
- 定期比對潔淨室、手術室、風管與濾網等微壓點位的線上傳送器。
- 產生誤差、修正係數、擴充不確定度與校正到期日,寫回孿生的感測器模型。
- 協助孿生分辨「感測器漂移」與「真實製程變化」,降低誤報。
換句話說,AT-803 讓孿生不只知道讀值是多少,也知道這個讀值可以信到什麼程度。
❓ Q3:AT-803 有 RS-485 或 4–20 mA 輸出嗎?可以 24 小時連線上傳嗎?
AT-803 的量程、接頭與輸出介面依訂購規格而定,請於詢價時說明是否需要訊號輸出、輸出形式與用途,由昶特業務確認可供應的配置。若訂購規格具備數位或類比輸出,可依第 2 章的路徑 A、B 接入閘道或 PLC。
實務上最常見、投資也最小的做法是路徑 C「校正錨點作業」:攜帶 AT-803 到現場比對,再把結果整理成校正紀錄上傳。需要 24 小時連續回報的點位,建議搭配 DMPT-S221 這類可選 RS485 或 4–20 mA 輸出的數位微差壓傳送器。
❓ Q4:數位壓力錶和壓力傳送器在孿生中要怎麼分工?
建議用「角色」來分工,而不是用產品類別:
- 線上感測節點負責「頻率」:24 小時連續輸出,供警報、趨勢與預測使用,例如 DMPT-S221、SDPT-3351、SDPT-3100、DPT-AC。
- 巡檢節點負責「覆蓋」:例如 DPG-X112 可透過 Type-C 或藍芽匯出記錄,補足尚未佈線的點位。
- 真值錨點負責「可信度」:例如 AT-803、DPG-0.05B4.5(5CD)、IPC-801,定期驗證線上節點。
在點位主檔中替每支儀錶標上角色,就能決定它的訊號形式、資料頻率與校正策略。
二、校正與量測可信度
❓ Q5:感測器出廠前都校正過了,為什麼孿生還需要「真值錨點」?
出廠校正只代表出廠當下準確。感測器會隨時間、溫度循環與壓力循環慢慢漂移,而預測模型本身無法分辨「現場真的變了」還是「感測器變了」。沒有錨點的系統,最後往往只能靠放寬警報門檻來減少誤報,預警能力也一併消失。
以 AT-803 等標準級儀錶定期比對,把每次的誤差歷史寫進孿生,趨勢與預測才建立在可信的資料上;漂移慢的點位可以延長校正週期,漂移快的點位則提早處理,把校正資源用在最需要的地方。
❓ Q6:TUR 4:1 是什麼?AT-803 適合比對哪些儀錶?
TUR(測試不確定度比)是被校儀錶允許誤差與參考標準誤差的比值,常用的經驗法則是至少 4:1。以同量程計算,AT-803 的 ±0.02%F.S. 對上 ±0.1%F.S. 等級的儀錶為 5:1,對上 ±0.5%F.S. 等級的微差壓傳送器可達 25:1。
若兩者量程不同,必須先換算成相同單位的絕對誤差再比較。因此詢價時請提供被校儀錶的型號、量程與精度等級,以確認 AT-803 的量程配置是否合適;中高壓點位則可改用 DPG-0.05B4.5(5CD) 或 IPC-801 作為比對與迴路校驗工具。
❓ Q7:微壓量測最常見的誤差來源有哪些?
數 Pa 到數百 Pa 的微壓量測非常敏感,比對作業最常見的誤差來源包括:
- 沒有先歸零,或比對結束後沒有複查零點。
- 高低壓端導壓管高度不同,或軟管老化、接頭漏氣。
- 儀錶與環境尚未達到熱平衡就開始量測。
- 量測時門窗未關,或取壓口正對出風口與人員動線。
- 讀值跳動時沒有取時間平均,或參考標準與被校儀錶不在同一個取壓點。
比對時請完整記錄日期、溫度、門窗狀態、比對點與人員,讓紀錄可被稽核。詳細做法請見第 2 章的八個現場要點。
❓ Q8:校正紀錄要怎麼寫進數位孿生?
建議在點位主檔或孿生的感測器模型中,至少保存五個欄位:上次比對日期、修正係數(增益與偏移)、擴充不確定度 U(k=2)、校正到期日,以及參考標準的證書編號。
邊緣閘道讀值時先套用修正係數,並為每筆資料加上品質碼;孿生與戰情室依到期日自動標示「校正逾期」,並提前產生比對工單。第 8 章範例三可由比對資料算出修正係數、TUR 與不確定度,範例五示範如何把這些屬性寫入 Azure Digital Twins。
三、平台、虛擬世界與儀表板
❓ Q9:一定要做 3D 虛擬世界,才算是數位孿生嗎?
不一定。數位孿生的核心是「持續同步、可以模擬、可以預測,並能把決策回饋現場」,3D 虛擬世界是呈現與溝通的方式之一,不是必要條件。產品開發密集的航太、汽車與工業設備產業,常以 Dassault 3DEXPERIENCE 這類以 3D 為核心的虛擬孿生貫穿設計與製造;設施營運則常以 Azure Digital Twins 的關係圖,加上 2D 儀表板就足以運作。
要提醒的是,3D 畫面越逼真,越需要底層數字準確。壓力點位以標籤掛在 3D 管線與房間上時,若讀值已經漂移,畫面再漂亮也會誤導決策。建議先把資料品質與預測做對,再依溝通需要決定是否投資 3D。
❓ Q10:Siemens、Dassault、Ansys、Azure Digital Twins 該怎麼選?
先問自己要解決的是設計問題還是營運問題,再看是否需要工程等級的物理模擬:
- 產品、產線與績效一體化:評估 Siemens Xcelerator 與 Insights Hub(原 MindSphere)。
- 以 3D 模型貫穿設計與製造:評估 Dassault 3DEXPERIENCE。
- 工程等級物理模擬與降階模型:評估 Ansys Twin Builder。
- 建築、園區、醫院等複雜關係與營運查詢:Azure Digital Twins 等圖形模型平台較輕巧,但工程模擬需要額外投入。
不論選哪一個,點位主檔與校正紀錄都是可以跨平台沿用的資產,建議在選平台之前就先準備好。
❓ Q11:預算有限,可以先只做儀表板嗎?Grafana 和 Power BI 要選哪一個?
可以,而且這通常是好的起點。先把點位主檔、資料品質規則與一個小型儀表板做好,完成第一個可驗證的預測(例如濾網剩餘天數),等價值被證明後再導入孿生平台,前面累積的資料與主檔都能直接沿用。
工具選擇上,Grafana 擅長秒級到天級的時序資料與即時警報,適合廠務與值班人員;Power BI 擅長分鐘到月的彙總報表與跨部門比較,適合主管會議與能源報表。兩者常並用,共用同一份點位主檔與時序資料;若需要從警報直接派工,可再搭配 Fabrico 或既有的維修管理系統。
❓ Q12:戰情室警報太多、值班人員都不想看,怎麼辦?
這是警報管理問題,不只是畫面問題。建議依 ISA-18.2/IEC 62682 進行警報合理化:為每個警報定義原因、後果、處置與優先度,刪除沒有對應處置的警報。
- 技術面:加上遲滯帶與延時確認,並把門檻與量測不確定度綁在一起。
- 畫面面:依 ISA-101 以例外為導向,把「資料異常」(通訊中斷、超量程、校正逾期)與「製程異常」分開呈現。
- 流程面:每個警報都要有負責人,最好能一鍵產生工單,處置結果再回寫孿生。
ISA-18.2 以每位操作員每小時約 6 個警報作為很可能可接受的參考量級,可作為持續改善的目標。
四、資料與預測
❓ Q13:壓力資料要多久取樣一次?
依決策的時間尺度而定:即時監看與警報常用 1~10 秒一筆;異常偵測與趨勢判讀可用 10 秒到 1 分鐘的彙總值;預測維護與剩餘天數使用 5~15 分鐘或日平均即可。安全連鎖與控制迴路則應留在 PLC、DCS 或 SIS,不經雲端。
建議邊緣層保留原始資料,資料層做 5 分鐘彙總並記錄樣本數,孿生只更新最新狀態或分鐘級彙總,兼顧即時性、資料量與雲端平台的服務限制。
❓ Q14:用壓差預測濾網更換時機,最常犯的錯誤是什麼?
最常見的錯誤是沒有做流量正規化。風機或泵浦變頻時,壓差會隨流量起伏,直接拿原始壓差做回歸,趨勢線會被運轉模式牽著走,剩餘天數也會忽長忽短。
正確做法是先把壓差換算到設計風量:ΔP_n = ΔP ×(Q_設計 ÷ Q_實際)ⁿ,指數 n 以現場資料回歸校估,再用每日同一運轉狀態下的平均值外推剩餘天數。第 8 章範例四提供完整程式;預警的提前量至少要涵蓋備品採購與排程所需的時間。
❓ Q15:做預測,一定要用 AI 或深度學習嗎?
不一定。壓力類的預測大多可以由淺入深:
- 門檻加上遲滯帶與延時確認。
- EWMA、CUSUM 等統計管制,抓出緩慢變化。
- 趨勢外推,計算濾網或過濾器的剩餘天數。
- 物理加資料的混合模型,對「實測減預期」的殘差做異常偵測。
- 多變數、難以寫成公式時,再使用孤立森林、自編碼器等機器學習方法。
重點是預測結果能不能被現場相信、能不能轉成工單。不論哪一種方法,效果都受限於量測品質,訓練資料也應先排除感測器故障與校正逾期的資料。
五、產業應用界線
❓ Q16:風力發電與航太維修場域,昶特儀錶可以用在哪裡?
風力發電:機組內安裝或更換儀錶,須符合整機廠規範與振動、溫度、電磁相容及相關認證要求,改裝前請先與整機廠或運維單位確認。較常見的做法,是在運維基地建立小型校正室,以 AT-803、DPG-0.05B4.5(5CD) 與 IPC-801 作為參考標準,出海前完成替換儀錶的預校與紀錄。
航太維修:可用於維修工廠的地面支援設備、試車台、噴漆棚與校正實驗室,例如試車台進排氣微壓的比對。但昶特儀錶不是航空器適航零件,不得安裝於航空器上;航空維修組織使用的工具與測試設備,須依民航主管機關與自身品質系統的校正及追溯要求管理。
❓ Q17:手術室與負壓隔離病房的壓差,可以接入醫院的設施孿生嗎?
可以,這是醫院設施孿生最常見的應用之一。建議門口以 DMPG-X022 現場顯示,同時以 DMPT-S221 等傳送器上傳,並定期以 AT-803 驗證。孿生把壓差、換氣與溫濕度整合成「房間就緒狀態」,讓手術排程提前避開不合格的房間,並自動通知工務處理。
需要注意的是,本文所述儀錶為設施監測用途,並非醫療器材,不用於病人診斷或治療;監測須依主管機關法規與院內感染控制規範執行,醫療氣體系統的設計與變更也須依相關標準與院方程序辦理。
❓ Q18:半導體潔淨室的壓力梯度要怎麼監控,才不會一直誤報?
潔淨室壓差對門開事件非常敏感。建議把門禁或門磁訊號一起送進孿生,先排除正常的短暫跌落,再對持續性的梯度衰減做趨勢分析;FFU 濾網壓差上升與風量下降通常同時發生,兩者交叉確認可以降低誤判。
量測端則以 AT-803 作為攜行標準,依 TUR 4:1 原則建立全廠微壓點位的定期比對計畫,並把漂移歷史回饋到校正週期。特殊氣體與腐蝕性化學品的量測,請依氣體相容性與安全規範另行選型,並於詢價時提供介質資料。
六、服務範圍與詢價
❓ Q19:昶特會協助串接 AWS、Azure 或數位孿生平台嗎?
不會。昶特 ATLANTIS 提供數位壓力錶、壓力與差壓傳送器、校正級儀錶,以及選型、規格與校正相關諮詢;IoT 閘道、AWS 與 Azure 等雲端服務、數位孿生平台與儀表板的串接與建置,需由客戶或其系統整合商自行完成,相關雲端服務也由客戶自行規劃與管理。
為了降低自行串接的門檻,本文第 8 章提供六段範例程式,涵蓋 Modbus 轉 MQTT、4–20 mA 換算與故障判斷、AT-803 比對計算、濾網剩餘天數預測、Azure Digital Twins 更新與 Grafana 查詢,可依自身環境修改使用。
❓ Q20:詢價 AT-803 或規劃孿生量測點位時,要準備哪些資料?
資料越完整,業務越能一次確認最適配置。建議準備:
- 量測介質與溫度(空氣、水、油、蒸汽、氧氣或腐蝕性介質;氧氣須使用禁油處理的儀錶)。
- 量程與需要的精度等級。
- 安裝位置與方式(室壓、風管、濾網、管線,或攜行比對)。
- 是否需要訊號輸出及形式(RS-485、4–20 mA、HART,或僅需現場顯示)。
- 若用於比對,請提供被校儀錶的型號、量程與精度,以確認 TUR。
- 是否需要校正報告、點位數量與預計導入時程。
可來電 02-2820-3405,或使用線上快速詢價表單,由業務一部或業務二部專人回覆。
第 10 章 延伸閱讀:數位壓力錶選型、校正與數位化應用
本文聚焦在「數位壓力錶如何進入數位孿生」。若您正在比較型號、規劃校正制度,或想進一步了解特定產業的壓力量測,以下站內文章與工具可以接著閱讀:
數位壓力錶基礎與選型
結論:先讓數位壓力錶說真話,數位孿生才會說對話
數位孿生、虛擬世界、預測、儀表板與戰情室,聽起來是五個不同的專案,其實是同一條價值鏈:資料同步、狀態理解、未來推估、畫面呈現,最後變成有人負責的行動。這條鏈的起點,是散布在現場的每一支數位壓力錶與傳送器;鏈條能拉多遠,取決於起點的資料有多可信。
本文以昶特 AT-803 高精度數位壓力錶為核心,提出「量測真值錨點」的做法:線上節點提供頻率,巡檢節點提供覆蓋,AT-803 這類標準級儀錶則提供可信度。把每一次比對的誤差、修正係數與不確定度寫回孿生,預測模型就能分辨感測器漂移與真實變化,戰情室也能把「資料異常」與「製程異常」分開處理,不再因為誤報而失去現場的信任。
平台選擇沒有標準答案。需要工程模擬與設備孿生,可評估 Siemens、Ansys 或 Dassault 這類較重的平台;以設施營運與複雜關係為主,Azure Digital Twins 等圖形模型平台較輕巧;儀表板則依時間尺度分工,Grafana 看即時、Power BI 看彙總、Fabrico 與 FactoryStudio 負責現場與派工。不論走哪一條路,點位主檔與校正紀錄都是可以跨平台帶著走的資產。
從智慧建築、製造產線、風力發電、航太維修、半導體到醫院,六大場景的共通點是:流體系統的健康狀態,幾乎都會先寫在壓力與壓差上。與其一開始就規劃全廠孿生,不如從一個系統、一個預測、一面儀表板開始,證明價值後再複製。
三個本週就能開始的行動
- 盤點:依表 3-2 的欄位,整理現有壓力點位的主檔,替每支儀錶標上「線上節點、巡檢節點或真值錨點」的角色,並標記校正狀態。
- 比對:挑選 5~10 個最關鍵的微壓點位,以 AT-803 做一次比對,量化目前資料的可信度,作為導入孿生前的基準線。
- 試點:選一台空調箱或一套空壓系統,參考第 8 章範例建立小型儀表板與濾網剩餘天數預測,用兩個月證明第一個價值。
讓昶特 ATLANTIS 協助您規劃孿生的量測層
昶特 ATLANTIS 深耕台灣工業儀錶製造 31 年,產品涵蓋數位壓力錶、差壓錶、壓力與差壓傳送器、溫度傳送器與校正級儀錶。我們可以協助您完成點位的儀錶選型、量程與精度建議、AT-803 比對方案與校正安排;數位孿生平台、雲端與儀表板的串接,則由貴公司或系統整合商依本文範例自行建置。所有產品皆採報價制,請提供使用情境,由專人為您確認最適配置。
聯絡 ATLANTIS 昶特
📞 業務一部 Ian
電話:02-2820-3405(分機 27)
信箱:ian@atlantis.com.tw
📞 業務二部 Nori
電話:02-2820-3405(分機 16)
信箱:nori@atlantis.com.tw
🏢 昶特有限公司
台北市北投區致遠一路二段 109 號
傳真:02-2827-0646 / 02-2820-3406
服務時間:週一至週五 08:30~17:30
公司官網:re-atlantis.tw|品牌故事
ATLANTIS 服務範圍說明
昶特 ATLANTIS 負責提供:數位壓力錶、壓力與差壓傳送器、溫度傳送器、校正級儀錶,以及選型、規格與校正相關諮詢。昶特不提供 IoT 閘道、AWS、Azure 等雲端服務,或數位孿生平台、儀表板與戰情室系統的串接與建置;上述工作需由客戶或其系統整合商自行完成。本文範例程式僅供教學參考,使用者應自行驗證並承擔導入責任。
文章資訊|發佈日期:2026 年 10 月 14 日|作者:昶特 ATLANTIS 應用工程團隊|適用對象:設施管理、廠務、設備維護、數位轉型與採購決策者。本文所述各數位孿生平台與軟體之功能與服務狀態,係依 2026 年 10 月公開資料整理,可能隨原廠更新而變動,導入前請以原廠最新文件為準。文中提及之 Siemens、Dassault Systèmes、Ansys、Microsoft、Grafana、Tableau、Metabase、Fabrico、Tatsoft 等名稱為各公司之商標,僅作為技術說明用途。文中案例與數值除另有標示外,皆為示意或假設值。