コンテンツにスキップ

工場データをモデリングする

対応エディションEdgeCloudEnterprise

物理的な場所を持つ機械や設備の産業データは、通常 ISA-95 標準に基づいてモデル化します。

Terminal window
Enterprise (Level 4)
└── Site (Level 3/4)
└── Area (Level 3)
└── Work Center / Process Cell (Level 2/3)
└── Equipment / Unit (Level 1/2)
└── Control Module / Device (Level 0/1)

ERP の生産注文や作業指示計画など、業務計画やプロセスオブジェクトについては、業務コンテキストに沿ってデータをモデル化します。

Terminal window
Factory / Business Domain / Business Object / Topic Type / Topic
  • Business Domain:データが属する業務プロセスまたはシステムを確認します。

    Terminal window
    ERP
    MES
    WMS
    QMS
    EAM
    LIMS
    Planning
    Inventory
    Maintenance
    Quality
    Logistics
    ...
  • Business Object:業務ドメインで管理される中心オブジェクトです。

    Terminal window
    ProductionOrders
    WorkOrderPlan
    MaterialInventory
    QualityInspection
    MaintenanceOrders
    PurchaseOrders
    Shipments
    ...
  • Topic TypeMetricActionState からデータタイプを選択します。

    Topic Type Used for Examples
    STATE 現在の状態または現在の事実 作業指示の状態、注文状態、設備状態
    METRIC 継続的に変化する数値 温度、速度、生産量、OEE、エネルギー消費
    ACTION 外部実行者へのコマンド 設備起動、設備停止、アラームリセット、作業指示の払い出し要求
Terminal window
DemoFactory
└── ERP
├── ProductionOrders
│ └── State
│ ├── UpsertProductionOrder
│ └── OrderList
└── WorkOrderPlan
├── Metric
│ └── SplitCount
└── State
├── PlanStatus
└── WorkOrderList

Tier0 uses 3 fixed topic types: Metric, Action, and State to avoid topic explosion.

  • 高頻度リアルタイムデータには Metric を使う

    高頻度の測定値やテレメトリは、各信号の詳細ごとに namespace を広げるのではなく Metric に配置します。

    Terminal window
    Factory_A
    └── SMT_Line_1
    └── Machine_001
    ├── Temperature_Value
    ├── Temperature_Unit
    ├── Temperature_Status
    └── Speed_Value
  • 低頻度ステータスデータには State を使う

    低頻度の状態、スナップショット、現在の業務状態は State に配置します。ジョブ、バッチ、注文などの変化するエンティティごとに新しい topic を作らないようにします。

    Terminal window
    Factory_A
    └── SMT_Line_1
    └── State
    ├── Job_001
    ├── Job_002
    └── Job_003
  • 低頻度アクションデータには Action を使う

    コマンド、リクエスト、オペレーター操作は Action に配置します。action の入力はパラメータごとに topic を作るのではなく、topic のフィールドとして保持します。

    Terminal window
    Factory_A
    └── SMT_Line_1
    └── Machine_001
    ├── Start_Command
    ├── Target_Height
    └── Light_On

topic payload を設計するときは、消費されるデータと書き戻されるデータの両方を考慮します。

  • Action

    Action payload には、データが Tier0 データベースに保存された時刻を記録する _timestamp が自動的に含まれます。

    Terminal window
    {
    "light_turn_on": true,
    "height_adjust": 12.5,
    "_timestamp": "2026-07-10T10:00:00Z"
    }
  • Metric

    Metric payload には、Tier0 データベースへの保存時刻を記録する _timestamp と、データ品質を表す _quality が自動的に含まれます。

    Terminal window
    {
    "production_order_id": "PO-20260710-001",
    "plan_id": "PLAN-001",
    "plan_number": "WOP-20260710-001",
    "split_count": 3,
    "updated_at": "2026-07-10T10:00:00Z",
    "_timestamp": "2026-07-10T10:00:00Z",
    "_quality": "Good"
    }
  • State

    State payload には、データが Tier0 データベースに保存された時刻を記録する _timestamp が自動的に含まれます。

    Terminal window
    {
    "event_id": "EVT-001",
    "event_type": "UPSERT",
    "source": "ERP",
    "production_order_id": "PO-20260710-001",
    "order_number": "PO-001",
    "product_code": "SKU-1001",
    "planned_qty": 1200,
    "unit": "pcs",
    "status": "Released",
    "due_date": "2026-07-12T00:00:00Z",
    "updated_at": "2026-07-10T10:00:00Z",
    "_timestamp": "2026-07-10T10:00:00Z"
    }