SCADA 感測器資料管線
System ↔ SystemPLC 感測器資料流經 SCADA 至歷史資料庫,並進行告警評估。
6 個節點 · 5 條連接manufacturing
eventsystemdb
視覺化
PLC 感測器資料event
來自廠房可程式邏輯控制器的原始讀數。
↓sequential→ SCADA 資料收集
SCADA 資料收集system
OPC-UA 伺服器彙整並正規化標籤數值。
↓sequential→ 資料驗證
資料驗證system
範圍檢查、突波偵測及 NaN 過濾。
↓sequential→ 歷史資料庫寫入
↓parallel→ 告警評估
歷史資料庫寫入db
時間序列資料寫入製程歷史資料庫 (如 OSIsoft PI、InfluxDB)。
告警評估system
將數值與高高限、高限、低限、低低限設定點進行比較。
↓sequential→ 儀表板更新
儀表板更新api
透過 WebSocket 將即時數值推送至 HMI 及網頁儀表板。
uc-scada-pipeline.osop.yaml
osop_version: "1.0"
id: "scada-pipeline"
name:"SCADA 感測器資料管線"
description:"PLC 感測器資料流經 SCADA 至歷史資料庫,並進行告警評估。"
nodes:
- id: "plc_data"
type: "event"
name: "PLC 感測器資料"
description: "來自廠房可程式邏輯控制器的原始讀數。"
- id: "scada_collect"
type: "system"
name: "SCADA 資料收集"
description: "OPC-UA 伺服器彙整並正規化標籤數值。"
timeout_sec: 10
- id: "data_validation"
type: "system"
name: "資料驗證"
description: "範圍檢查、突波偵測及 NaN 過濾。"
- id: "historian_write"
type: "db"
name: "歷史資料庫寫入"
description: "時間序列資料寫入製程歷史資料庫 (如 OSIsoft PI、InfluxDB)。"
retry_policy:
max_attempts: 2
backoff: "fixed"
- id: "alarm_eval"
type: "system"
name: "告警評估"
description: "將數值與高高限、高限、低限、低低限設定點進行比較。"
- id: "dashboard_update"
type: "api"
name: "儀表板更新"
description: "透過 WebSocket 將即時數值推送至 HMI 及網頁儀表板。"
edges:
- from: "plc_data"
to: "scada_collect"
mode: "sequential"
- from: "scada_collect"
to: "data_validation"
mode: "sequential"
- from: "data_validation"
to: "historian_write"
mode: "sequential"
- from: "data_validation"
to: "alarm_eval"
mode: "parallel"
- from: "alarm_eval"
to: "dashboard_update"
mode: "sequential"