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

フロー (Node-RED) — はじめに

/ui/flow メニューから、ゲートウェイに内蔵された Node-RED 環境にアクセスできます。 Node-RED は、ブロック(ノード)をドラッグ&ドロップで接続してデータの流れを作るローコードツールです。ゲートウェイのタグ値を読み書きし、MQTT/HTTP で外部システムと連携し、アラーム・ロギング・演算といった自動化を描くことができます。

2026.05+ コンテナモードの Node-RED

Node-RED 4.1.10 + Node.js 20 (いずれも image 内に global インストール)。コンテナの初回起動時に userDir.seed (image-baked の既定 flows + node_modules + plantpulse-edge / node-red-contrib-opcua ノード) が /data1/pp-data/node-userdir/ へ自動コピーされます (2 回目以降の起動ではユーザー flow を保持)。 image upgrade 後もユーザー flow はそのまま維持されます。

PlantPulse 専用ノード (pp-tag-value-read / pp-tag-value-write / pp-opc-* / pp-tag-list) は image の node/conf/plantpulse-edge-nodes/ を絶対パスの symlink で接続 — entrypoint が毎回の 起動で保証します (relative path だった旧 native の symlink がコンテナでは壊れる問題を事前に回避)。

本ドキュメントを読む前に

자주 하는 작업 → 새 PLC 연결 추가 / 태그 등록 まで完了し、1 つ以上のタグがリアルタイムで収集されている状態から始めてください。Node-RED はそのタグ値を入力として使用します。


1. アクセス

ブラウザでゲートウェイに接続した後、左メニューの フロー (Node-RED) を選択するか、直接 http://<gateway>/ui/flow に移動します。


2. 画面構成

領域説明
左側 パレット使用できるノードの一覧。カテゴリ別に並びます。엣지 カテゴリにゲートウェイ専用ノードが含まれます。
中央 ワークスペースノードをドラッグして配置し、ワイヤで接続します。タブ(複数フロー)単位で分けられます。
右側 サイドバーinfo タブで選択したノードのヘルプ、debug タブで debug ノードの出力ログを確認できます。
右上 Deploy変更を実際に動作させるには、必ず Deploy ボタンを押す必要があります。

3. 基本操作 — 覚えておくと便利なショートカット

操作方法
ノード追加パレットからワークスペースへドラッグ
ノード設定ノードをダブルクリック → 右パネルで編集 → Done
ノード接続(ワイヤ)ノードの出力点(右側)をドラッグして、別のノードの入力点(左側)に置く
ワイヤの切断ワイヤをクリックして選択後 Delete
複数選択Shift ドラッグで範囲選択、または Ctrl/Cmd + 클릭 で追加選択
コピー / 貼り付けCtrl/Cmd + C / Ctrl/Cmd + V
検索Ctrl/Cmd + F — パレットでノード名を検索
フローのインポートメニュー → インポート → JSON を貼り付け (本ドキュメントの例をそのまま import 可能)
変更は Deploy して初めて有効になります

ノードを追加/削除/変更しても、Deploy を押すまでゲートウェイはその変更を認識しません。赤い点 (●) が表示されたノードは「未保存の変更あり」を意味します。


4. メッセージ(msg)の基本構造

ノード間を流れるデータは、常に msg という JavaScript オブジェクトです。最もよく使うフィールド:

フィールド意味
msg.payload本文(主なデータ)。数値/文字列/オブジェクト/バッファのいずれも可
msg.topicトピック(分類ラベル)。MQTT/Switch/Join などでよく使用
msg.timestampタイムスタンプ (必要なときに自分で設定)
msg._msgidNode-RED が自動的に付与する一意の ID — トレース用

ほとんどのノードは msg.payload だけで動作します。


5. Edge ノード — ひと目で (ゲートウェイ専用)

パレット左側の 엣지 カテゴリに、ゲートウェイが独自登録した 2 つのノードがあります。ほぼすべての IIoT フローの 入力/出力 となります。

アイコンノード英語名動作呼び出す REST
タグ値読み取り (pp-tag-read)read tag value1 つのタグの 現在値 を取得 (キャッシュまたは PLC の直接 read)GET /api/v1/tag/{tagId}/value
タグ値書き込み (pp-tag-write)write tag value1 つのタグへ 値を書き込む (PLC に即時反映)POST /api/v1/tag/{tagId}/value
inject (1s) ──▶ 태그값 읽기 ──▶ 처리 (function/switch/...) ──▶ 태그값 쓰기 / mqtt out / debug / file ...

ノードの探し方 — パレットの検索欄に read tag または 엣지 を入力 → この 2 つのノードのみが絞り込まれます。淡いパステルブルーの色です。

ノード設定でよく空欄にする項目動的に設定する方法
Tag IDフロー中に msg.tagId = 'TAG_...' で動的に指定 (1 つのノードを複数タグで再利用)
Value (書き込みノード)msg.value または msg.payload でフロー中に設定
書き込みは危険です — まずテストタグで検証

実設備に直接書き込みを適用する前に、外部シミュレータまたは テストタグ で十分に検証してください。write 権限は運用チームと合意したタグにのみ与えます。

詳細なフィールド / 入出力 / 全プロトコル対応表 → Edge カテゴリ (タグ読み取り/書き込み)


6. 最初のフロー — Hello World

目標: 5 秒ごとに 1 つのタグを読み取り、Debug サイドバーに出力する

  1. パレットから inject ノードをドラッグ → ダブルクリック → Repeat: interval every 5 seconds → Done
  2. 엣지태그값 읽기 ノードをドラッグ → Tag ID に実際のタグ (例: TAG_TEST_00042) を入力 → Done
  3. パレットから debug ノードをドラッグ
  4. 3 つのノードを inject → 태그값 읽기 → debug の順にワイヤで接続
  5. 右上の Deploy をクリック
  6. 右サイドバーの debug タブを開き、5 秒ごとに値が出力されるか確認

このパターン(周期トリガー → 読み取り → 処理)が、すべての IIoT フローの基本形です。


7. 次のステップ

左メニューの順に:

  1. 基本ノードの使い方 — IIoT でよく使う 14 個のノードの機能
  2. Edge ノード (タグ読み取り/書き込み) — ゲートウェイ専用ノード (上記 5 節「ひと目で」の詳細版)
  3. MQTT ノード詳細 — Broker 設定 / Pub / Sub / LWT / Birth
  4. OPC-UA ノード詳細 — Endpoint / Item / Client / Subscribe / Browse
  5. Sparkplug B ノード詳細 — Group / Edge / Birth-Death / 送受信
  6. IIoT 例集 — 現場でよく作る 12 のパターン
  7. トラブルシューティング — よく陥る落とし穴

8. さらに詳しく

  • OPC-UA ノードビューア (/ui/opcua) で、現在ゲートウェイが保持しているすべてのタグ/値/ノード ID をひと目で確認。→ OPC-UA ノードビューアを使う
  • REST API そのものは 고급 / 통합 파트너용 → REST API の章を参照。Node-RED の pp-tag-read / pp-tag-write は、その API の薄いラッパーです。
  • Node-RED 公式マニュアル: <https://nodered.org/docs/>