RS485 デバイスの構成は難しい場合があります。Modbus と RS-485 プロトコル間の互換性は、しばしば問題になります。これら 2 つのプロトコルは通信スタックの異なる層で動作するため、長いデバッグ作業になる可能性があります。
RS485 プロトコルは、スタックの物理層で動作する電気的標準です。ケーブル長、許容電圧レベル、単一のバスを共有できるデバイス数などを定義します。
Modbus プロトコルはアプリケーション層で動作し、メッセージがどのように構造化され、アドレス指定され、受信側によって解釈されるかに重点を置いています。効果的に解決するには、どの層が問題を引き起こしているのかを把握する必要があります。
ModbusとRS485の違い
次の表は、互換性に影響を与えるこれら2つの重要なプロトコルの最も重要なパラメータを比較しています。
| RS485 | Modbus | |
| レイヤー | 物理層(OSIレイヤー1) | アプリケーション層(OSIレイヤー7) |
| 規定元 | EIA/TIA-485 | 1979年にModiconが策定;現在はオープン |
| 種類 | 電気規格 | 通信プロトコル |
| トポロジー | マルチドロップ・バス。リピータなしで最大32ノードをサポート | マスター/スレーブ(マスター1台、スレーブ最大247台) |
| 機能 | 配線、信号レベル、その他の電気的特性を定義 | メッセージ、データフレーミング、ファンクションコードを定義 |
| データ形式 | 差動電圧信号 | RTU(バイナリ)またはASCIIフレーム |
| エラー検出 | 規定なし | CRC(RTU)またはLRC(ASCII) |
| 最大速度 | 短距離で最大10 Mbps | 通常9,600~115,200 bps(RS485上のRTU/ASCII) |
| 最大距離 | 100 kbpsで1,200 m | 物理層に依存 |
| バリアント | RS422(ポイントツーポイント)RS232(短距離) | Modbus RTU、Modbus ASCII、Modbus TCP/IP |
Modbusとは何ですか?
Modbus は、1979年にModiconによって開発されたアプリケーション層の通信プロトコルです。これはオープンで無料のプロトコルであり、マスターデバイスと1台以上のスレーブ間で送信される際にメッセージがどのように構成されるかを定義します。Modbus は、RS485、RS232、RS422、または Ethernet(TCP/IP)を含むさまざまなトランスポート方式上で動作します。
主な特徴
• アーキテクチャ: 1つのマスターが最大247台のアドレス指定可能なスレーブ(1~247)と通信し、ID 0はブロードキャスト用に予約されています。
• 通信モデル: マスターがスレーブへ要求を送信してすべての通信を開始し、スレーブは応答することしかできません。
• アドレッシング: すべての要求には対象のスレーブIDが含まれ、すべての応答でそのIDがエコーされます。
• データ型: 1ビットのコイルおよびディスクリート入力、16ビットの入力レジスタおよびホールディングレジスタ。
• エラー検出: ASCIIモードではLRC、RTUモードではCRC-16。
データモデル
• コイル(1ビット、読み取り/書き込み)は離散出力ステータスを提供します。
• 離散入力(1ビット、読み取り専用)は離散入力ステータス用です。
• 入力レジスタ(16ビット、読み取り専用)は測定された入力値を格納します。
• ホールディングレジスタ(16ビット、読み取り/書き込み)は設定値と出力値を保持します。
バリアント: RTU、ASCII、TCP/IP
• Modbus RTU は、その速度とコンパクトなサイズにより、RS485 での使用における標準です。バイナリ符号化と CRC-16 エラーチェックを備えています。
• Modbus TCP/IP は Ethernet 上で使用され、TCP が通信の整合性を処理するため、CRC/LRC は必要ありません。
• Modbus ASCII は 16 進文字による符号化と LRC エラーチェックを利用します。このバリアントは通常 RS232 で使用され、人間が読めます。
RS485とは何ですか?
RS485 (EIA-485) は物理層で動作する電気的規格であり、信号が配線を介してどのように伝送されるかを定義します。この規格は、ケーブルインピーダンス、電圧レベル、最大ケーブル長、バストポロジなどの側面を規定します。RS485 は上位層プロトコル、メッセージ形式、またはデータ内容を認識しません。
主な特徴
• 信号方式: A線とB線の間の差動、つまり電圧差は、電気的ノイズに対して非常に高い耐性があります。
• トポロジ: リピータなしで、1対の線で最大32ユニットロードのマルチドロップバスをサポートします。
• 最大距離: 100 kbpsで約1,200 mで、データ伝送速度が高いほど到達距離は短くなります。
• 最大データレート: 15 m未満の短距離で最大10 Mbpsをサポートします。
• デュプレックス: デフォルトは1対のツイストペアによる半二重です。2対を使用して全二重を実装できます。
関連規格: RS232 および RS422
• RS232 はシングルエンドのポイントツーポイント・プロトコルで、最大到達距離は約 15 m です。信号は RS485 と互換性がありません。直接アダプタは、通常 RS485-to-USB または RS-485-to-Ethernet の実装に使用されます。
• RS422 は RS485 と同様に差動信号方式を提供しますが、ポイントツーポイント通信のために 1 ラインあたり 1 ドライバに制限され、マルチドロップはサポートされません。
Modbusデータを監視および分析するツール
通信の問題をトラブルシューティングするには、RS485 と Modbus の違いを理解し、バス上で送信されている内容を可視化する必要があります。この可視性を得る最も効果的な方法は、生のシリアルポート通信を解析することです。この解析により、レジスタ値を確認し、アドレス指定の誤りを発見することで、問題を効率的にデバッグできます。シリアルポートモニター(SPM)は、この情報を提供するソフトウェアソリューションです。
Modbusテストソフトウェアは、RS232/RS422/RS485インターフェースを介したModbus通信に関する情報を提供するプロトコルアナライザです。このソフトウェアにより、ユーザーはModbus通信のテストおよびデバッグ時に問題を簡単に検出して解決できます。その最も価値ある機能の一つは、システムのシリアルポートを通過するデータを表示してログに記録できることです。
Modbusテスターソフトウェア
Modbus Analyzer は、システムのRS485ポートを介して送信されるModbus RTUおよびASCIIシリアルデータを、表示、ログ記録、デバッグできるようにします。
このプロ向けModbusテストソフトウェアにより、ユーザーは次のことができます:
• すでに別のプログラムによって使用中のシリアルポートに接続して監視します。ポートで受信されたすべてのデータをリアルタイムで表示でき、即時の監視とデバッグが可能です。
• 複数のシリアルポートを同時に監視します。1つのセッションで複数のシリアルポートの動作を同期して解析できます。双方向に流れるデータは、閲覧しやすいように、先入れ先出し方式で単一のログに表示されます。
• テーブル、ターミナル、ライン、ダンプ表示など、さまざまな形式でデータを表示します。複数の表示を同時に見ることができ、フィルターを使用して監視を微調整できます。
• 特定のコマンドにさらされたときの動作を監視するために、シリアルデバイスに転送されるデータのエミュレーションを実行します。
よくある質問
いいえ、それらは異なる補完的なプロトコルです。Modbusはメッセージングプロトコルであり、RS485は物理的な電気インターフェースを定義します。RS485はModbusがメッセージを送信する経路です。
RS485規格はリピータなしでバス上に最大32ユニット負荷をサポートする一方、Modbusは最大247台のスレーブを許容します。通常、物理的な上限は32ノードが標準であり、サポートされるデバイス数を増やすためにリピータが導入されます。
Modbus RTU は、CRC エラーチェックを備え、データをバイナリで送信するコンパクトで効率的なプロトコルです。RS485 での使用に推奨されるプロトコルです。Modbus ASCII は、人が読める 16 進文字としてデータを送信し、LRC エラーチェックを採用します。効率の低いソリューションですが、RS232 リンクでのデバッグを簡素化します。
はい。ModbusはRS232、RS422、またはイーサネット(Modbus TCP/IP)接続でも動作します。RS485はマルチドロップ機能とノイズ耐性により、産業環境におけるModbusの推奨物理層です。