メインコンテンツまでスキップ

OPC-UA ノードビューアの使い方 (/ui/opcua)

ゲートウェイ自体が OPC-UA サーバー を内蔵しており、収集したタグ値を外部の OPC-UA クライアント(SCADA、HMI)へそのまま公開します。このページは、その内蔵サーバーの 接続情報ノードツリー(タグ一覧 + リアルタイム値 + 時系列) を 1 画面で確認できるビューアです。

内蔵 OPC-UA サーバー仕様
  • 実装: Eclipse Milo 0.6.16 (Apache 2.0)
  • OPC UA スペック: 1.04 (IEC 62541:2020)
  • Transport: opc.tcp:// (default port 12000) / opc.tcp+TLS (12443)
  • Security policies: None / Basic128Rsa15 / Basic256 / Basic256Sha256 / Aes128_Sha256_RsaOaep / Aes256_Sha256_RsaPss
  • User token: Anonymous (opc.ua.server.anonymous=yes default) / UserName+Password / X.509
  • Encoding: UA Binary
  • Profile: Standard 2017 Server
  • PubSub MQTT (1.05): 未対応 — 発行が必要な場合は Sparkplug B を使用

左メニューの OPC-UA ビューア、または直接 http://<gateway>/ui/opcua へ移動します。


1. 画面構成

領域内容
上部 エンドポイントパネル外部クライアントが接続する TCP / TLS Endpoint URL、Application Name、Namespace Index、認証情報 (Username / Anonymous 許可の有無 / Password トグル)
左側 ノードツリー사이트 → OPC → 태그 の 3 階層ツリー。各 OPC の 接続状態(CONNECTED/DISCONNECTED/UNKNOWN) とタグ数、各タグの 最新値 をインラインで表示
右側 ノード詳細ツリーで選択したノードのメタ情報 + リアルタイム値 + (数値/ブーリアンタグの場合) 時系列チャート

上部の エンドポイント URL の横にある コピー アイコンで一括コピーでき、Password 欄をクリックすると(認証済みセッションの場合)平文が表示されます。


2. NodeId の規約

各タグは次のような OPC-UA NodeId として公開されます。

ns=2;s=<SITE_ID>.<OPC_ID>.<TAG_ID>

例: ns=2;s=SITE_00001.OPC_00303.TAG_TEST_00042

外部クライアント(UaExpert、KEPServerEX、Ignition など)から、この NodeId で直接サブスクライブできます。詳細パネルの NodeId 右側に コピー ボタンがあり、クリップボードへ簡単に取り込めます。


3. ノードツリー — 検索 / 更新

  • ツリー上部の検索欄にテキストを入力すると、ツリー・OPC・タグ名を リアルタイム部分一致 でフィルタリングします。一致が子孫にある場合は、親(OPC、サイト)も自動的に展開して表示します。
  • 検索欄右側の更新(↻)アイコン — キャッシュされたツリー/エンドポイント情報を再取得します。通常は自動で更新されるため、ほとんど押す必要はありません。
  • 各行の ◂/▾ トグルでサブツリーを折りたたみ/展開できます。検索が有効な間は一致箇所を表示するために自動展開され、検索を空にすると直前のトグル状態に復元されます。
  • 長い値の自動省略 (ellipsis) — ツリーノードの 現在値 がカラム幅を超えると text-overflow: ellipsis 処理されます。マウスホバー時に tooltip で全文が表示されます — JSON / 長い STRING 値がツリーレイアウトを崩さないための保護策です。
値の更新周期

ツリーに表示される値は 2 秒周期 で自動更新されます (/ui/opcua/tree)。ツリー構造や展開状態、右側の詳細、チャートはそのまま維持されます。


4. ノード詳細 + 時系列チャート

タグ行をクリックすると、右側に次の内容が表示されます。

  • NodeId (コピー可能)
  • Tag ID / DataType / PLC Address / Alias / Description
  • Value (現在値 + 最終更新時刻、ms まで)
  • Status (OK / ERROR (메시지))

値の型に応じてチャートの種類が自動的に変わります。

4.1 数値 / ブーリアン (ECharts ラインチャート)

値が 数値型(Integer/Long/Float/Double など) または ブーリアン の場合、ECharts の時系列ラインチャート が描画されます。

チャート機能説明
範囲選択チャート右上のコンボで 1분/5분/10분/30분/1시간(default)/3시간/12시간/24시간 を選択 — Cassandra(tm_tag_point) の過去データを即時に取得して再描画します
dataZoom スライダーチャート下部のグレートーン(淡いグレー)のドラッグバー — 横方向の zoom / pan
自動追加2 秒周期のポーリングが新しい値をチャートに追加します
Tooltipマウスオーバー時に ms 単位の時刻 + 値
ブーリアンstep end 形式(階段状)で 0/1 のトグルを可視化
サンプリング5,000 点まで保持し、それを超えると古い点から削除 (lttb ダウンサンプリング)

4.2 STRING (vis-timeline ボックスチャート)

値が STRING の場合は、ECharts のラインではなく vis-timeline の range box チャート が描画されます — 同じ値が連続する区間を 1 つのボックスにまとめ、視覚的に 状態変化のタイミング を強調する形式です。

項目説明
ボックス = 同じ値の連続区間例: "RUNNING" が 12:00〜12:35 の間維持された場合、その区間で 1 つのボックス
ボックスの色値のハッシュベースで自動 — 同じテキストは常に同じ色
ボックスのラベル値の平文 (長い場合はホバーで全文)
時間軸の zoom/panvis の標準インタラクション (mouse wheel / drag)
更新ポーリング時に history を ASC ソートしてデータセット全体を再構成 (変動がほとんどなければちらつきなし)
ノード変更時disposeStringTimeline() でインスタンスを destroy し、新しいノードのチャートを再生成

STRING チャートは ステートマシン のログ(READY → RUNNING → ERROR → IDLE)のような非数値の時系列を一目で把握するのに適しています。同じ方式は タグ値の推移を見る (tag-view) にも適用されます。


5. EDGE システムタグ

EDGE_<...> で始まる仮想 OPC が 1 つ、自動的にツリーに表示されます。これはゲートウェイ自身の状態を OPC-UA ノードとして公開するシステムタグの集合です。

代表的なタグ:

タグ名(Description)意味
THREAD_COUNTJava スレッド数
TAG_COUNT登録済みタグの総数
SERVER_STARTED_TIMESTAMPサーバー起動時刻(epoch ms)
OPC_CONNECTED_COUNT接続 OK の OPC 数
HEAP_USED_MBJVM ヒープ使用量(MB)

EDGE システム OPC の 接続状態常に CONNECTED と表示されます(自分自身のため接続という概念がありません)。


6. 外部クライアントと併用する — 流れ

  1. この画面で TCP Endpoint をコピーします (例: opc.tcp://<gateway>:12000)。
  2. UaExpert / KEPServerEX などの OPC-UA クライアントで新規サーバーを追加 → 上記 URL を入力。
  3. 認証モード:
    • Anonymous が有効な場合(上部パネルに Anonymous 許可 と表示)、そのまま接続。
    • そうでない場合は Username / Password を使用 (Password は上部パネルでクリックすると一時的に平文で確認できます)。
  4. 接続後、NodeId ns=2;s=... 形式のタグをそのままサブスクライブ。

7. トラブルシューティング

症状点検ポイント
ツリーに OPC が表示されない자주 하는 작업 → 새 PLC 연결 추가 が完了しているか、ゲートウェイでその OPC の 収集自動開始 オプションが有効になっているか
タグ横の値が - と表示される該当タグが一度も更新されていない。収集開始 / OPC 接続 / Quality を点検
ツリーには見えるが外部クライアントが NodeId を見つけられない誤入力、または OPC-UA サーバーが無効。app.propertiesopc.ua.server.tcp.enable=true を確認
チャートが空そのタグの Cassandra history がまだない(登録したばかりのタグ) — しばらく待つと点が追加されます
チャートがギザギザに見える範囲を 24時間 に広げると自動ダウンサンプリングが働き、滑らかになります
라이센스/CN 인증서 警告 (TLS エンドポイント)ゲートウェイの自己署名証明書 — クライアント側で "Trust" 処理。社内証明書の適用は運用担当者へ問い合わせ

8. さらに詳しく

  • Node-RED (/ui/flow) — 同じタグ値をフローで加工/外部送信。자주 하는 작업 → Node-RED 로 자동화 / IIoT 플로우 を参照。
  • REST API — 同じデータを HTTP で直接取得できます。고급 / 통합 파트너용 → REST API を参照。
  • ドライバ技術リファレンス → OPC-UA — ゲートウェイの OPC-UA クライアント 側(外部 OPC-UA サーバーに接続してデータを取得する経路)の説明。