Search code examples
protocolsconvertersmodbus-tcpbacnet

Modbus TCP/IP to BACnet


Firstly I am new to this and I have tried googling for answer but figured it is best ask the experts.

There is a building management system (BMS) that is using BACnet protocol but my equipment logger only has Modbus TCP/IP. I understand that the market has a converter for this but I will like to know the concept.

  1. Modbus TCP/IP has registry values (e.g 40135) which is dedicated to a specific parameter reading. How does the converter read this registry value in the BACnet BMS? Do you have to specific this registry value in the converter software for the output at BACnet?

  2. In general, what should be input at the BACnet end to read the equipment parameter such as power received?

  3. In this situation, is the BACnet BMS consider the MASTER and the equipment as SLAVE?

I hope someone can take some time to clear my doubts on this. Will really appreciate it.

Thank you.


Solution

  • A couple of assumptions on my end regarding the setup:

    • Your equipment is acting as a "Modbus/TCP Slave" (i.e. it will respond to polls from a Modbus/TCP Master)
    • The converter then acts as a Modbus/TCP Master
    • And then the converter acts as a BACnet slave/server (or in BACnet terminology, a "B" device)
    • And your BMS system polls the converter as a BACnet master/client/"A" device

    That is the normal setup. Then the converter device has the responsiblity to poll your equipment for the value from the Modbus register, and this is normally only a 16 bit integer, or in some cases, vendors pack a float into two 16 bit integers using a variety of byte-order and floating point formats. It is a mess. Nevertheless, the converter, if is a good one, will allow you to unpack the value into a float, and provision it with some BACnet specific metadata ("Properties") such as Units, BACnet Object Type, Object Instance, Reliability flags etc. etc. and make this new object discoverable by any BMS system.

    More sophisticated converters can add other BACnet services, such as Change-of-Value (COV), Intrinsic Alarming, Trend Logging if desired. This is of course, dependent on the particular vendor.