Register #
Register data format:  Size (char):  Least significant data in first register:
Mapped BACnet object:  BACnet property   Priority
Indicate host timeout when  seconds have elapsed with no host update. Indicate timeout as object in fault.
Apply default value of at power-up and/or upon host timeout.
Apply default using command priority (if commandable):
First register number to add:  Add this many:
Register #
Quick Help

Register number indicates which register is being configured on this page. This register number is the Modbus holding register number you would request from a Modbus master if the Babel Buster is functioning as a slave. Click "next" and "prev" to scroll through the register list. To advance directly to a specific register, enter the desired number in the "Register #" box, then click Update.

Select the data format you wish to assign to this register from the data format list. This selection will determine whether one, two, or more consecutive Modbus registers will be consumed by the data value that starts at this register number. Modbus protocol specifies that a "register" is always strictly 16 bits. Therefore a 64-bit number will occupy 4 consecutive "registers" that is treated as one data value by a typical application. If data format is character, then you also need to specify a size in number of characters. Characters will be packed 2 ASCII characters per Modbus register. Therefore, as an example, a 20-character string will occupy 10 Modbus "registers".

Modbus protocol does not dictate whether the low order or high order data comes first when data greater than 16 bits is represented by multiple registers. To make sure the Babel Buster is compatible with other devices, you have the option of reversing the order with the check box after the comment "Least significant data should be in first register". If left unchecked, then the most significant data will be in the first register (also referred to as "big endian").

Select the BACnet object type and instance number that should be associated with this Modbus register. This BACnet object will be one of the local objects found at the Local Objects tab. Property will default to Present Value. You also have the option of reading the object's reliability code or status flags (as bit packed integer). You can write to Present Value, but can only read reliability and status. Attempting to write to reliability or status will result in a Modbus exception. In addition, reading or writing a BACnet object that does not exist will result in a Modbus exception even though this register does exist in the Modbus address space.

If the mapped register will be writing to a commandable object, the Priority given here (1..16) will be used. Since Modbus has no special value that means "relinquish", the means of relinquishing this command priority is to create a second Modbus register referencing this same object, but selecting property "Relinquish". Writing one to the relinquish register will result in the given command priority being relinquished. Reading this register will return one if the given priority is relinquished, or zero if active.

Mapped BACnet object is a label such as "AI 2" following the format "XX N" where XX is a 2-character object type abbreviation, and N is the instance number. The following abbreviations are recognized:

LabelObject Type
AIAnalog Input
AOAnalog Output
AVAnalog Value
BIBinary Input
BOBinary Output
BVBinary Value
MIMultistate Input
MOMultistate Output
MVMultistate Value

Errors are readily indicated when this gateway is acting as master or client. But if a remote master or client stops providing data, the only way to detect that is absence of updates. Therefore, you have the option of setting a host timeout on the object mapped to the server here. Upon timeout, you have the option of indicating the timeout as a non-zero reliability code and fault in the BACnet object status, or simply setting a default value that may mean something as an off-normal value to Modbus.