REST API で PLCnext と通信する Node-REDノード

PLCnext の GDS(Global Data Space、リアルタイムシステム内のグローバルデータスペース)のデータを、外部デバイス、または PLCnext の Linux へのデータインターフェースとして、REST API によるデータアクセス方法をこれまでいくつかご紹介してきました。

ここでは、Node-RED の REST API ノードを介してPLCnextコントローラと通信できるようにする PLCnext コネクタノードについて説明します。この Node-RED ノードを使用することによって、プログラム言語で http クエリを作成するよりも比較的簡単に、REST インターフェイスを提供します。

目次

Node-RED : PLCnext コネクタノード

PLCnext コネクタノードは、PLCnext コントローラとの接続を認証および承認するだけでなく、接続を維持し、接続が失われたときに再接続を試みるノードです。他のすべてのノードは、このノードをエディタで設定できるパラメータとして実装します。1 つのコネクタ ノードを他の複数のノードで使用できますが、1 つのノードに実装できるコネクタ ノードは 1 つだけです。

PLCnext コネクタノードのインストール方法

Node-RED に PLCnext コネクタノードをインストールするには、次の手順で実施します。

1.Node-RED の右上の三本線 [三] をクリックして、 「パレットの管理をクリック」

図1. パレットの管理

2. パレットマネージャーを開き、「ノードを追加」タブをクリックして、検索欄に「plc-next」を入力して@kjgalr/node-red-plc-next-connector を検索して、「ノードを追加」ボタンをクリックしてインストール

図2. ノードを追加

7つの PLCnext コネクタ

PLCnext コネクタは、次の7つのノードがあります。詳細は、「こちら」に仕様を説明しています。

1.Read Variables

変数とその値のリストを返します。 コントローラーから 1 つまたは複数の変数を読み取ります。

入力で定義された変数は、エディターで設定された変数と組み合わせて使用できます。

2.Browse Items

現在使用されているパブリック変数とその型をコントローラーから返します。

3.Report Sessions

現在アクティブなすべてのセッションの一覧を返します。

4.Report Groups

現在アクティブなすべてのグループの一覧を返します。

5.Create Groups

変数をグループ化して、groupID のみを使用して変数の読み取りまたは書き込みができるようにします。
グループ内のすべての変数を要求するために必要なのは groupID だけなので、要求が簡略化されます。

6.Read Group Variables

groupID を使用して特定のグループに割り当てられたすべての変数を読み取ります。

7.Write Variables

変数とその新しい値のリストを返します。選択した変数の値を変更します。変数は、空白が無視されるコンマ区切りリストです。

使用例(Read Variables)

PLCnext のデータを読み込んで、デバッグノードで読み込んだデータを出力する例について説明します。

1.PLCnext Engineer で 入力する変数の変数リストの「HMI」欄にチェックを入れてプロジェクトを実行します

図3. PLCnext の読みだす変数にチェック

2. Node-RED で Read Variables で PLCnext のデータを読み出し

図4. PLC-READ-VARIABLES ノード

3. 「Read Variables」ノードを Node-RED のフローに置き、読み出す変数をチェックします

「Injection」ノード、「Read Variables」ノード、「Debug」ノード を Node-RED のフローに置いて接続し、「Read Variables」ノードのパラメータで、PLCnext の IPアドレスの設定、読み出す変数にチェックをして「完了」ボタンをチェックします

図5. PLCnext から読み出す変数にチェック

4.Node-RED で データを定周期で読み出してデバックに出力します

Node-RED のフローを「デプロイ」してフローを実行します

図6. Node-RED フローの実行

まとめ

Node-RED で REST API を介してPLCnextコントローラと通信できるようにする PLCnext コネクタノードと、その使用例について説明しました。PLCnext に PLCnext StoreからコンテナアプリとしてNode-REDをインストールした場合と、ネットワークに接続したPC上で動作する Node-RED で同じように実行することができます。

Node-RED のノードを接続するだけで、比較的簡単に PLCnext の変数データを読み出すことができるので活用してみてください。

  • URLをコピーしました!
目次