- Home
- LoRaWAN Controllersの使用
- Milesightゲートウェイとコントローラ間のModbus RTU to/over TCPを実現する方法
Milesightゲートウェイとコントローラ間のModbus RTU to/over TCPを実現する方法
機能説明
ModbusRTUブリッジLoRaWANは、MilesightコントローラとModbus TCP/TCPクライアント間のModbus-LoRaWANデータ伝送を、Milesight LoRaWANゲートウェイ経由で設定する機能です。基本的な手順は以下の通りです:
- TCPクライアントまたはModbus TCPクライアントからModbus TCP/RTU読み書きコマンドを送信します。
- Milesightゲートウェイはコマンドを受信し、Modbus RTUコマンドに変換し、LoRaWAN経由でMilesightコントローラに転送します。
- Milesightコントローラーはコマンドを受信、応答し、結果を返します。
- Milesightゲートウェイは結果を受信し、TCPクライアントに直接送信するか、Modbus TCPの結果に変換してModbus TCPクライアントに送信します。
必要条件
- Milesightコントローラー UC501/UC11-N1-DC/UC1152
- Milesight UG6x/UG8xLoRaWAN ゲートウェイ(UG8xのファームウェアバージョンは80.0.0.34以上である必要があります。)
- ツールボックスソフトウェア
- NetAssit (TCPクライアント・シミュレート・ツール) または Modbus Doctor (Modbus TCPクライアント・シミュレート・ツール)
- Modbusスレーブまたは他のModbus RTUデバイス(メーター、センサーなど)
設定
1. Milesightコントローラの設定
Milesightコントローラの電源を入れる前に、Modbus RTUデバイスをコントローラのRS485ポートに接続してください。
MilesightコントローラをUSBケーブルでPCに接続し、Toolboxを開きます。USBポートを選択し、ログインパスワードを入力します。デフォルトのパスワードは123456です。
General > RS485ページに移動し、Modbus RS485ブリッジLoRaWANを 有効にし、ブリッジ用に指定されたポートを設定します。この例では、Modbus RS485 ブリッジ LoRaWAN ポートとして 200 を使用します。
LoRaWANページに移動し、動作モードをClass Cとして選択します。 コントローラの重要な属性を見つけることもでき、Milesightゲートウェイに登録するために必要です。
2. Milesightゲートウェイの設定
LoRaWANノードとMilesightゲートウェイの接続方法の記事に従って、Milesightコントローラをゲートウェイに接続します。Network Server->Deviceページでデバイスを登録する際、必要に応じてModbus RTU Data transmission modeを選択し、必要な情報を入力します。TCPクライアントをゲートウェイに接続し、Modbus RTUコマンドを送信する場合は、Modbus RTU over TCPを選択し、Modbus TCPクライアントをゲートウェイに接続し、Modbus TCPコマンドを送信する場合は、Modbus RTU to TCPを選択します。
注: Modbus RS485 ブリッジ LoRaWAN ポートとしてFportをタイプしてください(この例では Fport は 200)。TCP ポートはTCP クライアントまたは Modbus TCP マスター接続を許可するために使用されます。
3. TCP クライアント/Modbus TCP 設定
3.1 TCP クライアント・コンフィグレーション
PC で NetAssist を開き、ゲートウェイの IP アドレスを TCP サーバの IP アドレスとして入力します。Connect をクリックし、クライアントをゲートウェイに接続します。
3.2 Modbus TCP コンフィギュレーション
PC で Modbus Doctor を開き、ゲートウェイの IP アドレスを Modbus TCP サーバーの IP アドレスとして入力します。CLOSE をクリックし、CONNECTION を選択します。
4. テスト
Modbus over/to TCP は同じトポロジーを共有しますが、TCP クライアント側のプロトコルが異なります。Modbus over TCP のテストはオリジナルの Modbus と TCP/IP を使用します。Modbus to TCP をテストしている間、Modbus TCP/IP (Modbus-TCP) を導入します。Modbus TCP/IP はイーサネット上で動作する TCP インターフェースを持つ Modbus RTU プロトコルです。
4.1 コントローラと RS485 デバイス間の伝送
コントローラ RS485 ポートを PC に接続し、Modbus Slave でシリアル・データを送信します。
Toolbox で Modbus チャンネルを設定し、Modbus Slave ツールからデータをポーリングします。データを読むことができれば、通信はオンです。
4.2 ゲートウェイからのクエリの送信
次の Modbus の例を使用して、ゲートウェイとコントローラ間の通信をテストします。
クエリ・フレーム
Slave ID | Function | Address | Length | Parity |
0x01 | 0x03 | 0x00 0x00 | 0x00 0x02 | 0xC4 0x0B |
応答フレーム
Slave ID | Function | Length | Data | Parity |
0x01 | 0x03 | 0x04 | 0x00 0x01 0x00 0x02 | 0x2A 0x32 |
Network Server > Packetsページで、コントローラのDevice EUIとPort200 を入力し、type をhex に選択し、Send を クリックして Modbus コマンドをコントローラに送信します。
A: ゲートウェイは Modbus ダウンリンクを正常に送信
B: コントローラからのリプライ
C: コントローラからの ACK パッケージ
返信パケットの詳細は以下の通りです:
4.3 TCP クライアントからのクエリの送信
Modbus RTU フォーマット・コマンド 010300000002c40b を送信し、データの最初の 2 桁を読み取ると、 ゲートウェイ(TCP サーバ)は Modbus レスポンス 010304000100022A32 を返します。
ゲートウェイのWeb GUIでは、TCPクライアントからのメッセージの送信とコントローラからのリプライの受信の詳細を確認することができます。
感嘆符をクリックするとパケットの詳細が表示され、16 進数のペイロードは TCP クライアントが受信したものと一致し、正しく 「1,2 」です。
4.4 Modbus TCP への読み込み
SPY MODE を有効にし、CONNECTION をクリックします:
ステータスが表示されます:
Status: Connecting to 192.168.23.226:9099... Status: Connected
Modbus Slaveはデフォルトで10個のアドレスを持っているので、Lengthも10に設定し、READINGをクリックします。右側のトラフィック通信ブロックにクエリ・フレームが濃い青で、レスポンス・フレームが薄い青で表示されます。
Modbus TCP 通信プロトコルのデータテーブルです。
クエリ・フレーム | レスポンス・フレーム | ||
バイト | 内容 | バイト | 内容 |
0-4 | Start | 0-4 | Start |
5 | Whole Length | 5 | Whole Length |
6 | Slave ID | 6 | Slave ID |
7 | Function Code | 7 | Function Code |
8, 9 | Start Address | 8 | Data Length |
9, 10 | Data | ||
10, 11 | Address Length | 11, 12 | Data |
… | Data |
表によると、Modbus RTU から読み込まれたデータは 1,2 であり、正しいことがわかります。ゲートウェイのウェブ GUI で、TCP クライアントからのメッセージ送信とコントローラからのリプライの詳細を確認することができます。
4.5 Modbus TCP からの書き込み
Modbus Doctor は Modbus RTU への書き込みをサポートしています。各レジスタの値に乱数を入力し、WRITING をクリックします。上の表に従って通信トラフィックを読むことができます。
Modbus Slave では、値が変化しているのがわかります。
関連記事
LoRaWAN Controllersの使用
Modbus RS485ブリッジLoRaWAN機能の使い方この記事では、Modbus RS485 ブリッジ LoRaWAN を使用する方法を説明するために、アクティブ・パススルーを取り上げます。
MilesightコントローラのRS232の使い方このガイドでは、Milesight LoRaWANコントローラのRS232の使い方を説明します。
MilesightコントローラーのDOをトリガーする方法この記事ではDOの状態をトリガする方法を説明します
UC51xを使用して電磁弁を制御する方法UC51xシリーズLoRaWANワイヤレスソレノイドバルブコントローラは、バルブのDCラッチングソレノイドをリモート制御するために使用されるデバイスです。
ソリューション / IoT サポート
- ToolBox から RS485 データをフェッチできませんでしたMilesightのLoRaWANコントローラ(UC50xシリーズ、UC1152、UC11-N1)をデプロイする前に、ToolBoxのFetchをクリックすることで、RS485端末のデバイスデータを正しく取得できるかどうかを確認することができます。
- UC50x よくある質問UC501に4-20mAのセンサーを2つ接続しています。 私たちは北部の冬の3ヶ月間、ほとんど太陽が当たらないところに住んでいます。山が多く、直射日光はあまり当たりませんが、夏は24時間365日明るいです。 主要な取付けは山の上ではなく谷にある。 1時間ごとにデータを送信するような場合、ソーラーではバッテリーを充電できないと思います。 外部により大きなバッテリーを接続し、DC12Vバッテリーパックから直接供給することは可能でしょうか?
- マルチインターフェースコントローラ UC501 & UC502センサー接続用機能豊富なセンサーハブ
- MilesightコントローラのRS232の使い方このガイドでは、Milesight LoRaWANコントローラのRS232の使い方を説明します。
- Milesight UCシリーズコントローラーのDI/DOの配線方法は?この記事では、DI/DOの配線方法について説明します。
- MilesightコントローラーのDOをトリガーする方法この記事ではDOの状態をトリガする方法を説明します
- Milesightゲートウェイとコントローラ間のModbus RTU to/over TCPを実現する方法ModbusRTUブリッジLoRaWANは、MilesightコントローラとModbus TCP/TCPクライアント間のModbus-LoRaWANデータ伝送を、Milesight LoRaWANゲートウェイ経由で設定する機能です。