メインコンテンツに移動

RO 水處理系統與製藥 GMP 廠的 Modbus/HART 上雲整合:兩種截然不同的技術挑戰

水處理 RO 系統製藥 GMPAWS IoT 整合趨勢預警 × 稽核軌跡

RO 水處理系統與製藥 GMP 廠的 Modbus/HART 上雲整合:兩種截然不同的技術挑戰

不是每個產業上雲的技術難點都一樣。RO 逆滲透系統要處理的是「緩慢漂移的趨勢訊號」,製藥 GMP 廠要處理的是「不能有一絲缺口的稽核軌跡」。這篇文章拆解這兩種截然不同的資料型態,該怎麼設計對應的 AWS 架構。

免費技術選型諮詢 →

為什麼這兩個產業值得獨立探討

在石化廠、冷鏈液冷、能源電表這三種常見場景中,異常判斷邏輯相對單純:數值超過閾值就觸發警報。但 RO 水處理與製藥 GMP 廠面對的是完全不同性質的資料問題。

  • RO 系統:濾膜阻塞不是瞬間發生的,而是連續數天甚至數週的緩慢壓差爬升。單點閾值判斷抓不到「趨勢」,你需要的是斜率分析與預測。
  • 製藥 GMP 廠:問題不在於數值本身,而在於「這個數值能不能通過稽核」。法規要求的是可追溯、不可竄改、完整保存的資料鏈,架構設計的重心從「即時反應」轉移到「資料完整性」。

理解這個差異,才能避免把同一套「閾值觸發警報」的邏輯,硬套在所有產業上——這正是許多 IoT 專案上線後發現「系統一直誤報」或「稽核過不了關」的根本原因。

RO 逆滲透系統:漸進式趨勢預警的技術挑戰

RO(Reverse Osmosis)逆滲透系統與各類過濾系統的核心監控指標是差壓(Differential Pressure)——濾膜或濾芯隨著使用時間增加會逐漸阻塞,進出口壓差會緩慢上升。這種訊號型態跟前三個案例(石化異常、液冷過熱、電力飄移)完全不同:它不是「突發事件」,而是「連續趨勢」。

案例:RO 系統濾膜壽命預測與按需更換

場景:某工廠 RO 逆滲透系統過去採「定期更換」濾芯策略(如每 3 個月),但實際上濾膜阻塞速度會因進水水質波動而不同,定期更換常導致「還能用卻被丟棄」或「還沒到期就已阻塞」兩種浪費。

架構:在濾膜前後端各裝一顆壓力傳送器,透過 Modbus RTU 傳輸至閘道器,以固定週期(如每 10 分鐘)上傳差壓值至 AWS Timestream 建立長期時序資料。透過 AWS Lambda 定期執行線性回歸,計算差壓上升斜率,當預測值顯示「將於 3-7 天內達到更換閾值」時觸發 SNS 通知,而非等到差壓實際超標才反應。

與閾值型監控的差異:閾值型監控只能告訴你「現在已經超標」,趨勢型監控能告訴你「還有幾天會超標」,讓維護團隊有時間排程更換,避免非計畫性停機。這類「按需維護」(Condition-Based Maintenance)策略已在無塵室 FFU 濾網管理等場景證實可將耗材成本下降 30-40%。

以下是雲端端執行趨勢預測的核心邏輯,用簡單線性回歸估算濾膜還剩幾天達到更換閾值:

ro_membrane_trend_lambda.py
import boto3, numpy as np
                                from datetime import datetime, timedelta
                                timestream = boto3.client("timestream-query")
                                sns = boto3.client("sns")
                                DP_ALARM_THRESHOLD = 1.8   # bar,濾膜建議更換差壓閾值
                                LOOKBACK_DAYS = 14
                                def fetch_recent_dp(device_id: str) -> list:
                                    # 查詢過去 14 天的差壓歷史數據
                                    query = f"""
                                        SELECT time, measure_value::double
                                        FROM "ro_plant"."differential_pressure"
                                        WHERE deviceId = '{device_id}'
                                        AND time > ago({LOOKBACK_DAYS}d)
                                        ORDER BY time ASC
                                    """
                                    result = timestream.query(QueryString=query)
                                    return [(row["Time"], float(row["Value"])) for row in result["Rows"]]
                                def predict_days_to_threshold(readings: list) -> float:
                                    # 線性回歸:時間 vs 差壓,估算還剩幾天達到閾值
                                    x = np.array([i for i, _ in enumerate(readings)])
                                    y = np.array([v for _, v in readings])
                                    slope, intercept = np.polyfit(x, y, 1)
                                    if slope <= 0:
                                        return float("inf")  # 差壓沒有上升趨勢
                                    current_value = y[-1]
                                    points_to_threshold = (DP_ALARM_THRESHOLD - current_value) / slope
                                    return points_to_threshold * (LOOKBACK_DAYS / len(readings))
                                def handler(event, context):
                                    for device_id in ["RO-DP-01", "RO-DP-02"]:
                                        readings = fetch_recent_dp(device_id)
                                        days_left = predict_days_to_threshold(readings)
                                        if days_left <= 7:
                                            sns.publish(
                                                TopicArn="arn:aws:sns:ap-northeast-1:xxx:ro-maintenance",
                                                Message=f"{device_id} 預估 {days_left:.1f} 天後達到更換閾值,建議排程更換濾芯"
                                            )
工程重點:趨勢預測比閾值監控更容易受雜訊干擾(如短暫壓力波動被誤判為趨勢變化),實務上建議搭配移動平均或更穩健的回歸方法過濾雜訊,並保留人工確認機制再排定維護工單。

製藥 GMP 廠:稽核軌跡與資料完整性的技術挑戰

製藥廠導入 IoT 上雲,技術難點不在感測器精度,而在資料是否符合法規稽核要求。台灣藥物優良製造準則(PIC/S GMP)與美國 21 CFR Part 11 都對電子紀錄提出明確要求:資料須可追溯至國家計量標準、須留存完整記錄、電子記錄須具備防竄改機制。這代表雲端架構設計的優先順序,跟前面提到的即時反應型場景完全不同。

案例:無菌製劑產線潔淨室壓差與滅菌釜溫度的稽核級記錄

場景:製藥廠無菌製劑產線需要持續監控潔淨室正壓差(確保外部污染物不會進入)與滅菌釜溫度曲線(確保滅菌製程符合確效參數),這些數據不只是製程監控用途,更是每批藥品放行前必須提交的法規文件。

架構:差壓計與溫度傳送器透過 Modbus RTU 上傳至閘道器,資料進入 AWS IoT Core 後,同步寫入兩個目的地:Timestream 供即時儀表板查詢,以及 S3(啟用版本控制與 Object Lock)做長期不可竄改歸檔。每一筆寫入都搭配 CloudTrail 稽核紀錄,確保任何存取或嘗試修改都留下軌跡。批次放行時,QA 部門可直接從 S3 調閱該批次生產期間的完整溫溼度/壓差曲線,作為放行文件的一部分。

與趨勢預警的本質差異:RO 系統的重點是「预测未来」,GMP 廠的重點是「證明過去」——每一筆歷史數據都必須是完整、未經竄改、可追溯的,這對雲端架構的資料保存策略提出了與其他場景完全不同的要求。

以下是寫入不可竄改歸檔的核心邏輯,資料同時寫入 Timestream(供查詢)與 S3 Object Lock(供稽核):

gmp_audit_trail_writer.js
const AWS = require('aws-sdk');
                                const crypto = require('crypto');
                                const s3 = new AWS.S3();
                                const timestreamWrite = new AWS.TimestreamWrite();
                                exports.handler = async (event) => {
                                  const { batchId, deviceId, value, unit, timestamp } = event;
                                  // 1. 寫入 Timestream,供即時儀表板查詢
                                  await timestreamWrite.writeRecords({
                                    DatabaseName: 'gmp_cleanroom',
                                    TableName: 'pressure_temperature',
                                    Records: [{
                                      Dimensions: [{ Name: 'deviceId', Value: deviceId }],
                                      MeasureName: unit,
                                      MeasureValue: String(value),
                                      Time: String(timestamp)
                                    }]
                                  }).promise();
                                  // 2. 產生資料雜湊值,確保後續可驗證未被竄改
                                  const record = { batchId, deviceId, value, unit, timestamp };
                                  const hash = crypto.createHash('sha256')
                                    .update(JSON.stringify(record))
                                    .digest('hex');
                                  // 3. 寫入 S3,啟用 Object Lock 防止刪除或覆寫(符合稽核要求)
                                  await s3.putObject({
                                    Bucket: 'gmp-audit-archive',
                                    Key: `batches/${batchId}/${deviceId}_${timestamp}.json`,
                                    Body: JSON.stringify({ ...record, sha256: hash }),
                                    ObjectLockMode: 'COMPLIANCE',
                                    ObjectLockRetainUntilDate: new Date(Date.now() + 10 * 365 * 24 * 3600 * 1000) // 保留 10 年
                                  }).promise();
                                  return { status: 'archived', hash };
                                };
合規重點:PIC/S GMP 要求校正報告需可追溯至國家計量標準(NML),電子記錄若出口美國須符合 21 CFR Part 11。S3 Object Lock 的 COMPLIANCE 模式可確保保留期限內連 AWS 帳號管理員都無法刪除或修改資料,這是稽核軌跡設計的核心防線。實際的 IQ/OQ/PQ 文件包與校正報告仍須由具備資質的單位出具,雲端架構只是承載與保全這些記錄的載體。

兩種架構的核心差異對照

比較項目RO 水處理系統製藥 GMP 廠
資料型態連續緩慢變化的趨勢訊號離散批次事件,須完整保存
核心運算邏輯回歸分析、斜率預測雜湊驗證、不可竄改儲存
主要 AWS 服務Timestream + Lambda(週期性運算)S3 Object Lock + CloudTrail(稽核軌跡)
資料保存期限依維護排程需求,通常數月至一年依法規要求,常見 5-10 年以上
異常定義斜率超過預期速率數值超出製程確效範圍(非統計異常)
失敗代價非計畫性停機、濾芯提早劣化整批藥品報廢、稽核不通過、法規裁罰

技術 FAQ

Q1. RO 系統的差壓趨勢預測,多久的歷史資料才夠準?

視濾膜劣化速度而定,一般建議至少 7-14 天的連續資料才能建立可信的趨勢線,資料量太少容易被短期雜訊干擾導致誤判。若進水水質波動大(如季節性濁度變化),建議搭配更長的歷史窗口或加入水質參數作為輔助變數。

Q2. 為什麼不能直接用「差壓超過閾值」當作 RO 濾芯更換的判斷依據?

可以,但這只能做到「事後反應」,無法提前排程維護。純閾值判斷會導致差壓突然超標時才緊急處理,可能造成非計畫性停機;趨勢預測則能提前 3-7 天預知,讓維護團隊排入既定排班,降低對產線的衝擊。

Q3. GMP 稽核到底要求電子記錄具備哪些技術特性?

21 CFR Part 11 對電子記錄的核心要求包括:可追溯的稽核軌跡(誰在何時修改了什麼)、防竄改機制、電子簽章對應機制,以及系統驗證(確保軟體本身符合設計規格)。雲端架構常用 CloudTrail 記錄存取行為、S3 Object Lock 防止刪除修改,來滿足這些技術要求。

Q4. S3 Object Lock 的 COMPLIANCE 模式和 GOVERNANCE 模式有什麼差別?

COMPLIANCE 模式下,保留期限內沒有任何人(包含 root 帳號)可以刪除或覆寫物件,適合法規強制要求的稽核資料。GOVERNANCE 模式則允許具備特殊 IAM 權限的使用者在特定情況下覆寫鎖定,彈性較高但合規強度較低,一般法規稽核場景建議採用 COMPLIANCE 模式。

Q5. 製藥廠的資料如果需要出口到美國市場,架構上要多注意什麼?

需符合 21 CFR Part 11 電子記錄要求,除了資料完整性與可追溯性外,也要考慮資料是否需要因應美國當地法規做特定區域的儲存(Data Residency),實務上建議諮詢法規顧問確認出口市場的具體要求,架構設計才不會事後才發現需要大幅調整。

Q6. RO 系統的斜率預測會不會因為短暫的操作變動(如流量調整)而誤判?

會,這是趨勢預測最常見的干擾來源。實務上建議在計算斜率前先做資料清洗,排除已知的操作變動事件(如可搭配操作日誌做交叉比對),或採用更穩健的統計方法(如中位數回歸)降低單一異常值的影響。

Q7. 潔淨室壓差監控和一般 HVAC 壓差監控的技術要求有何不同?

一般 HVAC 壓差監控著重舒適度與能源效率,容許一定範圍的波動。潔淨室壓差監控則是污染控制的關鍵防線,需要持續維持在設計範圍內(如相鄰等級潔淨室間需維持正壓梯度),任何超出範圍的事件都可能構成 GMP 缺失,因此警報靈敏度與記錄完整性要求都遠高於一般 HVAC 場景。

Q8. 兩種場景的閘道器選型會不一樣嗎?

核心的 Modbus 讀取邏輯類似,差異主要在雲端服務組合與資料治理策略。RO 系統著重運算彈性(適合 Greengrass 跑自訂回歸邏輯),GMP 場景則更看重資料完整性與稽核合規功能,建議優先確認閘道器廠商是否有醫藥產業導入案例與相關驗證文件。

ATLANTIS 對應產品線

昶特有限公司(ATLANTIS)31 年工業儀錶製造經驗,針對水處理與製藥產業均有對應的壓力/溫度傳送器產品線,可直接搭配前述 Modbus/HART 上雲架構使用。

DPS-2.5SPD3 多功能壓力開關

DPS-2.5SPD3 多功能壓力開關

陶瓷壓阻式與不鏽鋼316元件,全量程精度 0.5%,可選配 RS-485 數位輸出,適合 RO 系統差壓連續監測。

SLPTX系列 數位式HART智能型液位傳送器

SLPTX系列 HART智能型液位傳送器

德國陶瓷電容壓力傳感器,三重防結露保護,測量膜片大面積接觸不易堵塞,適合水處理連續監控場景。

STT HART智能型溫度傳送器

STT HART智能型溫度傳送器

支援遠端組態與診斷,適合製藥廠滅菌釜溫度曲線監控與確效參數記錄需求。

THT-S351系列 溫濕度傳送器

THT-S351系列 溫濕度傳送器

進口溫濕度感測元件,精度高、響應快,適用於潔淨室環境溫濕度稽核級監控。

→ 查看完整 257 項產品型錄

需要為您的產業設計對應的監控架構?

不論是 RO 系統的趨勢預警,或是 GMP 廠的稽核級資料保存,告訴我們您的產業與法規需求,ATLANTIS 工程團隊協助您完成儀表選型與資料架構的對接確認。

豐富產品現貨・TAF 認可校正・材質證明書完整提供・24 小時緊急備品支援

立即詢價 / 技術諮詢 →

業務一部 Ian:ian@atlantis.com.tw  業務二部 Nori:nori@atlantis.com.tw  電話:02-2820-3405