C# Modbus 通信の入門から習熟まで (15) - Modbus ASCII (0x03 関数コードと C# コード実装)

ここに画像の説明を挿入

1. 03 (0x03) 読み取り保持レジスタ

このファンクションコードは、リモートアドレスから 1 ~ 125 の保持レジスタの値を読み出すために使用します。各保持レジスタは 2 バイトを占有し、読み出す保持レジスタの数は読み出し時にマスタ局によって指定されます。

2. 送信メッセージフォーマット

ここに画像の説明を挿入

より詳細なフォーマットは、
スタートキャラクタ + スレーブ局アドレス + ファンクションコード + 上位スタートアドレス + 下位スタートアドレス + 上位レジスタ数 + 下位レジスタ数 + LRC + エンドキャラクタの合計 17 バイトです。 LRC の計算には開始文字、終了文字は含まれません。

3. 返信メッセージのフォーマット

ここに画像の説明を挿入

より詳細なフォーマットは次のとおりです。
スタートキャラクタ + スレーブ局アドレス + ファンクションコード + レジスタが占有するバイト数 + レジスタ値の下位バイト + ... + レジスタ値の上位バイト + LRC + ターミネータレジスタの数は N、合計 4N+11 バイト

4. ケース

スレーブアドレス:1
開始アドレス:0
レジスタ数:3
スレーブアドレスが1、開始アドレスが0の3つのレジスタの値を読みたいとします。

おすすめ

転載: blog.csdn.net/qq_34059233/article/details/131857102