WAGO Docker Node-RED

WAGO Docker Node-RED
アプリケーションノート
Ver. 1.0.0

初版 2022/12/27（日本語版）

Public1Docker/Node-red

本アプリケーションノートについて
このアプリケーションノートでは WAGO Ethernet フィールドバスコントローラにおいてDockerコンテナのNode-REDを使用し、Docker環境の構築、Node-REDの使い方の解説を行っております。使用にあたってはこのアプリケーションノートだけではなくお使いのWAGO フィールドバスコントローラ取扱説明書、Github、Docker ユーザーズマニュアルも必ずお読みください。

使用者の資格基準
本書で説明する製品は、PLC プログラミングの資格を有する技術者、電気機器の専門技術者、または適用規格を熟知している電気機器の専門技術者の指導を受けた者が必ず操作してください。不適切な作業による損害、または本書の内容を順守しないために発生したワゴ製品および他社製品の損害について、ワゴジャパン株式会社は一切の責任を負いかねますのでご了承ください。

使用機材
このアプリケーションノートを作成にあたっては以下の機材を使用しました。
機材
Compact Controller100
DC24V スイッチング電源ユニット

型番751-9301
787-2850

製造者
WAGO
WAGO

備考

対象WAGO製品
本アプリケーションノートの内容は以下のコントローラで使用することが可能です。
詳しくはこちらのカタログでご確認いただけます。
PFC200 G2(750-821x)シリーズ
Edge Controller(752-8303/8000-0002)
TP600（タッチパネル）シリーズ
Compact Controller100(FW23以上)

Version 1.0.0
Public2Docker/Node-red

1

コントローラのセキュリティ設定
WAGO コントローラはインターネットアクセス機能が搭載されています。セキュリティを保持するために「コントローラ用サイバーセキュリティPFC100/PFC200」も併せてお読みください。
https://www.wago.com/global/d/15739

1.1

固定IPアドレスを一時的に設定します
この手順では、X1インターフェイスのIPアドレスを一時的に固定アドレス「192.168.1.17」に設定します。スイッチを有効にすると、固定アドレスがインターフェイスX2にも使用されます。スイッチが無効になっている場合、インターフェイスX2の元のアドレス設定は変更されません。再起動は行われません。

この設定を行うには、以下の手順に従います:
1. モード切替スイッチを「STOP」に設定
2. リセットボタン「RST」を8秒以上押し続けます。
設定の実行は、「SYS」LEDがオレンジ色に点滅することによって信号で伝えられます。
このアドレスにアクセスするには、接続されているPCのIPアドレスが同じ範囲内にある必要があります(例:192.168.1.1)。
本手順で設定した、固定IPアドレスは電源を落とすとリセットされます。
IPアドレスの設定方法については、1.2.1を参照ください。

Public3Docker/Node-red

1.2

PFCデバイス設定
アドレスフィールドに一時的なIPアドレスを入力して、PFCの内部Webページにアクセスします。（下記画像はMicrosoft Edgeを使用した場合の例）

PFCのデフォルトのHTTPS証明書は自己発行されます。これは、この警告が表示される可能性があることを意味します(セキュリティ設定によって異なります)。

「詳細設定」ボタンをクリックし、「192.168.1.17に進む(安全ではありません)」リンクをクリックします。

Version 1.0.0
Public4Docker/Node-red

WBM(Web Based Management)へのログイン画面が表示されます。
UsernameとPasswordを入力します。
(デフォルト:username：「admin」 / password：「wago」)「Firmware Revision」が「04.01.10(23)」以上であることを確認します。
751-9301をご使用の場合で、( )カッコ内の数字が23以下の場合は、こちらのドキュメントを参考にファームウェアアップデートをしてください。

Public5Docker/Node-red

1.2.1

IPアドレス設定
本アプリケーションノートでは、X1ポートをローカル接続用の固定IP、X2ポートをインターネット接続用のDHCP設定にし、X1/X2ポート分けて使用します。
はじめに、WBMでConfiguration > Networking > Ethernet Configurationを選択し、X1/X2ポートそれぞれ別のIPアドレス設定ができるよう下図のように変更します。

次に、WBMでConfiguration > Networking > TCP/IP Configurationを選択
し、Network Details Bridge 1(br0)の設定を「Static IP(固定IP)」、「Static IP
Address」「Subnet Mask」を設定し、「Submit」ボタンをクリックします。
Network Details Bridge 2(br1)の設定は、「DHCP」を選択し、「Submit」ボタンをクリックします。

Version 1.0.0
Public6Docker/Node-red

1.2.2

時刻設定

WBMで「Clock」をクリックします。
「Time zone」で現在のタイムゾーンを選択し、「Change」ボタンをクリックします。
その後、Local Time and DateにLocal Date および Local Timeを設定し、「Submit」をクリックします。

Public7Docker/Node-red

1.2.3

NTP設定
WBMで、Port and Services > NTP Client の順にクリックします。
NTPサーバの設定には、IPアドレスを入力するか、URLを入力します。
IPアドレスで、NTPサーバを入力する例：

216.239.35.0 : Google Public NTP (time1.google.com)
216.239.35.4 : Google Public NTP (time2.google.com)
216.239.35.8 : Google Public NTP (time3.google.com)
216.239.35.12 :Google Public NTP (time4.google.com)

URLで、NTPサーバを入力する例：

ntp.nict.jp : NICT NTP
time.google.com : Google Public NTP

Version 1.0.0
Public8Docker/Node-red

2Dockerのインストール

2.1

Dockerのインストール
WBMの Configuration > Docker を選択します。

「Service Installed」および「Service Active」に☑を入れ、[Submit]を押し、インストールが終わるまでしばらく待ちます。
インストールが終わったら、右上の [Reboot] をクリックしてコントローラを再起動します

Public9Docker/Node-red

3Linuxコンソールへログイン
本章では、PuTTYと呼ばれるフリーウェアのSSHおよびTelnetクライアントを使用して解説をします。https://www.putty.org/

PuTTYは、「Package files」のファイルを使用してインストールするか、「Alternativebinary files」のファイルを使用してインストールせずに使用することができます。

Public10Docker/Node-red
PuTTYを起動すると、次のウィンドウが表示されます:「Host Name」にIPアドレスを入力し、「Connection Type」が「SSH」、「Port」が22であることを確認します。
「Close windows on exit」で「Never」を選択し、「Open」ボタンをクリックします。

Public11
Docker/Node-red
rootユーザでコントローラにログインします、(デフォルトパスワード:"wago")

最初の接続時に、パスワードが変更されるまで、デフォルトのパスワードの変更要求がされます。セキュリティ上デフォルトパスワードから変更することを強く推奨します。

次のコマンドを使用して、dockerソフトウェアが実行されていることを確認します。
" docker -v "現在インストールされているバージョンを表示します。

Public12Docker/Node-red
pingコマンド“ ping www.google.com “でインターネット接続を確認してください。
http://www.google.com/

Pingコマンドは自動では停止しませんので、ネットワーク接続が確認できたら、キーボードの「ctrl+c」を押して、Pingを停止します。
ping:bad address ‘www.google.com’と表示される場合にはネットワークやDNSの設定を確認してください。

Public13
Docker/Node-red

4

Node-REDのユースケース

4.1

Node-REDコンテナの違い
Node-REDの推奨コンテナは以下の通りとなります。
-

オフィシャル版；:https://hub.docker.com/r/nodered/node-red-

WAGO版：:https://hub.docker.com/r/wagoautomation/node-red-iot/-

CC100用：https://flows.nodered.org/node/node-red-contrib-wago-cc100主な違いは、WAGO版のコンテナには、デフォルトでいくつかのノードがインストールされた状態でインストールされます。
- node-red-contrib-bacnet- node-red-contrib-homekit- node-red-contrib-iiot-opcua- node-red-contrib-modbustcp- node-red-contrib-telegrambot- node-red-dashboard- node-red-node-base64- node-red-node-msgpack- node-red-node-random- node-red-node-suncalc
WAGOコンテナには、Node-REDでオプションとして使用可能なノードの一部をインストールするために必要なpythonや開発ツールがありません。
CC100用のコンテナには、上記のコンテナはインストールされていません。
内臓IOを使用するための権限をNode-REDコンテナに付与した状態でインストールされるため、内臓IOをNode-REDで制御する場合には、CC100用を使用することを推奨いたします。

Public14Docker/Node-red

4.2

Node-REDのインストール
コンテナをインストールして実行するには、特定のコマンドを使用する必要があります。このコマンドの重要なオプションは次のとおりです:"docker run""-d, --detach"

新しいコンテナでコマンドを実行
コンテナをバックグラウンドで実行"--name string""--restart string"

コンテナに名前を割り当てます
コンテナが終了したときに適用される再起動ポリシー(デフォルトは"no")コンテナのポートをホストに公開します
ボリューム(image)を結合します
コンテナ名とそのバージョン"-p,--publish list""-v,--volume list""image:version"

その他のコマンドやより詳細の内容については、Docker公式ドキュメントを参照ください。

Public15
Docker/Node-red
ユースケースでは、次のコマンドを使用してCC100専用コンテナをインストールします。

docker run -d --name wago-node-red \-d --privileged=true --user=root \-p 1880:1880 \-v node_red_user_data:/data \nodered/node-red

コンテナをダウンロード中。

コンテナが正常にダウンロードされ、Node-REDが起動します。
Node−REDコンテナは、起動に数分を要します。

Public16
Docker/Node-red

4.3

Node-REDの使用
Node-REDにアクセスするには、ウェブブラウザを開き、次のURLを使用します:
http://<IP Address>:1880 (例:http://192.168.1.17:1880)

右上のボタン(Node-REDメニュー)をクリックすると、Node-REDの現在のバージョンを確認できます:

Public17Docker/Node-red

4.4

新しいノードのインストール
新しいノードをインストールする方法を説明するために、node-red-contribwago-cc100をインストールします。これはCC100の内臓IOを使用するためのノードです。

Node-REDメニューを開き、"Manage palette(パレットの管理)"を選択します。
「ノードを追加」をクリックし、更新ボタンをクリックします。

Public18
Docker/Node-red「search modules」バーで、必要なモジュールを検索します。
例：wago

ここでは「node-red-contrib-cc100」のノードを追加します。
ノードのダウンロードおよびインストール中に、「View log(ログを確認)」ボタンをクリックすると、「Event log」を確認できます。

Public19Docker/Node-red

ログの最後が「rc=0」の場合、ノードは正常にインストールされています。

Public20
Docker/Node-red

4.4.1

node-red-contrib-cc100の動作確認
こちらのJSONテキストをコピーし、Node-REDメニューより読み込みをします。

サンプルノードが読み込みされるのでデプロイを押します。

True/falseボタンを押すと、デジタル入出力の簡単な制御が可能です。

Public22
Docker/Node-red

4.5

Node-REDの更新
コンテナを更新するには、次のコマンドを使用します:"docker pull nodered/node-red:latest"
ここで、"nodered/node-red:latest"は更新するコンテナのソースです。
更新が完了したら、コンテナ再起動する必要があります。restartコマンドは存在しないため、最初にコンテナを停止する必要があります。
コンテナ停止「docker stop node-red」
コンテナ起動:「docker start node-red」"node-red"はコンテナ付けられた名前です。

Public22
Docker/Node-red

5

付録
ワゴジャパンでは、オープンソースに関わるDockerやNode-REDなどに関連するテクニカルサポート及び動作保証は行っておりません。
動作についてのご質問、修正依頼等ございましたらこちらのフォーラムまたはGithubのIssuesにて英語にて投稿くださいますようお願いいたします。
WAGO OPEN SOURCE FORUM：https://www.wago.community/
WAGO Github :https://github.com/WAGO/docker-ipk※DockerコンテナをSDカード上で動作させる手順などこちらで紹介しております。

Public22
Docker/Node-red

ワゴ ジャパン 株式会社

WAGO GmbH & Co. KG〒136-0071
東京都江東区亀戸1-5-7 錦糸町プライムタワー
Tel: (03) 5627-2050 ㈹Fax: (03) 5627-2055㈹Web: https://www.wago.co.jp

Postfach 2880 ・ D-32385 Minden
Hansastraße 27 ・ D-32423 Minden
Phone: 05 71/8 87 - 0
Fax: 05 71/8 87 - 1 69
E-Mail: info@wago.com
Internet: https://www.wago.com

Public