Milesightルーター上のModbus TCPクライアントからModbus RTUデバイスデータを要求できない

説明

MODBUS TCP/IPはイーサネット物理層上で動作し、Modbus RTUはシリアルレベルプロトコルです。Milesight URルーターはModbus RTUからModbus TCPへの変換機能を備えており、Modbus RTUデバイスからModbusデータを読み取り、サーバーへModbus TCPデータとして公開します(逆方向も同様)。詳細な設定方法については、記事MilesightルーターでのModbus RTUからModbus TCPへの設定方法をご参照ください。本記事では、Milesightルーター上でModbus TCPクライアントからModbus RTUデバイスデータを要求できなかった場合のトラブルシューティング手順を説明します。

 

解決策

ステップ1: まずMilesightルーターのシリアルDTU透過モードをテストしてください。成功した場合、スレーブとルーター間の接続は正常です。ステップ4へ進んでください。失敗した場合は、ステップ2と3に従って接続を確認してください。

 

 

ステップ2: 使用中のケーブルが正常に動作していることを確認してください。配線時は配線順序に注意し、各ピンの定義についてはマニュアルを参照してください。

注意:

  1. RS232/RS485接続において、TX/AとRX/Bが逆接続されていないか確認してください。
  2. RS232の接地はCOMではなくGNDであることに注意してください。

ステップ3: Maintenance->Tool->Ping に移動し、Modbus TCPクライアントにpingを送信します。フェイルの場合は、ルーターとサーバー間のネットワーク接続を確認してください。また、ファイアウォールによってポートがブロックされていないことを確認してください。

ステップ4: Milesightルーターが正しいModbusコマンドでスレーブデバイスを読み取れるか確認します。

シリアルポートモードをModbusマスターに設定し、Industrial -> Modbus Master -> ChannelでModbus RTUチャネルを設定後、Readをクリックしてスレーブデータを取得できます。

ステップ5: 機能コード03での読み取りが成功しているにもかかわらず、機能コード06での書き込みがタイムアウトエラーでフェイルする場合は、シリアルポート設定で応答タイムアウトを50msに設定してください。

関連記事

セルラートラブルシューティング

ソリューション / IoT サポート


    製品選び・導入ガイド

    最近の記事

    ページ上部へ戻る