Results 1 to 4 of 4
  1. #1
    Join Date
    Jun 2010
    New Orleans
    Post Likes

    Modbus terms? Modbus to BACnet trasnlator

    Need some help. I've never dealt with modbus. I'm using a RTA translator to go from modbus to bacnet mstp. I've got the translator talking now I just need to map my points. I'm a little confused as to the terms for modbus.

    I have a modbus slave profile for my modbus device that list the points and theres a few general groupings.

    -Control Coils
    -Discrete Inputs
    -Holding Registers
    -Input Registers

    Can some one explain?


  2. #2
    Join Date
    Apr 2011
    Post Likes

    About those Modbus groups

    These groups are the data areas that are associated with the different "Function Codes" that Modbus uses.

    Wiki actually has a decent breakdown of them:

    There are also different "data address" value ranges for the different groups.

    Not the most straight forward thing, but apparently it was originally related to the physical addresses on the PLC hardware that Modicon used when developing the protocol.

  3. #3
    Join Date
    Apr 2009
    Mobile, AL.
    Post Likes
    The control coils refer to the discrete output points
    the discrete inputs are just that
    holding registers are 8 bit bytes that are located in the memory
    the input registers are the 8 bit bytes that relate to the input of the device.
    Now the format is:
    MW Memory word
    IW input word
    OW output word
    Usually the mod bus registers are designated as a memory word 8 bit byte or multiple register.
    The codes embedded in the command go from the modbus master to the slave and instructs the slave to read back or write to a specific memory register or a string of registers as specified in the commands.

    Wiki =

    The various reading, writing and other operations are categorised as follows.[4] The most primitive reads and writes are shown in bold. A number of sources [5] use alternative terminology, for example Force Single Coil where the standard uses Write Single Coil.

    Function Name Function Code
    Data Access Bit access Physical Discrete Inputs Read Discrete Inputs 2
    Internal Bits or Physical Coils Read Coils 1
    Write Single Coil 5
    Write Multiple Coils 15
    16-bit access Physical Input Registers Read Input Register 4
    Internal Registers or Physical Output Registers Read Holding Registers 3
    Write Single Register 6
    Write Multiple Registers 16
    Read/Write Multiple Registers 23
    Mask Write Register 22
    Read FIFO Queue 24
    File Record Access Read File Record 20
    Write File Record 21
    Diagnostics Read Exception Status 7
    Diagnostic 8
    Get Com Event Counter 11
    Get Com Event Log 12
    Report Slave ID 17
    Read Device Identification 43
    Other Encapsulated Interface Transport 43

  4. #4
    Join Date
    Feb 2005
    Edmonton, AB Canada
    Post Likes
    Good day nasaguyjoe,

    One issue that may need special attention is how you deal with floating point numbers (i.e. Analog I/O values), as Modbus does not have a defined standard to represent or deal with floating point values. In most cases Modbus vendors use adjacent Inputs/Registers... but there are 4 different ways to represent the floating point (IEEE 32 bit) value... big endian, little endian, nibble swaps, etc.

    The second issue is that some Modbus field devices use absolute addresses where some use offset addresses...

    The third issue is to be aware of is that each Modbus data object can also reflect the same physical data. For example the binary data objects can be used as bit fields of the register objects...



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Related Forums

Plumbing Talks | Contractor MagazineThe place where Electrical professionals meet.