Skip to main content

Edge Box RPi 200とNode RedおよびModbus RS485

はじめに

Modbus RTU(Remote Terminal Unit)は、センサーやコントローラーなどのデバイスをシリアル通信回線で接続するための産業オートメーションで人気のプロトコルです。シンプルさと信頼性で知られ、産業プロセスの監視と制御に広く使用されています。Edge Box RPi 200は、Raspberry Piベースの産業用IoTゲートウェイで、Modbus RTUデバイスを最新のネットワークと統合することを可能にします。フローベースの開発ツールであるNode-REDを使用して、このwikiはEdge Box RPi 200でModbus RTU通信を設定するためのガイドをユーザーに提供します。エネルギー管理、環境監視、プロセス制御などのアプリケーションを紹介しています。このリソースは、さまざまな産業シナリオでModbus RTUを活用するための迅速で実用的なアプローチを提供します。

はじめに

このプロジェクトを開始する前に、ここで説明されているようにハードウェアとソフトウェアを事前に準備する必要があります。

ハードウェアの準備

Edge Box RPi 200

ソフトウェアの準備

Edge Boxは、Raspberry Pi OSがプリインストールされた状態でお手元に届きます。このデバイスを初めて起動する場合は、Getting Started Wikiをお読みください。Node-REDのGetting Startedガイドも用意しています。このwikiを進める前に、このガイドを確認することをお勧めします。このチュートリアルでは、YABE室温シミュレーターを実行するホストPCと、Edge Box上で動作するNode-REDを接続します。

RS485

Edge Box RPi 200には、1つのRS-485ポートがあります。詳細はこちらで確認できます。Node-REDで作業する前に、デバイスを適切に配線する必要があります。

Modbusノードのインストール

Modbusノードをインストールするには、Edge BoxでNode-REDを起動します。通常、Webブラウザを開いてhttp://<your-edgebox-ip>:1880にアクセスできます。以下の手順に従ってください:

ステップ1. 右上角にある三本線アイコンで示される設定ボタンをクリックし、Manage paletteを選択します。

ステップ2. パレットタブで、Installタブに移動します。

ステップ3. ノード検索バーを使用して、目的のModbusノードを見つけます。

ステップ4. ノードの横にあるInstallボタンをクリックします。

ステップ5. プロンプトが表示されたら、ドロップダウン警告ウィンドウからInstallボタンをクリックしてインストールを確認します。

ステップ6. インストールプロセスが完了するまで待ちます。完了すると、InstallボタンがInstalledに変わります。

Modbusアドレスの特定

正しいModbusアドレスを特定することは重要なステップです。入力、出力、保持レジスタを含むModbusアドレスの詳細情報については、PLC、デバイス、またはセンサーメーカーのデータシートを参照することをお勧めします。

ここでは、SHT20 RS485温度センサーを使用します。RS485ハードウェアインターface(雷保護設計付き)を使用し、プロトコル層は標準産業用Modbus-Rtuプロトコルと互換性があります。データシートを調べると、温度と湿度データを提供する入力レジスタを見つけることができます。

デバイスからのデータ取得

必要なノード:Modbus Getter、2つのFunctionノード、2つのDebugノード、Modbus Response

これらのノードをドラッグ&ドロップし、以下の方法/順序で接続します。

Modbus Getterノードの設定

  1. Modbus Getterノードをダブルクリックします。
  2. Unit ID1に設定します。
  3. FCFC4: Read Input Registersに設定します。
  4. Address1に設定します(シミュレーションデバイスのデータシートで提供されている通り)。
  5. Quantity2に設定します(2つのブロックを読み取るため)。

Modbusサーバーの設定

  1. Serverセクションで、鉛筆ボタンをクリックして新しいサーバー設定を作成します。
  2. サーバーに名前を付けます。
  3. TypeSerial Expertに設定します。
  4. Serial Port/dev/ttyACM0に設定します。
  5. Serial TypeRTUに設定します。
  6. その他の設定はそのままにしておきます。

Functionブロックの設定

関連する温度と湿度の値を抽出するためにfunctionブロックを使用します。getterノードの出力は整数部と浮動小数点部の両方を含む10進数なので、基本的な数学を使用して調整する必要があります。

温度用

var tempMsg = { payload: msg.payload[0] / 100.0 };
return tempMsg;

湿度について

var humidMsg = { payload: msg.payload[1] / 100.0 };
return humidMsg;

デプロイ

Deploy ボタンを押してください。デバッグウィンドウで湿度と温度の値が表示されます。

技術サポート & 製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。

Loading Comments...