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

フロー (Node-RED) を始める

🎬 Build a data flow · 33초 · 2026.09 기준 화면

/ui/flow メニューを通じて、ゲートウェイに内蔵された Node-RED 環境に接続できます。 Node-RED はブロック(ノード)をドラッグ&ドロップで接続してデータフローを作成するローコードツールです。ゲートウェイのタグ値を読み書きし、MQTT/HTTP で外部システムと連携し、アラーム・ロギング・計算などの自動化を構築できます。

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

Node-RED 4.1.10 + Node.js 20 (すべてimage内にグローバルインストール)。コンテナの初回起動時に userDir.seed (node_modules + PlantPulse Edge / node-red-contrib-opcua ノード) が /data1/pp-data/node-userdir/ に自動コピーされます (2回目以降の起動からユーザーフローを保存)。 image upgrade 後もユーザーフローは維持されます。フロータブは空になっています — 例題フローはイメージに入れず、ドキュメントから読み込みます(インポート用例題フロー)。

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

このドキュメントを読む前に

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


1. 接続​

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


2. 画面構成​

フロー編集画面 — 番号は読む順序

番号領域説明
①左側 パレット使用可能なノード一覧。カテゴリ別にまとめられており、PlantPulse Edge カテゴリにゲートウェイ専用ノード(pp-tag-value-read · pp-tag-value-write · pp-opc-* · pp-tag-list)が含まれています
②フロータブフローを複数枚に分けて管理します。+ で新しいタブを作成します
③中央 ワークスペースノードを配置し、ワイヤーで接続します
④右側 サイドバーinfo は選択したノードのヘルプ、debug は debug ノードの出力ログを表示します
⑤右上 Deployクリックすることでゲートウェイに変更が反映されます

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

動作方法
ノード追加パレットからワークスペースへドラッグ
ノード設定ノードをダブルクリック → 右側パネルで編集 → Done
ノード接続(ワイヤー)ノードの出力点(右側) をドラッグして他のノードの入力点(左側) に置く
ワイヤー切断ワイヤーをクリックして選択後 Delete
多重選択Shift ドラッグで領域選択、または Ctrl/Cmd + 클릭 で追加選択
コピー / 貼り付けCtrl/Cmd + C / Ctrl/Cmd + V
検索Ctrl/Cmd + F — パレットでノード名を検索
フローインポートメニュー → インポート → JSONを貼り付け (インポート用例題フロー をそのままインポート可能)
変更は Deploy されるまで反映されません

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


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

ノード間を流れるデータは常に msg という JavaScript オブジェクトです。最も頻繁に使用されるフィールドは以下の通りです。

フィールド意味
msg.payloadボディ(主要データ)。数値/文字列/オブジェクト/バッファすべて可能
msg.topicトピック(分類ラベル)。MQTT/Switch/Join などで頻繁に使用
msg.timestampタイムスタンプ (必要に応じて直接設定)
msg._msgidNode-RED が自動的に付与する固有ID — 追跡用

ほとんどのノードは msg.payload のみを使用して動作します。


5. エッジノード — 概要 (ゲートウェイ専用)​

パレット左側の PlantPulse Edge カテゴリにある、ゲートウェイが独自に登録したノード(全7種)のうち、入出力の中心となる2つを先に確認します。ほぼすべての IIoT フローの 入力/出力 となります。

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

ノードの探し方 — パレット検索窓に read tag または PlantPulse と入力 → 該当ノードのみをフィルタリング。淡いパステルブルーの色をしています。

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

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

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


6. 最初のフロー — Hello World​

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

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

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


7. 次のステップ​

左側メニューの順に確認してください。

  1. 基本ノード使用法 — IIoT でよく使う14個のノード機能
  2. エッジノード (タグ読み取り/書き込み) — ゲートウェイ専用ノード (上記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. インポート用例題フロー — 貼り付けてすぐに動作する完成済みフロー 6種
  8. フロー問題解決 — よく陥る罠と解決策

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/>