User guide
BB2-7040 User Guide – Rev. 1.2 Page 18
When the remote data is received, data may be manipulated before being written to the local object. First, binary data is
parsed from the received packet based on the data parse mask. Second, the raw data is masked by ANDing with the
binary mask if non-zero. Next, the value will be converted to floating point, and the value will be multiplied by the scale
factor, then the offset is added. The final result is written to the local object number given (with conversion back to
binary or integer as applicable). The name is optional and used only for display purposes.
The periodic poll time determines how often the remote object will be read. This number, if nonzero, will override the
default poll time given in the Devices page for the remote device being read.
The default value will be stored into the local object after the timeout period elapses with no data received. Setting the
count to zero will disable the default, and the object will retain the most recent value obtained.
Delete will remove the rule number shown in the "Map #" box. Insert will insert a new map before the map number
shown, and is used for placing maps between existing maps. It is not necessary to use Insert to add maps to the bottom of
the list or to define any map presently having zero for a source object or "none" for remote type.
Selecting "none" for remote device effectively deletes the map even though it will still appear in the list until deleted.
Unused maps at the end of the list will always show none as the type. If you wish to prevent these from being displayed,
reduce the number of maps enabled.
The number of maps enabled simply limits the scope of map review so that you do not have to review a lot of unused
maps. If the displayed maps are used up and you need more, increase the enabled number.
DATA PARSE MASK
As of v3.01, the BB2-7040 is parepared to parse raw binary (integer) data from received ZigBee packets. Most ZigBee
devices have very limited resources (keeping power consumption low), and therefore will not support floating point. The
BB2-7040 is prepared to accept binary/integer data and scale and convert as necessary to produce analog floating point
data. In the event devices are found which do use IEEE754 floating point, support for that format will be added in a later
revision (contact tech support).
Getting acquainted with a sensor for the first time will require some experimenting. You must start by configuring and
commissioning the ZigBee sensor, causing it to transmit periodic sensor data samples. When data packets start to show
up, between inspection of the packets and review of sensor documentation, you can begin to construct a data parsing
mask that will result in getting the data of interest into BACnet objects. When a ZigBee transmission is received, its data
packet will be parsed into as many objects as match the parsing mask. There may be multiple parsing masks for any
given remote device.
An example of a packet received from a remote XBee sensor appears on the first line below:
92 00 13 A2 00 40 48 5A 2A 39 A3 01 01 00 10 0E 00 00 00 0F 02 AB 00 89
92 -- -- -- -- -- -- -- -- -- -- -- 01 -- -- 0E -- -- -- -- -- -- XX XX
The easiest way to construct a mask for this type of packet is copy it to a text editor, then begin typing mask characters
on the line below it as illustrated above. Once a complete mask is assembled, remove the embedded blanks, and copy the
mask that appears below into the mask window on this page (above).
92----------------------01----0E------------XXXX
The data mask fields are always 2-character pairs (with the exception of “[nn]”), and may be any of the following:
"--" is a don't care byte. It must be two hyphens for 2 hex digits, and must be in pairs as only even bytes can be skipped.
"NN" is an exact match value where N is a hex digit; for example if the byte must be 0x92, we put 92 in the mask.
"XX" is a hex value field to be parsed; field may be XX to XXXX to XXXXXXXX for 8, 16, 32-bit values respectively
"HH" is a hex digit that is ASCII encoded in the data stream. If ASCII is used, HHHH would be equivalent to XX.
"[nn]" means skip nn (decimal) bytes; [04] is the same as 8 hyphens.