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

ここに画像の説明を挿入

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

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

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

ここに画像の説明を挿入

MBAP ヘッダーの形式は次のとおりです。
ここに画像の説明を挿入

より詳細なフォーマットは次のとおりです:
MBAP ヘッダー + ファンクション コード + 上位開始アドレス + 下位開始アドレス + 上位レジスター数 + 下位レジスター数、合計 12 バイト。

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

ここに画像の説明を挿入

より詳細な形式は次のとおりです。
MBAP メッセージ ヘッダー + 機能コード + バイト数 + 最初のレジスタの上位バイト + 最初のレジスタの下位バイト + ... + N 番目のレジスタの値の上位バイト + レジスタの下位バイトN 番目のレジスタ バイト、合計 2*N+9 バイト、N は読み取る必要がある保持レジスタの数です

4. ケース

スレーブアドレス: 1
スタートアドレス: 0

おすすめ

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