Modbus RTUは複数のレジスタを書き込む方法?ホワイト·ティーチング

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

Modbus RTUは複数のレジスタを書き込む方法?ホワイト·ティーチング

Modbus RTU複数レジスタの書き込み

Modbus RTUは複数のレジスタを書き込む方法?ホワイト·ティーチング插图

1.プロトコルの概要

Modbus RTUは、産業オートメーションにおけるデバイス間通信に使用されるシリアル通信プロトコルです。主な特徴はシンプルで安定性です。このモードでは、データはバイナリ形式で送信されます。

2.複数のレジスタを書く。

1つのデバイス(モータドライバやセンサなど)の複数のパラメータを変更する必要がある場合は、“複数のレジスタを書き込む”機能を使用できます。

3.リクエスト形式

標準的なModbus RTUが複数のレジスタに書き込む要求は以下の部分を含む。

  • デバイスアドレス1バイト。通信するターゲット·デバイスを
  • 関数コードの特徴1バイト、0x10。
  • 開始レジスタアドレス2バイト。最初に书き込むレジスタのアドレスを指定します。
  • レジスタの数2バイト。书き込むレジスタの
  • バイトカウント1バイト。これ以降に书き込むデータの
  • データはは、书き込む必要のあるレジスタ数に応じて変化し、1レジスタあたり2バイトである。
  • CRCチェックメッセージの整合性を検証するための2バイト。

4.例を挙げる

アドレスを指定したいとします。0x01レジスタアドレスからのデバイス書き込み0x3000スタート、連続した4つのレジスタ。書き込みたいデータは:0x1234,0x5678,0x9ABC,0xDEF0。

構築されたメッセージは:

01       デバイスアドレス
10       関数コード
30 0 0    開始レジスタアドレス
0 0 4。    - レジスタ数-
08       (バイト数、4レジスタ *2バイト/レジスタ)
12 3 4 5 6 7 8 9 A BC DE F 0(データ)
?? ??    (CRC検証、実際の値はcrc16-modbusを使用して計算する必要があります

CRCチェック値は、メッセージ全体(CRCを除く部分)に基づいて計算されることに留意されたい。Modbus RTUのCRCアルゴリズムを使用してこの値を取得し、メッセージの末尾に追加する必要があります。

5.送信して待つ。

メッセージが完了したら、適切なシリアル通信インタフェース(RS-485など)を介して送信し、スレーブデバイスからの応答を待ちます。レスポンスのフォーマットはリクエストと似ていますが、バイト数とデータ部分は含まれません。

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

《 “Modbus RTUは複数のレジスタを書き込む方法?ホワイト·ティーチング” 》 有 2 条コメント

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注