SCADA 感測器資料管線

System ↔ System

PLC 感測器資料流經 SCADA 至歷史資料庫,並進行告警評估。

6 個節點 · 5 條連接manufacturing
eventsystemdb
視覺化
PLC 感測器資料event

來自廠房可程式邏輯控制器的原始讀數。

sequentialSCADA 資料收集
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"