Skip to main content

Edge Box RPi 200 と Node-RED および Modbus RS485

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

はじめに

Modbus RTU(リモートターミナルユニット)は、センサーやコントローラーなどのデバイスをシリアル通信ラインで接続するための産業オートメーションにおいて人気のあるプロトコルです。そのシンプルさと信頼性で知られ、産業プロセスの監視と制御に広く使用されています。Raspberry Pi をベースにした産業用 IoT ゲートウェイである Edge Box RPi 200 は、Modbus RTU デバイスを最新のネットワークに統合することを可能にします。この Wiki では、Node-RED を使用して Edge Box RPi 200 で Modbus RTU 通信を設定する方法を案内します。エネルギー管理、環境モニタリング、プロセス制御などのアプリケーションを強調しています。このリソースは、さまざまな産業シナリオで Modbus RTU を活用するための迅速で実用的なアプローチを提供します。

始める前に

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

ハードウェアの準備

Edge Box RPi 200

ソフトウェアの準備

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

RS485

Edge Box RPi 200 には RS-485 ポートが 1 つあります。詳細は こちら をご覧ください。Node-RED を操作する前に、デバイスを正しく配線する必要があります。

Modbusノードのインストール

Modbusノードをインストールするには、Edge BoxでNode-REDを起動します。通常、ウェブブラウザを開き、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ハードウェアインターフェース(雷保護設計付き)を使用し、プロトコル層は標準的な産業用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...