Skip to main content

reTerminal DM RS485ポートとNode-RED

note

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

reTerminal DM RS485ポートとNode-RED

RS485、Modbus、Modbus RTU、Modbus Node-REDノードについての簡単な情報

pir


RS485

RS485は、デバイス間でデータを送信するために使用されるシリアル通信プロトコルです。RS485はデータのシリアル通信伝送の標準であり、産業用途で一般的に使用されています。差動信号を使用しており、通信には2つのデータライン(AとB)と1つのグランドライン(GND)が必要です。この差動信号により、ノイズ耐性が向上し、最大4,000フィートの長いケーブル長が可能になります。RS485の最大データレートは通常RS232よりも高く、最大10 Mbpsに達します。RS485はマルチポイント通信向けに設計されています。つまり、RS485は同じバス上の複数のデバイス間でデータを送信することができます。要約すると、RS485は産業制御システムなどで複数のデバイス間の長距離通信に一般的に使用されています。

Modbus RTU

Modbus RTUは、監視制御およびデータ収集(SCADA)システム内でデバイス間のデータ交換に使用される人気のある産業通信プロトコルです。これはRS485またはRS232バス標準の上で動作するシリアル通信プロトコルです。Modbus RTUはマスター-スレーブアーキテクチャを使用しており、マスターデバイスが1つ以上のスレーブデバイスと通信を開始します。マスターはスレーブデバイスにリクエストメッセージを送信し、スレーブデバイスは要求されたデータを含むメッセージで応答します。Modbus RTUメッセージはヘッダー、データ、およびエラーチェックフィールドで構成されています。ヘッダーには、スレーブアドレスや機能コードなどのメッセージに関する情報が含まれています。データフィールドには送信される実際のデータが含まれています。エラーチェックフィールドはメッセージの整合性を確保するために使用されます。Modbus RTUはバイナリ、整数、浮動小数点、文字列などのさまざまなデータ型をサポートしています。また、保持レジスタの読み取り、単一コイルの書き込み、入力レジスタの読み取りなど、さまざまな種類のデータアクセスを可能にする機能コードの範囲もサポートしています。Modbus RTUの利点の1つは、そのシンプルさと実装の容易さです。さまざまなデバイスやソフトウェアで広くサポートされており、産業オートメーションおよび制御システムで人気の選択肢となっています。また、リアルタイムのデータ交換と低遅延通信を必要とするアプリケーションに適しています。

Modbus RTUは、以下のようなさまざまな産業用途で使用されています:

  • 建物のオートメーションおよび制御システム:Modbus RTUは、照明、HVAC、その他の建物システムの監視と制御に一般的に使用されています。

  • エネルギー管理システム:Modbus RTUは、商業および産業建物のエネルギー消費を監視および制御するために使用できます。

  • 製造およびプロセス制御:Modbus RTUは、組立ライン、コンベアシステム、包装機などの製造プロセスの監視および制御に頻繁に使用されています。

  • 水および廃水処理:Modbus RTUは、水および廃水処理施設でポンプ、バルブ、その他の設備の運転を監視および制御するために使用されています。

  • 石油およびガス生産:Modbus RTUは、石油およびガス生産施設でポンプ、コンプレッサー、その他の設備を監視および制御するために使用されています。

  • 再生可能エネルギーシステム:Modbus RTUは、太陽光パネル、風力タービン、その他の再生可能エネルギーシステムを監視および制御するために使用できます。

  • 交通システム:Modbus RTUは、交通信号、照明、その他の設備を監視および制御するために使用されています。

一般的に、産業環境でリアルタイムのデータ交換と低遅延通信を必要とするアプリケーションは、Modbus RTUの使用による恩恵を受けることができます。

Modbusノード

Node-REDには組み込みのModbusノードがあり、ユーザーがModbusデバイスをNode-REDのワークフローに簡単に統合できるようになっています。このModbusノードは、Modbus TCPおよびModbus RTUプロトコルの両方をサポートしており、Modbusデバイスからデータを読み書きするために使用できます。

Node-REDでModbusノードを使用するには、単にキャンバスにドラッグ&ドロップし、デバイスアドレス、機能コード、データ型などの適切なModbus設定で構成します。構成が完了すると、Modbusノードをワークフロー内の他のノードに接続してデータを処理および表示することができます。

Node-REDには、その他のノードやプラグインも多数あり、その機能を拡張し、他のシステムやデバイスと統合することができます。例えば、MQTT、HTTPなどの通信プロトコル用のノードや、データ処理、可視化、保存用のノードがあります。

全体として、Node-REDはIoTおよび産業オートメーションアプリケーションを構築するための強力で柔軟なプラットフォームを提供しており、組み込みのModbusノードにより、これらのワークフローにModbusデバイスを簡単に統合することができます。

Modbus Nodeを使用したreTerminal DMの開始

Modbus Node-REDページでさらに詳しい情報を見つけることができます。

Senscraft Edge OSを使用している場合は、Modbusノードのインストール手順をスキップして、reTerminal DMでModbusノードを使用する方法に進んでください。

Modbusノードのインストール

このセクションでは、node-red-contrib-modbusノードをインストールします。ノードのインストール方法を確認してください。

オプション1: コマンドライン

まず、SSHを使用してreTerminal DMにアクセスする方法を復習してください。手順はこちらを確認してください。

SSHでreTerminal DMにアクセスしたら、以下の手順を進めてください。

STEP 1: Node-REDフォルダに移動してください。


cd .node-red/

STEP 2: Modbusノードをインストールしてください。


npm install node-red-contrib-modbus

STEP 3: ノードがインストールされたら、以下のコマンドでNode-REDサービスを再起動してください。


node-red-restart

オプション2: Node-REDエディタ

STEP 1: 右上隅にある「三本線」アイコンの設定ボタンをクリックし、パレットの管理を選択してください。

STEP 2: パレットタブでインストールタブをクリックしてください。

STEP 3: ノード検索バーでノードを検索し、インストールボタンをクリックしてインストールしてください。

STEP 4: ドロップダウン警告ウィンドウでインストールボタンをクリックしてインストールを確認してください。

STEP 5: インストールが完了するまで待機し、インストールボタンがインストール済みに変わるのを確認してください。

STEP 6: サイドバーにModbusノードが表示されるはずです。

reTerminal DMでModbusノードを使用する方法

前提条件

ハードウェア

  • 1 x USB to RS485/RS232アダプタ
  • 6 x ケーブル
  • 1 x reTerminal DM
  • 1 x ホストコンピュータ

ソフトウェア

  • ホストマシンにインストールされたModbusMechanicのようなMODBUS通信GUIツール

準備

STEP 1: 以下のようにハードウェアを接続してください。

STEP 2: 以下の手順に従う場合はModbusMechanicをインストールしてください。

STEP 2-1: ModbusMechanicリリースのリリースファイルをダウンロードしてください。

note

このWikiを準備した時点でのModbusMechanicの最新リリースバージョンはv2.7です。

STEP 2-2: リリースファイルを解凍し、以下のコマンドを使用してLinuxでJava実行可能ファイルModbusMechanic.jarを実行してください。

java -jar ModbusMechanic.jar

STEP 2-3: 以下のようにModbusMechanicシリアル設定ポートを構成してください。

STEP 3: Slave Simulatorをセットアップしてください。

STEP 3-1: ModbusMechanicツールからSlave Simulatorを開いてください。

STEP 3-2: ポップアップでRTUを選択してください。

STEP 3-4-2: レジスタ番号1を入力してください。

STEP 3-4-3: データ型U int 16を選択してください。

STEP 3-4-4: 120を入力してください。

STEP 3-4-5: ワードスワップをチェックしてください。

STEP 3-4-6: 追加をクリックして確認してください。

STEP 3-5: 以下の画像のような設定が表示されるはずです。

STEP 3-6: STEP 4-4を繰り返して、以下のようにさらに2つのレジスタを追加してください。レジスタ2には値12レジスタ3には値1を設定します。

フローの編集

STEP 1: Modbus Readフローエディタパネルにドラッグしてください。

STEP 2: Modbusサーバーを構成してください。

STEP 2-1: Modbus Readをダブルクリックしてノードエディタパネルを開いてください。

STEP 2-2: サーバー構成オプションの鉛筆アイコンをクリックしてください。

鉛筆アイコンをクリックすると、新しい modbus-client 設定ノードを追加するための設定パネルが表示されます。

STEP 2-3: 以下の手順に従って、画像に示されているようにModbusポートを設定してください。

STEP 2-3-1: ドロップダウンリストからタイプをSerial Expertに設定します。

STEP 2-3-2: シリアルポートを/dev/ttyCH343USB1に選択します。

STEP 2-3-3: 画像に示されているようにシリアルポートオプションを設定します。

STEP 2-3-4: 画像に示されているように追加のModbusサーバーポートオプションを設定します。

STEP 2-3-5: AddまたはUpdateをクリックして変更を適用します。

STEP 3: 以下の画像に示されているようにModbus-Readノードを設定し、Doneをクリックします。

note

以下の手順は例として示されています。設定はご自身の状況に応じて変更することができます。

STEP 4: debug nodeModbus Response nodeを見つけてドラッグし、以下の画像のようにノードを接続します。

最終結果

おめでとうございます!これで、Node-REDを使用してreTerminal DMでModbusを利用する方法を体験し、学ぶことができました。最終結果は以下の画像のようになるはずです。

以下のJSONコードをコピーしてノードをインポートすることができます。

[
{
"id": "0692ee641d6fffbc",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d16d0d962267f762",
"type": "modbus-client",
"name": "",
"clienttype": "serial",
"bufferCommands": true,
"stateLogEnabled": false,
"queueLogEnabled": false,
"failureLogEnabled": true,
"tcpHost": "127.0.0.1",
"tcpPort": "502",
"tcpType": "DEFAULT",
"serialPort": "/dev/ttyACM1",
"serialType": "RTU",
"serialBaudrate": "9600",
"serialDatabits": "8",
"serialStopbits": "1",
"serialParity": "none",
"serialConnectionDelay": "100",
"serialAsciiResponseStartDelimiter": "0x3A",
"unit_id": "1",
"commandDelay": "1",
"clientTimeout": "1000",
"reconnectOnTimeout": true,
"reconnectTimeout": "2000",
"parallelUnitIdsAllowed": true,
"showWarnings": true,
"showLogs": true
},
{
"id": "aef2687aed916539",
"type": "modbus-read",
"z": "0692ee641d6fffbc",
"name": "",
"topic": "1",
"showStatusActivities": true,
"logIOActivities": false,
"showErrors": true,
"showWarnings": true,
"unitid": "1",
"dataType": "InputRegister",
"adr": "1",
"quantity": "3",
"rate": "500",
"rateUnit": "ms",
"delayOnStart": false,
"startDelayTime": "",
"server": "d16d0d962267f762",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"x": 250,
"y": 300,
"wires": [
[
"c17ac94368fd6df1"
],
[
"409e4a77818587d8"
]
]
},
{
"id": "c17ac94368fd6df1",
"type": "debug",
"z": "0692ee641d6fffbc",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 560,
"y": 240,
"wires": []
},
{
"id": "409e4a77818587d8",
"type": "modbus-response",
"z": "0692ee641d6fffbc",
"name": "",
"registerShowMax": 20,
"x": 530,
"y": 380,
"wires": []
}
]

reTerminal DMでNode-REDを使用したさらなるノードの探索

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

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

Loading Comments...