Wednesday, 18 July 2012

Modbus Register types


Most commonly used Modbus register types includes:

1. Coil (Discrete Output)
2. Discrete Input
3. Input Register
4. Holding Register

The address range for Modbus was originally defined from 0 to 9999 but now the currently specified range has been updated from 0 to 65,535. This address range is valid for each type of Modbus register. The function code specified in the Modbus query message packet determines what register type is being referenced. Reference range for all the four register types is mentioned below:
  • 0x Coil 00001-09999
  • 1x Discrete Input 10001-19999
  • 3x Input Register 30001-39999
  • 4x Holding Register 40001-49999
Sometimes it becomes necessary to access more than 10,000 of a register type. Additional register types and reference ranges include the following:
  • 0x Coil 000001-065535
  • 1x Discrete Input 100001-165535
  • 3x Input Register 300001-365535
  • 4x Holding Register 400001-465535
It is mandatory to use six digit register references while using the extended register referencing to easily differentiate between holding register 40001 and coil 40001. "If coil 40001 is the target, it must appear as 040001". [1]

Limitations

In spite of its unfussiness and simplicity, Modbus protocol embraces few restrictions as well. The most considerable limitation is its incapability to sustain and uncover description of large binary objects. Moreover Modbus being a Master/slave protocol provides no means for a field device to “Report by exception”. Also Modbus addressing restrictions up to 247 devices per data link confines the range of field devices requiring connection to a master station.

No comments:

Post a Comment