En quoi pouvons-nous vous aider aujourd'hui ?

How to decode modbus Scattered Holding Register Read Function

Issue
Troubleshooting modbus TCP communication including scattered read function codes. The scattered holding register read function enables the user to avoid reading a large block of contiguous registers when only few registers are needed and avoid multiple use of functions 3 and 4 in order to read non-contiguous registers

Products
Schneider products that support modbus function code 100 (0x64).

Cause
Function code 100 is not a standard function code so any tools to assist troubleshooting communications will not be able to decode the Modbus request. A scattered read allows reading n non-contiguous registers, where n is between 2 and 100 registers.

Resolution
The data fields inside a modbus TCP client request packet that include a function code 100 are outlined below. The example will request register 29879 (0x74B7) and register 29893 (0x74C5) from modbus device with address 47 (0x2F).
Field nameExample
Modbus Device Address0x2F
Function code0x64
Data length in bytes0x06
Subfunction code0x04
Transmission number(*)0xXX
First register to read (MSB)0x74
First register to read (LSB)0xB7
Second register to read (MSB)0x74
Second register to read (LSB)0xC5
nth register to read (MSB)N/A
nth register to read (LSB)N/A
CRC (MSB)0xXX
CRC (LSB)0xXX


* note Modbus client will create transmission number, modbus server returns the same number in the reply

Scattered read reply example from modbus TCP device with address 47:

Field nameExample
Modbus Device Address0x2F
Function code0x64
Data length in bytes0xXX
Subfunction code0x04
Transmission number(*)0xXX
Value of first register to read (MSB)0xXX
value of first register to read (LSB)0xXX
Value of second register to read (MSB)0xXX
Value of second register to read (LSB)0xXX
nth register to read (MSB)0xXX
nth register to read (LSB)0xXX
CRC (MSB)0xXX
CRC (LSB)0xXX

Schneider Electric Belgium

En savoir plus
Gamme :
Produit :
En savoir plus
Gamme :
Produit :

Besoin d'aide ?

Besoin d'aide ?

Sélectionnez le bon produit

Sélectionnez le bon produit

Trouvez rapidement et facilement les produits et accessoires adaptés à vos applications.

Obtenir un devis

Obtenir un devis

Effectuez une demande de renseignements en ligne et un expert vous contactera.

Où acheter ?

Où acheter ?

Trouvez facilement le distributeur Schneider Electric local le plus proche.

Centre d'aide

Centre d'aide

Trouvez des ressources de support pour tous vos besoins, en un seul endroit.

  • Documentation produits
  • Téléchargement de logiciels
  • Sélecteur de produits
  • Substitution et remplacement de produits
  • Centre d'aide et de contact
  • Trouver nos sites
  • Obtenir un devis
  • Où acheter
  • Communauté Schneider Electric
  • Carrières
  • Qui sommes-nous ?
  • Signaler une mauvaise conduite
  • Accessibilité
  • Salle de presse
  • Partenaires
  • EcoStruxure
  • Nos emplois
  • Blog
  • Soyez informé des nouveautés en premier ?
  • Protection des données
  • Mention sur les cookies
  • Conditions d utilisation
  • Conditions générales de vente et d'achat
  • Change your cookie settings