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

OPC UA サーバー

🎬 Browse the OPC UA node tree · 27초 · 2026.09 기준 화면

ゲートウェイ自体に OPC-UA サーバー が内蔵されており、収集されたタグ値を外部 OPC-UA クライアント(SCADA, HMI)にそのまま公開します。このページでは、内蔵サーバーの 接続情報・セキュリティ設定 と ノードツリー(タグリスト + リアルタイム値 + 時系列)、接続状態・クライアント証明書・クライアント接続証明書・アカウントを一つの画面(6つのタブ)で扱います。

OPC UA サーバー › サーバー情報タブ — タブ、状態、エンドポイント、セキュリティ、サーバー証明書

番号場所内容
①タブ行6つのタブ
②状態カードサーバー状態・セッション・サブスクリプション・公開ノード数
③エンドポイントTCP / TLS 接続 URL と提供されるセキュリティポリシー
④セキュリティ匿名接続・セキュリティなしエンドポイント・クライアント証明書・アカウント
⑤サーバー証明書主体・フィンガープリント・有効期間、[ダウンロード (.der)]

OPC UA サーバー › ノードタブ — 左側のツリーでタグを選択すると右側に詳細が表示されます

番号場所内容
①ノードツリー엣지 → OPC → 태그、接続状態ドットと最新値
②パネルヘッダーCSV アイコン — アドレス空間のダウンロード
③ノード詳細選択したノードの情報と時系列
内蔵 OPC-UA サーバー仕様
  • 実装: Eclipse Milo 1.1.8
  • Transport: opc.tcp のみ (UA Binary)。エンドポイントパスは /opcua — opc.tcp://<호스트>:12000/opcua (TCP ポート) ・ opc.tcp://<호스트>:12443/opcua («TLS» ポート)。12443 も HTTPS ではなく セキュリティポリシーが適用された opc.tcp です
  • Security policies: Basic256Sha256 / Aes128_Sha256_RsaOaep / Aes256_Sha256_RsaPss — それぞれ Sign · SignAndEncrypt、両ポート共通
  • None (セキュリティなし): opc.ua.server.security.none=yes(デフォルト) の場合、TCP ポートにのみ セッションエンドポイントが開きます。Discovery(/opcua/discovery) は規格上常に None ですが、セッションは開けません
  • User token: Anonymous (opc.ua.server.anonymous=yes, デフォルト) / UserName+Password / X.509 (サーバー信頼リストにある証明書のみ)
  • サーバー証明書: 初回起動時に自己署名(RSA 2048)で作成され $PE_DATA_DIR/pp-data/opcua/ に保存されます — アップグレード後も同じ証明書・信頼リストを維持します

左側メニューの OPC UA サーバー アイコン、または直接 http://<gateway>/ui/opcua へ移動します。


1. 画面構成​

画面上部の6つのタブに分かれています。アドレスの末尾に #server · #nodes · #sessions · #certs · #client-certs · #accounts を付けるとそのタブが直接開き、付けない場合はブラウザで最後に閲覧したタブが開きます。

タブ内容
サーバー情報サーバー状態・稼働時間、現在のセッション・サブスクリプション・公開ノード数。外部クライアントが接続する TCP / TLS エンドポイント URL(コピーボタン) と各エンドポイントが実際に提供するセキュリティポリシーバッジ。匿名接続・セキュリティなしエンドポイントの ON/OFF、クライアント証明書・アカウント数、サーバー証明書(主体・SHA-1 フィンガープリント・有効期間・キー)
ノード左側 ノードツリー(엣지 → OPC → 태그、各 OPC の 接続状態ドット(マウスオーバーで状態名表示) とタグ数、各タグの 最新値) と右側 ノード詳細(メタ情報 + リアルタイム値 + 数値/ブーリアンタグの場合は 時系列チャート)。パネルヘッダーの CSV アイコンでアドレス空間をダウンロードします
接続状態現在のセッション・サブスクリプション・モニタリング項目数、拒否された接続数、セッションリスト
クライアント証明書セキュリティチャネルを試行したクライアント証明書の 拒否済み・信頼済み リスト、[信頼] [拒否リストへ] [削除]、サーバー証明書 [ダウンロード (.der)]
クライアント接続証明書Edge が クライアントとして 外部 OPC UA サーバーに接続する際に使用する証明書。OPC UA プロトコル 参照
アカウントデフォルト管理者 + 追加アカウント(読み取り専用 / 読み書き) の管理

エンドポイント URL のホストは opc.ua.server.domain です。この値がループバック(127.0.0.1 · localhost · 0.0.0.0, インストールデフォルト) の場合、ブラウザが接続したホストで URL を生成します — リモートでコピーした URL が自身の PC を指さないようにするためです。


2. NodeId コンベンション​

各タグは以下のような OPC-UA NodeId で公開されます。アドレス空間のルートは Edge ID であり(Objects 以下)、その下に OPC(接続) フォルダ、さらにその下にタグが配置されます。

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

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

  • タグに タググループ が設定されている場合、OPC フォルダ下の GROUP.<그룹> フォルダに配置されますが、タグの NodeId は上記の形式のままです。
  • OPC フォルダごとに _Status フォルダがあり、Connected · State · LastError · LastCollectedAt · CycleMs を 2 秒周期で提供します(読み取り専用)。
  • edge.id が空であるか、EDGE_ + 大文字・数字・_ の形式でない場合、名前を生成せず OPC-UA サーバーを起動しません(ERROR ログ)。
2026.11 より NodeId が変更されました

旧版の NodeId は EDGE.<SITE_ID>.<OPC_ID>.<TAG_ID> でした。現在はルートが Edge ID となり、サイト階層はありません。互換エイリアスがないため、アップグレード後は SCADA 側の NodeId を再設定する必要があります。

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


3. ノードツリー — 検索 / リフレッシュ​

  • ツリー上部の検索窓にテキストを入力すると、ツリー・OPC・タグ名を リアルタイム部分一致 でフィルタリングします。一致する項目が子要素にある場合、親(OPC, Edge) も自動的に展開して表示します。
  • 画面上部のリフレッシュ(↻) ボタン — ツリーと各タブの情報を再取得します。通常は自動更新されるため、操作する必要はほとんどありません。
  • 各行の ◂/▾ トグルでサブツリーを折り畳み/展開できます。検索が有効な場合は一致箇所の表示のために自動的に展開され、検索をクリアすると直前のトグル状態に復元されます。
  • 長い値の自動省略 (ellipsis) — ツリーノードの 現在値 がカラム幅を超える場合、text-overflow: ellipsis として … 処理されます。マウスホバー時にツールチップで全テキストが表示されます — 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 チャート が描画されます — 同じ値が連続する区間を一つのボックスとしてまとめ、視覚的に 状態変化のタイミング を強調する形式です。

項目説明
ボックス = 同一値の連続区間例: "RUNNING" が 12:00~12:35 まで維持された場合、その区間を一つのボックスとして表示
ボックス色値のハッシュに基づき自動決定 — 同じテキストは常に同じ色
ボックスラベル値のテキスト (長い場合はホバー時に全文表示)
時間軸 zoom/panvis 基本インタラクション (マウスホイール / ドラッグ)
更新ポーリング時に history を ASC 順にソートしてデータセット全体を再構成 (変動が少ない場合はちらつきなし)
ノード変更時disposeStringTimeline() でインスタンスを destroy し、新ノードのチャートを再生成

STRING チャートは、状態マシン ログ(READY → RUNNING → ERROR → IDLE) のような非数値時系列を一目で確認するのに適しています。同様のトーンは タグ値推移表示 (tag-view) にも適用されています。


5. Edge システムタグ​

OPC_SYSTEM_<EDGE_ID> というシステム接続が自動的にツリーに表示されます。これはゲートウェイ自身の状態を OPC-UA ノードとして公開する 38 個のシステムタグの集合であり、タグ ID は TAG_<EDGE_ID>_90000 ~ TAG_<EDGE_ID>_90037 です。

代表的なタグ:

タグ名意味
THREAD_COUNTJVM スレッド数
TAG_COUNT登録タグ総数
SERVER_STARTED_TIMESTAMPEdge 起動時刻(epoch ms)
PLC_CON_CONNECTED_COUNT現在接続されている接続(OPC)数
MEMORY_USED_PERCENTメモリ使用率(%)

システム接続の 接続状態 は 常に CONNECTED と表示され(自身であるため接続概念がない)、_Status フォルダは存在しません。


6. 外部クライアントとの連携 — フロー​

  1. サーバー情報 タブからエンドポイント URL をコピー (例: opc.tcp://<gateway>:12000/opcua)。パス /opcua を除くと接続できません — サーバーが HELLO を BadTcpEndpointUrlInvalid で拒否します。
  2. UaExpert / KEPServerEX などの OPC-UA クライアントでサーバーを追加 → 上記 URL を入力 → セキュリティポリシーを選択。
    • セキュリティなしエンドポイント が有効な場合、TCP ポートから None で接続可能です。
    • セキュリティポリシー(Basic256Sha256 など) で接続すると、初回はサーバーがクライアント証明書を拒否します。クライアント証明書 タブの 拒否済み リストでフィンガープリントを SCADA 側の証明書と照合し [信頼] をクリック — 再起動なしで次回の接続から適用されます。クライアント側でもサーバー証明書を信頼させる必要がある場合は、[ダウンロード (.der)] で取得して登録します。
  3. 認証モード:
    • Anonymous — サーバー情報タブで 匿名接続 が有効であればそのまま接続可能。匿名セッションは 読み取りのみ です。
    • Username / Password — デフォルト管理者(opc.ua.server.user / opc.ua.server.password) または アカウント タブで追加したアカウント。
    • X.509 — サーバー信頼リストにある証明書のみ受け入れます。
  4. 接続後、NodeId ns=2;s=... 形式のタグをそのままサブスクライブします。

7. アカウント・書き込み​

  • デフォルト管理者(opc.ua.server.user / password) は 読み書き 権限を持ち、画面から削除できません。パスワードは設定画面で変更します。
  • アカウント タブで追加アカウントを作成します — ID は英数字で始まり、英数字・._- のみ使用可能で最大 64 文字まで(デフォルト管理者の ID は使用不可)、パスワードは 8~128 文字。権限は 読み取り専用 / 読み書き。権限変更は開いているセッションに即時適用され、削除・使用停止・パスワード変更はそのアカウントのセッションを切断します。
  • 匿名ではないセッション(デフォルト管理者・読み書きアカウント・信頼された X.509 証明書) がタグノードに 書き込む と、その値が該当 PLC に転送されます(ドライバ書き込みと同様の流れで、tm_tag_write にアカウント・セキュリティポリシー・接続 IP を記録)。PLC への書き込みが成功したときのみ、ノード値が更新されます。
  • 書き込みが拒否される場合:
結果原因
Bad_NotWritable読み取り専用タグ(client_access=R) — 全ユーザー対象
Bad_UserAccessDenied匿名セッション、読み取り専用アカウント、または HA ペアでこの Edge に PLC 書き込み権限がない場合
Bad_InternalErrorPLC 書き込み失敗、または起動中のため書き込みパスが未準備
匿名・セキュリティなしは出荷時デフォルト設定です

opc.ua.server.anonymous と opc.ua.server.security.none は、どちらもデフォルトで yes に設定されています。この状態では、ネットワーク上のあらゆるクライアントが証明書やパスワードなしで すべてのタグを読み取ることが可能 です(匿名セッションの書き込みは禁止されています)。運用環境では、設定画面の OPC UA サーバー タブにて 匿名接続許可 および セキュリティなしエンドポイント をオフにしてください。


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

症状点検ポイント
ツリーに OPC が表示されない자주 하는 작업 → 새 PLC 연결 추가 が完了しているか、ゲートウェイの該当 OPC の 収集自動開始 オプションが有効になっているか
タグ横の値が - となる該当タグが一度も更新されていない。収集開始 / OPC 接続 / Quality を点検
クライアントが BadTcpEndpointUrlInvalid で接続失敗エンドポイント URL 末尾の /opcua が抜けていないか
ツリーには見えるが外部クライアントが NodeId を見つけられない入力ミス、または 2026.11 以前の EDGE.<SITE_ID>... 形式の NodeId を使用していないか (§2 参照)
サーバー情報タブが «停止»edge.id が空であるか形式が正しくない、または PE_DATA_DIR を取得できていない — いずれの場合もサーバーを起動せず ERROR ログを記録します
セキュリティポリシーで接続すると拒否されるクライアント証明書がまだ信頼されていない — クライアント証明書 タブで [信頼] を実行
None で接続できないセキュリティなしエンドポイント がオフになっているか、12443 ポートで接続しようとしている (None セッションは TCP ポートのみ)
書き込みが Bad_NotWritable / Bad_UserAccessDenied§7 表を参照
チャートが空であるそのタグの Cassandra history がまだ存在しない(登録直後のタグ) — しばらく待つと点が追加されます
チャートが不規則に見える範囲を 24時間 に広げると、自動ダウンサンプリングが適用され滑らかになります
クライアントがサーバー証明書を信頼しないゲートウェイの自己署名証明書であるため — クライアント側で "Trust" 処理を行うか、[ダウンロード (.der)] で取得した証明書を登録します

9. 詳細情報​

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