移至主內容
 🔍 全台最大壓力錶・溫度計・壓差計權威知識庫|HVAC・半導體・冷凍空調專家選型指南・完整技術資料・工業儀表監測教學平台 
 

台灣數位壓力錶製造權威,數位壓力錶全台品項最齊全,業界最先進,歡迎詢價

台灣工業儀表領域少數長期深耕技術內容的平台,累積超過 1,256 篇壓力錶、壓差計、溫度計選型、校正與製程應用深度文章,由資深工程師團隊持續更新

 
 

數位壓力錶接入數位孿生完整指南:以 AT-803 建虛擬世界、做預測、打造儀表板與戰情室

昶特 ATLANTIS 應用工程團隊|發佈:2026 年 10 月 14 日|閱讀時間約 60 分鐘

從感測、邊緣、孿生平台到 Grafana、Power BI 儀表板:智慧建築、製造產線、風力發電、航太維修、半導體、醫療六大場景,Siemens、Dassault、Ansys、Azure 平台怎麼選,以及客戶自行串接的範例程式,一次講清楚。

數位壓力錶不只是把指針換成數字。當工廠、大樓、風場或醫院開始建置數位孿生(Digital Twin),每一支數位壓力錶都成為虛擬世界的「感覺神經」:濾網有沒有堵、泵浦有沒有衰退、房間的正負壓是否守住、管網是否在漏,全都先反映在壓力與壓差上。本文以昶特 AT-803 高精度數位壓力錶(目錄型號 AT803-D,官方公開精度 ±0.02%F.S.)為核心,說明如何讓壓力資料可信地進入孿生、驅動預測,最後在儀表板與戰情室裡變成看得懂、派得出工的決策。

±0.02%F.S.AT-803 標準級精度(官方公開值)
6 大應用場景逐一拆解
5 層感測到戰情室的資料架構
6 段客戶自行串接範例程式
31 年昶特台灣工業儀錶製造經驗

前言:數位孿生的第一塊地基,是一支「說真話」的數位壓力錶

談到數位孿生,多數人腦中浮現的是三維模型、會動的管線動畫、牆面大螢幕上的即時 KPI,以及「AI 預測什麼時候會壞」。這些畫面都對,但它們全部建立在同一個前提上:虛擬世界裡的數字,必須真實反映現場。只要底層感測資料有偏差,模型越精密,錯得越有自信;戰情室畫面越漂亮,誤導的範圍越大。

數位孿生的定義其實不複雜:它是實體資產在數位世界的對應體,透過持續的資料同步,讓我們能監看現況、模擬「如果這樣調整會怎樣」、預測未來狀態,並把決策回饋到現場。它和一般 3D 展示模型最大的差別,在於「持續同步」與「可以拿來做決策」。而同步的來源,就是散布在現場的感測器——其中,壓力與壓差是流體系統裡資訊量最高的物理量之一。

為什麼壓力是孿生最重要的訊號之一

水、空氣、蒸汽、冷媒、液壓油、製程氣體、潔淨室的空氣,本質上都是流體。流體系統的健康狀態,幾乎都會先寫在壓力上:濾網開始堵塞,前後壓差會一天一天上升;泵浦葉輪磨耗,同樣流量下的揚程會下滑;管網出現微漏,停機保壓時壓力會緩慢下降;潔淨室或手術室的門關不密,房間壓差會被拉低。換句話說,一支擺在正確位置、讀值可信的數位壓力錶,就是孿生模型判斷「系統現在好不好」最直接的證據。

這也是為什麼在智慧建築、製造產線、風力發電、航太維修、半導體與醫療院所,孿生專案的第一階段幾乎都會回到同一份清單:哪些點位要量壓力?量程多大?要多準?訊號怎麼送出來?多久校一次?

孿生專案最常被忽略的風險:感測器漂移

任何感測器都會隨時間、溫度循環與壓力循環慢慢漂移。漂移本身並不可怕,可怕的是孿生系統分不出「是現場真的變了,還是感測器變了」。舉例來說,一支微差壓傳送器的零點每個月慢慢偏移,孿生模型看到的是「房間壓差持續上升」或「濾網提早老化」,於是預測模型提前發出更換工單;更糟的情況是漂移方向剛好抵銷真實變化,讓真正的異常被掩蓋。久而久之,現場人員發現「戰情室常常亂叫」,整套系統就失去信任。

解法不是買更多感測器,而是在系統裡放進量測真值錨點:用精度等級明顯更高、並可追溯校正的標準級儀錶,定期比對線上感測器,把誤差、修正係數與不確定度寫回孿生的感測器模型。如此一來,孿生不只知道「讀值是多少」,還知道「這個讀值可以信到什麼程度」。

AT-803 在本文中的定位

昶特 ATLANTIS 的 AT-803 高精度數位壓力錶(產品目錄型號 AT803-D,高精度數位差壓錶)官方公開精度可達 ±0.02%F.S.,定位為現場與實驗室壓力量測、校準等高精度微壓量測的標準級儀錶。在數位孿生架構裡,它最大的價值不是「多一個點位」,而是成為整個壓力資料鏈的參考基準:校準潔淨室、手術室、空調風管、排氣系統等微壓點位的線上傳送器,量化每個點位的不確定度,並協助孿生分辨感測器漂移與真實製程變化。

本文會帶你完成五件事

  1. 搞懂數位孿生、虛擬世界、預測、儀表板與戰情室五個名詞,以及從感測到決策的五層架構。
  2. 理解 AT-803 等數位壓力錶在孿生中的三種角色:線上節點、巡檢節點、真值錨點。
  3. 依需求比較 Siemens、Dassault、Ansys、Microsoft Azure 等孿生平台,以及 Power BI、Grafana、Fabrico、FactoryStudio 等儀表板工具。
  4. 逐一拆解智慧建築、製造產線、風力發電、航太維修、半導體、醫療六大場景的壓力點位與預測方法。
  5. 取得六段可直接修改使用的串接範例程式,以及導入路線圖與 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 的供應範圍:

L5 應用層預測|儀表板|戰情室
預測模型、KPI 儀表板、戰情室大屏、警報與工單(CMMS)連動、交接與事件檢討。決策在這一層被做出,並回饋到現場。
客戶/系統整合商
▲
L4 孿生層模型|關係|模擬
資產關係圖(例如 DTDL、資產管理殼 AAS)、物理模型(泵浦曲線、管路阻力、房間壓力平衡)、模擬與降階模型,負責「理解現況」與「推演如果」。
客戶/系統整合商
▲
L3 資料層時序資料|點位主檔
時序資料庫(例如 InfluxDB、TimescaleDB)儲存讀值;點位主檔記錄量程、單位、安裝位置、校正日期、修正係數與不確定度。
客戶/系統整合商
▲
L2 邊緣層協定轉換|品質標記
邊緣閘道把 RS-485 Modbus RTU、HART、4–20 mA 轉成 MQTT 或 OPC UA;加上 UTC 時間戳、單位換算、品質旗標,斷線時先暫存再補傳(store-and-forward)。
客戶/系統整合商
▲
L1 感測層量測|校正錨點
線上壓力/差壓傳送器、巡檢用數位壓力錶,以及 AT-803、DPG-0.05B4.5(5CD)、IPC-801 等校正級儀錶。這一層決定整個孿生的資料品質上限。
昶特 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 產品定位

昶特ATLANTIS AT-803 高精度數位壓力錶(AT803-D 高精度數位差壓錶)

真值錨點|微壓標準級

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 以內。

示意圖:真實室壓差維持 15 Pa;未校正的傳送器讀值每月漂移約 0.3 Pa,第 5 個月越過 16.5 Pa 警報門檻造成誤報;以 AT-803 每 4 個月比對修正後,讀值偏差維持在 1.2 Pa 以內。 14 15 16 17 18 19 室壓差(Pa) 0 2 4 6 8 10 12 經過月數 警報門檻 16.5 Pa 第 5 個月:無錨點系統誤報 真實製程室壓差 無錨點:傳送器持續漂移 AT-803 每 4 個月比對修正(◆)

圖 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_c = √( u₁² + u₂² + u₃² + … ) 擴充不確定度 U = k × u_c (常用 k = 2) TUR = 被校儀錶允許誤差 ÷ 參考標準誤差(換算為相同單位後)

孿生系統只要多存一個欄位「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)的量測非常敏感,以下八點是比對作業最常出錯的地方:

  1. 先歸零再量測:兩端連通、讀值穩定後再歸零,並在比對結束時複查零點。
  2. 導壓管同高:高低壓端的導壓管保持同一高度,避免管內空氣溫差造成的浮力誤差。
  3. 管路氣密:檢查接頭、軟管是否老化或彎折,微小漏氣就會讓讀值偏低。
  4. 熱平衡:儀錶從冷氣房帶到現場,先放置一段時間再量測。
  5. 關門與避風:量測房間壓差時關閉門窗,取壓口避開出風口與人員動線。
  6. 時間平均:微壓讀值會隨氣流跳動,以數十秒到數分鐘的平均值作為比對值。
  7. 同點比對:參考標準與被校儀錶接在同一個取壓點或用三通並聯,避免兩點本身就有差異。
  8. 完整記錄:記錄日期、時間、溫度、門窗狀態、比對點、讀值與人員,讓紀錄能被稽核。

2.7 昶特 ATLANTIS 數位孿生量測層產品配置

以下產品圖片與描述皆取自昶特官網產品目錄。每張卡片標示該儀錶在孿生中的建議角色,實際量程、接頭、輸出與防護等級依訂購規格而定。

昶特ATLANTIS DPG-0.05B4.5(5CD) 高精度數位壓力錶

真值錨點|中高壓

DPG-0.05B4.5(5CD) 高精度數位壓力錶

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

昶特ATLANTIS IPC-801 智能壓力校驗儀

真值錨點|迴路校驗

IPC-801 智能壓力校驗儀

可量測壓力、電壓與電流,適用校準壓力錶、精密壓力錶、壓力與差壓傳送器、壓力調節閥及壓力開關。孿生用途:從感測器、4–20 mA 迴路到系統讀值的整條量測鏈驗證。

昶特ATLANTIS DMPT-S221 數位微差壓傳送器

線上節點|微壓

DMPT-S221 數位微差壓傳送器

採用進口微差壓感測元件,精度高、長期穩定性好,可選 RS485 或 4–20 mA 輸出;適用通風、消防排煙、風機檢測與空調過濾系統。孿生用途:室壓、風管靜壓、濾網壓差的連續監測。

昶特ATLANTIS DMPG-X022 數位微差壓錶

巡檢/現場顯示|微壓

DMPG-X022 數位微差壓錶

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

昶特ATLANTIS SDPT-3351 智慧型差壓傳送器

線上節點|差壓

SDPT-3351 智慧型差壓傳送器

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

昶特ATLANTIS DPT-AC HART防腐型差壓傳送器

線上節點|防腐差壓

DPT-AC HART 防腐型差壓傳送器

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

昶特ATLANTIS SDPT-3100 智能型壓力傳送器

線上節點|管線壓力

SDPT-3100 智能型壓力傳送器

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

昶特ATLANTIS DPG-X112 高精度藍芽數位壓力錶

巡檢節點

DPG-X112 高精度藍芽數位壓力錶(可旋轉式)

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

昶特ATLANTIS STT HART智能型溫度傳送器

線上節點|溫度補償

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 五個問題快速決定平台方向

  1. 你要解決的是設計問題還是營運問題?設計、試產與產品迭代為主,優先看工業套件或模擬平台;日常營運、維護與能源為主,優先看圖形模型型或工業監控型。
  2. 需不需要工程等級的物理模擬?需要,就把 Ansys、Siemens 或 Dassault 這類較重的平台列入;不需要,輕量的圖形模型加上統計預測通常就夠。
  3. 現場自動化設備以哪個品牌為主?同品牌生態系的整合成本通常最低,但要評估未來被綁定的程度。
  4. 資料要放在哪裡?雲端、地端或混合架構,取決於資安政策、法規與延遲要求,這一題要讓資安與 IT 部門一起回答。
  5. 誰來維運?孿生不是一次性專案,模型、點位與警報規則都需要持續維護。沒有維運人力的平台,再強也會荒廢。

3.6 不論選哪個平台,壓力點位都要準備的「點位主檔」

平台可以換,點位主檔是共通的資產。建議在導入任何平台前,先把每一支數位壓力錶與傳送器整理成下表的欄位,後續不論接 Siemens、Dassault、Ansys 或 Azure,都能直接沿用:

表 3-2 壓力點位主檔建議欄位

欄位範例為什麼重要
點位 IDCR-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 三類儀表板工具比較

類型代表工具擅長的資料頻率警報能力與工單連動主要使用者
通用 BIPower BI、Tableau、Metabase分鐘~月(彙總資料)以門檻提醒為主需另行整合主管、分析師、跨部門會議
工業監控型Grafana、Siemens Insights Hub秒~天(時序資料)規則式警報、通知管道多元可透過整合或外掛廠務、設備工程師、值班人員
製造現場型Fabrico、FactoryStudio秒級即時警報管理完整Fabrico 原生工單;FactoryStudio 可整合產線主管、維修技術員、操作員

實務上很少只用一種。常見組合是:Grafana 或 FactoryStudio 做現場即時畫面,Fabrico 或既有 CMMS 處理工單,Power BI 做管理報表,三者共用同一份點位主檔與時序資料。

4.4 戰情室設計七原則

  1. 三層畫面:總覽(全廠健康)→ 區域(系統或樓層)→ 設備(單點趨勢與歷史),任何異常三次點擊內可以追到源頭。
  2. 以例外為導向:依 ISA-101 高效能人機介面的精神,正常狀態用低彩度呈現,只有異常才上色,讓眼睛自然被問題吸走。
  3. 警報合理化:依 ISA-18.2/IEC 62682 為每個警報定義原因、後果、處置與優先度;ISA-18.2 以每位操作員每小時約 6 個警報作為「很可能可接受」的參考量級。
  4. 每個警報都有主人:警報要連到處置程序與負責人,最好能一鍵產生工單,處置結果再回寫到孿生作為模型訓練資料。
  5. 資料品質可視化:校正逾期、通訊中斷、超量程要有獨立的顏色或圖示,與「製程異常」分開,否則值班人員會在錯的地方找問題。
  6. 時間同步:所有閘道與伺服器以 NTP 對時,資料一律以 UTC 儲存、以當地時間顯示,事件追溯時才對得上。
  7. 戰情室是流程,不只是螢幕:值班表、交接紀錄、事件檢討與 KPI 月會,才讓畫面上的數字變成持續改善。

4.5 戰情室總覽畫面示意

以下為一個以壓力資料為主的設施戰情室總覽示意(數值皆為示意)。注意畫面上同時呈現「製程狀態」與「資料可信度」:

設施數位孿生戰情室|總覽(示意畫面)資料時間:每 5 秒更新|UTC+8
全區室壓合格率(今日)99.6%48 間受控房間
濾網剩餘天數最短9 天AHU-03 中效濾網|建議排程更換
進行中警報2B2 走廊室壓偏低|冰水泵 P-02 揚程偏差
資料可用率(24 小時)99.3%1 個閘道曾短暫離線並已補傳
校正 30 天內到期6 點建議安排 AT-803 比對作業
本週自動工單5 張已結案 3 張|平均處置 2.4 小時

圖 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 則累積每一次偏離目標值的量,小偏差持續發生時會很快觸發。這兩種方法計算量小,可以直接在邊緣閘道或時序資料庫中執行。

EWMA:Z(t) = λ × X(t) + (1 − λ) × Z(t−1) (λ 常用 0.1~0.3) CUSUM:S(t) = max(0, S(t−1) + X(t) − (μ₀ + k)) 當 S(t) > h 時判定偏移

6.3 趨勢外推:濾網、過濾器的剩餘天數

濾網、濾芯與過濾器的壓差上升通常相當規律,非常適合用線性或分段線性回歸外推「哪一天會到更換門檻」。實務上有兩個關鍵:

  • 先正規化再外推:壓差會隨流量變化。若風機或泵浦有變頻,必須把壓差換算到同一個基準流量,否則趨勢線會被運轉模式牽著走。纖維濾材多接近層流,壓差約與流量成正比;紊流的管路元件則較接近與流量平方成正比,指數最好用現場資料回歸校估。
  • 用日平均而不是原始值:以每日同一運轉狀態下的平均壓差做回歸,可以大幅降低雜訊,讓剩餘天數穩定,不會每小時跳來跳去。
正規化壓差:ΔP_n = ΔP × (Q_設計 ÷ Q_實際)ⁿ (n 依元件特性校估,常介於 1~2) 剩餘天數:D = (ΔP_門檻 − ΔP_n,目前) ÷ 每日上升斜率

第 8 章範例四提供了完整的剩餘天數計算程式,可以直接用在空調箱濾網、FFU、空壓過濾器與潤滑油濾芯。

6.4 物理+資料的混合模型:先算「應該是多少」

混合模型的做法,是先用物理關係算出「在這個運轉條件下,壓力應該是多少」,再拿實測值比較,對殘差做異常偵測。常見的物理關係包括:

  • 泵浦:依泵浦性能曲線,由流量與轉速推算應有揚程;實測揚程(出口減入口壓力換算)持續低於預期,代表葉輪磨耗或內部洩漏。
  • 管路與閥件:壓降與流量的關係(紊流近似與流量平方成正比),阻力係數上升代表結垢、堵塞或閥門開度異常。
  • 房間壓力平衡:送風量減去回風與排氣量,再扣掉門縫與結構的滲漏,決定室壓;送排風量穩定但室壓下降,就要懷疑門或氣密。

這正是模擬型平台(例如 Ansys Twin Builder 的 Hybrid Analytics)擅長的事,但即使沒有大型平台,也可以用試算表或簡單程式先建立物理基準。混合模型對量測準確度特別敏感,因為殘差本身就是「實測減預期」:實測端的系統誤差會直接變成殘差偏移,這也是校正錨點在混合模型中不可或缺的原因。

6.5 機器學習:適合多變數、難以寫成公式的情境

當一個系統有數十個彼此影響的變數(例如潔淨室的多個房間壓差、送排風量、門禁事件與天候),孤立森林、自編碼器等非監督式方法可以學習「正常的組合長什麼樣子」,偏離時提出警示。導入時請留意:

  • 訓練資料必須先排除已知的感測器故障與校正逾期資料,否則模型會把壞資料學成「正常」。
  • 要能解釋:戰情室需要知道「是哪幾個點讓模型覺得異常」,否則值班人員無從下手。
  • 要能回饋:每一次警報的處置結果(真異常、誤報、儀錶問題)都要標記回去,讓模型持續修正。

6.6 漂移感知:讓預測模型知道「感測器也會變」

這是本文最想強調的一點。預測模型通常假設感測器是準的,但現場的感測器會漂移。漂移感知的做法,是把感測器本身也當成孿生的一部分:

  1. 每個點位帶著不確定度:從點位主檔讀取最近一次比對的修正係數與 U(k=2),所有預測與警報都以修正後讀值與不確定度計算。
  2. 辨識漂移特徵:單一感測器緩慢、單調地偏離,而相鄰點位與物理模型都沒有對應變化,優先懷疑感測器本身。
  3. 自動排程比對:孿生判定「疑似漂移」時,不直接派維修工單,而是先產生「AT-803 比對」工單,確認後再決定是修設備還是修儀錶。
  4. 以歷史調整週期:累積每個點位的歷次比對誤差,漂移慢的點位延長週期、漂移快的點位縮短週期,校正資源用在最需要的地方。

6.7 預測模型上線前的驗收指標

表 6-1 預測與警報模型的驗收指標

指標定義為什麼重要
精確率(Precision)發出的警報中,真的有問題的比例太低會造成警報疲乏,最後沒人理
召回率(Recall)真正的異常中,被提前抓到的比例太低代表系統在關鍵時刻沉默
平均提前時間從警報到實際失效或超標的平均時間決定能不能來得及備料與排程
儀錶問題占比警報中最後判定為感測器或迴路問題的比例偏高代表校正錨點與資料品質規則需要加強
模型更新週期重新訓練或重新校估參數的頻率季節、配方、設備變更都會讓模型失準

本章重點

從門檻、統計、趨勢外推、混合模型到機器學習,方法可以逐步升級,但每一層的效果都受限於量測品質。把感測器的不確定度與漂移歷史放進孿生,是讓預測「準、穩、可被相信」最划算的一步。

第 7 章 導入路線圖、模擬案例、ROI 試算與八大地雷

數位孿生最怕「一次到位」的大計畫:預算很大、時程很長、等到上線時需求已經變了。我們建議以「先證明一個價值,再複製」的節奏推進。下表的四個階段,每一階段都有明確交付物,也清楚標示昶特能協助的範圍。

7.1 四階段導入路線圖

表 7-1 數位壓力錶接入孿生的四階段路線圖

階段目標主要工作交付物昶特 ATLANTIS 可協助
0 盤點了解現況與缺口點位清冊、儀錶現況、訊號與通訊能力、校正狀態、資安分區點位主檔初版、缺口清單儀錶選型、量程與精度建議、汰換評估
1 試點證明一個具體價值選一個系統(例如一台空調箱、一條產線的空壓),完成感測、資料、儀表板與一個預測案例小型儀表板、第一個可驗證的預測(如濾網剩餘天數)線上傳送器、巡檢數位壓力錶、AT-803 比對方案
2 擴展標準化並複製統一點位命名、資料品質規則、警報合理化、選定孿生與儀表板平台孿生模型、戰情室、校正計畫規格統一、量產供貨、校正服務安排
3 優化形成閉環預測 → 工單 → 處置 → 回饋;模型定期重估;校正週期依漂移歷史調整KPI 改善報告、年度校正與維運計畫校正週期建議、儀錶升級建議

7.2 ROI 怎麼算:用自己的數字,不用別人的案例

昶特產品採報價制,各廠的停機損失、能源單價與人力成本也差異很大,因此我們不提供「平均回收幾個月」這種數字,而是提供公式與試算工具,請用貴公司的實際數值計算:

年度效益 = 12 ×(每月減少停機時數 × 每小時停機損失 + 每月能源節省 + 每月減少巡檢工時 × 每工時成本) + 品質損失與報廢的減少(若可量化) 回收期(月)= 總投入 ÷(年度效益 ÷ 12) 三年淨效益 = 3 × 年度效益 − 總投入

公式裡的每一項都要能被追溯:停機時數來自工單與生產紀錄,能源節省來自電錶或壓縮機的運轉紀錄,工時來自巡檢排班。下一節以一個模擬案例,示範如何把這些改善代入公式。

7.3 模擬案例研究:北台灣某電子廠的「空壓+潔淨室」孿生試點

閱讀說明

本案例是依常見導入情境編寫的模擬案例,廠名已匿名,所有數值皆為假設值,用於示範導入步驟與效益計算方法,並非特定客戶的實測結果。實際效益請以貴廠數據評估。

案例背景

北台灣某電子組裝廠(匿名),一棟兩層廠房,設有四間潔淨室、兩台供應潔淨室的空調箱,以及由三台壓縮機組成的空壓系統。既有的建築管理系統只監看部分溫濕度;潔淨室壓差靠人員每天抄錶兩次,空壓系統只有機房裡的指針式壓力錶。廠務團隊共 4 人,負責全廠公用系統。

遭遇的問題

  1. 夜間異常看不見:潔淨室壓差每天只抄兩次,夜班期間若門禁故障造成壓差不足,最長要到隔天早上才會被發現。
  2. 數字互相打架:兩支既有的微差壓傳送器多年未校,讀值與巡檢手持儀錶不一致,現場人員不信任系統上的數字。
  3. 空壓設定壓力偏高:為了「保險」,空壓設定壓力長期維持在 7.0 bar,夜間與假日的洩漏量沒有人知道。
  4. 濾網更換憑經驗:空調箱濾網依固定週期更換,有時過早浪費濾材,有時太晚導致風量不足、室壓偏低。
  5. 停機原因說不清:公用系統造成的非計畫停機每月約 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 bar6.7 bar壓縮機耗能約 ↓ 2%(經驗估計)
空調箱濾網年度更換次數固定週期,每年 4 次依剩餘天數排程,約每年 3 次↓ 約 25%

投資回報:用公式代入自己的數字

依 7.2 的公式,這個模擬案例每月可量化的效益包括:減少停機約 4 小時、壓縮機耗能約 2%,以及抄錶工時每月約 26 小時(每週 6 小時 × 約 4.33 週)。代入公式即為:

每月效益 = 4 × 每小時停機損失 + 0.02 × 每月壓縮機電費 + 26 × 每工時成本 回收期(月)= 總投入 ÷ 每月效益

停機損失、電費與工時成本因廠而異,因此本文不代為估算金額。從這個模擬案例的結構可以看出,停機時數通常是效益的最大來源:只要每小時停機損失夠高,單靠減少停機就足以支撐投資;能源與工時的節省則屬於長期、穩定的效益;濾材用量與品質損失的減少,可在有數據後再加入計算。請把貴廠的數值填入下方的試算器。

案例啟示

  • 第一個月最大的收穫不是預測,而是「發現原本的數字不可信」:AT-803 比對讓團隊重新建立對資料的信任,後續的警報與預測才有人願意看。
  • 試點範圍小(一棟廠房、約 20 個點位),兩個月內就能看到第一個可驗證的預測結果,比一開始就規劃全廠孿生更容易取得主管支持。
  • 效益主要來自「更早發現」與「更少誤報」,而不是更複雜的演算法;演算法可以之後再升級,量測品質卻必須一開始就做對。

7.4 ROI 試算器

輸入貴公司的數值即可試算(所有欄位皆由您自行填入,本工具不預設任何價格):

請輸入數值後按「計算回收期」。金額單位請自行一致(例如新台幣)。

7.5 八大地雷:別人踩過的坑

  1. 先買平台,再找資料:平台選定後才發現點位不足、訊號無法輸出、量程不合。正確順序是先盤點點位與資料品質。
  2. 只有讀值,沒有中繼資料:沒有量程、單位、安裝位置與校正紀錄的讀值,孿生無法判斷可信度,也無法做跨點位推論。
  3. 時間沒有同步:閘道、PLC、伺服器時間各自為政,事件追溯時順序全亂。請以 NTP 對時並一律以 UTC 儲存。
  4. 警報氾濫:每個點位都設上下限,結果一天上百則警報。請依 ISA-18.2 做警報合理化,並區分製程異常與資料異常。
  5. 微壓安裝錯誤:導壓管一高一低、取壓口正對出風口、門縫邊緣量室壓,讀值本身就不代表現場。請參考第 2 章的八個現場要點。
  6. 漂移沒有錨點:沒有參考標準的系統,最後只能靠放寬門檻來減少誤報,預警能力也一併消失。
  7. 把孿生當控制系統:安全連鎖與關鍵控制仍應由 PLC、DCS 或 SIS 執行,雲端或孿生中斷時,現場必須能獨立安全運轉。
  8. 資安沒有分區:感測器與閘道直接暴露在辦公網路或網際網路上。請依 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.pyL2 邊緣層RS-485 Modbus 輪詢,套用修正係數並加上品質碼後發佈 MQTT
二ma_scaling_ne43.pyL2 邊緣層4–20 mA 換算與 NAMUR NE43 故障判斷
三at803_reference_check.pyL1/L3 校正紀錄以 AT-803 為參考標準計算誤差、修正係數、TUR 與不確定度
四filter_remaining_days.pyL5 預測風量正規化後外推濾網剩餘天數
五pressure_sensor_dtdl.json/adt_update_twin.pyL4 孿生層DTDL 模型與 Azure Digital Twins 狀態更新、關係建立
六timescale_grafana.sqlL3 資料層/L5 儀表板時序資料表、5 分鐘彙總、Grafana 戰情室查詢

8.1 範例一:RS-485 Modbus RTU 輪詢 → MQTT(含品質碼與校正中繼資料)

這支程式是整條管線的起點。它和一般「讀值就送」的範例有三個差異:讀值先套用 AT-803 比對所得的修正係數;每筆資料帶上品質碼(通訊錯誤、超量程、校正逾期);時間戳一律使用 UTC。適用於 DMPT-S221 等具 RS485 輸出的傳送器,暫存器位址請以各型號通訊手冊為準。

📄 範例一|modbus_to_mqtt_edge.py|Python 3.9+
# ===== 檔案名稱: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|Python 3.9+
# ===== 檔案名稱: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|Python 3.9+
# ===== 檔案名稱: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+
# ===== 檔案名稱: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 關係連到房間。感測點除了壓力值,還帶有品質碼、不確定度、修正係數與校正到期日,讓孿生在查詢時就能知道每個讀值的可信程度。

📄 範例五之一|pressure_sensor_dtdl.json|DTDL v2(JSON)
[
  {
    "@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|Python 3.9+
# ===== 檔案名稱: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|PostgreSQL+TimescaleDB
-- ===== 檔案名稱: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 或深度學習嗎?

不一定。壓力類的預測大多可以由淺入深:

  1. 門檻加上遲滯帶與延時確認。
  2. EWMA、CUSUM 等統計管制,抓出緩慢變化。
  3. 趨勢外推,計算濾網或過濾器的剩餘天數。
  4. 物理加資料的混合模型,對「實測減預期」的殘差做異常偵測。
  5. 多變數、難以寫成公式時,再使用孤立森林、自編碼器等機器學習方法。

重點是預測結果能不能被現場相信、能不能轉成工單。不論哪一種方法,效果都受限於量測品質,訓練資料也應先排除感測器故障與校正逾期的資料。

五、產業應用界線

❓ 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,或使用線上快速詢價表單,由業務一部或業務二部專人回覆。

結論:先讓數位壓力錶說真話,數位孿生才會說對話

數位孿生、虛擬世界、預測、儀表板與戰情室,聽起來是五個不同的專案,其實是同一條價值鏈:資料同步、狀態理解、未來推估、畫面呈現,最後變成有人負責的行動。這條鏈的起點,是散布在現場的每一支數位壓力錶與傳送器;鏈條能拉多遠,取決於起點的資料有多可信。

本文以昶特 AT-803 高精度數位壓力錶為核心,提出「量測真值錨點」的做法:線上節點提供頻率,巡檢節點提供覆蓋,AT-803 這類標準級儀錶則提供可信度。把每一次比對的誤差、修正係數與不確定度寫回孿生,預測模型就能分辨感測器漂移與真實變化,戰情室也能把「資料異常」與「製程異常」分開處理,不再因為誤報而失去現場的信任。

平台選擇沒有標準答案。需要工程模擬與設備孿生,可評估 Siemens、Ansys 或 Dassault 這類較重的平台;以設施營運與複雜關係為主,Azure Digital Twins 等圖形模型平台較輕巧;儀表板則依時間尺度分工,Grafana 看即時、Power BI 看彙總、Fabrico 與 FactoryStudio 負責現場與派工。不論走哪一條路,點位主檔與校正紀錄都是可以跨平台帶著走的資產。

從智慧建築、製造產線、風力發電、航太維修、半導體到醫院,六大場景的共通點是:流體系統的健康狀態,幾乎都會先寫在壓力與壓差上。與其一開始就規劃全廠孿生,不如從一個系統、一個預測、一面儀表板開始,證明價值後再複製。

三個本週就能開始的行動

  1. 盤點:依表 3-2 的欄位,整理現有壓力點位的主檔,替每支儀錶標上「線上節點、巡檢節點或真值錨點」的角色,並標記校正狀態。
  2. 比對:挑選 5~10 個最關鍵的微壓點位,以 AT-803 做一次比對,量化目前資料的可信度,作為導入孿生前的基準線。
  3. 試點:選一台空調箱或一套空壓系統,參考第 8 章範例建立小型儀表板與濾網剩餘天數預測,用兩個月證明第一個價值。

讓昶特 ATLANTIS 協助您規劃孿生的量測層

昶特 ATLANTIS 深耕台灣工業儀錶製造 31 年,產品涵蓋數位壓力錶、差壓錶、壓力與差壓傳送器、溫度傳送器與校正級儀錶。我們可以協助您完成點位的儀錶選型、量程與精度建議、AT-803 比對方案與校正安排;數位孿生平台、雲端與儀表板的串接,則由貴公司或系統整合商依本文範例自行建置。所有產品皆採報價制,請提供使用情境,由專人為您確認最適配置。

線上快速詢價 來電 02-2820-3405 查看校正專用精密壓力錶

聯絡 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 等名稱為各公司之商標,僅作為技術說明用途。文中案例與數值除另有標示外,皆為示意或假設值。