Honeywell C-Bus communication protocol

Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Installation of KMFB02CB driver (obsolete) 
Literature
Changes and modifications
Document revisions

Supported device types and versions


This protocol supports communication with Honeywell devices based on the C-Bus communication bus.

It supports Honeywell devices, series EXCEL (XL20, XL50, 500,....). Communication has also been tested against LION Controller CLLIONLC01.

Communication line configuration


Following physical communication interfaces can be used:

Communication line category: Honeywell C-Bus.
Line parameters (C-Bus tab).
Device ID – is C-Bus Id which is assigned to the KMFB02 card. It must be an unused number in the range of 1 to 30, reserved for KMFB02 in the C-Bus network.
Baud rate – is a baud rate of C-Bus. Supported baud rates: 4800, 9600, and 19200 Bd.

Communication line category:: Serial (communication via serial port), SerialOverUDP Device Redundant (communication via a serial server in UDP mode)


Communication line protocol parameters



Configuration line dialog box - tab Protocol parameters.
They influence some of the optional protocol parameters. The following line parameters can be set:


Table 1

KeywordFull nameDescriptionUnitDefault value

DID

Device ID

This parameter is not used for the Honeywell C-Bus line. For other line types, it has a similar meaning as the "Device ID" parameter on the Honeywell C-Bus line: it is the C-Bus Id assigned to the D2000 KOM process. It must be an unused number between 1 and 30 reserved for the D2000 KOM process on the C-Bus network.

1-3030

BR

Baud Rate

This parameter is not used for the Honeywell C-Bus line. For other line types, it has a similar meaning as the "Baud Rate" parameter on the Honeywell C-Bus line: it is the C-Bus baud rate, supported baud rates are 4800, 9600, and 19200 Bd.
Note:
for Line ModeDirect and a Serial line, the parameter must match the communication speed configured on the line.

baud9600

LM

Line Mode

Mode of communication with C-Bus:

  • ISA card - uses ISA card KMFB02 (obsolete)
  • KPX02 - use of KPX02 communication computer
  • Direct - direct communication via RS-485 serial interface
ISA card
KPX02
Direct
Direct

KL

KOM Latency

The parameter allows "tuning" of time parameters. A positive value decreases the wait before sending a message, a negative value increases the wait. Reducing the wait can compensate for the slowness of the communication computer.

0.1 ms0

DI

Debug Input

Debugging messages for input data. The parameter is a bitmask, meaning of individual bits is as follows:

  • 1.bit - debugging of received data - priority task handling RS-485 interface (for Line ModeDirect)
  • 2.bit - debugging of received packets with correct CRC - priority task handling RS-485 interface (for Line ModeDirect)
  • 3.bit - debugging of received packets with correct CRC - line service task
  • 4.bit - debugging of received values - line service task
  • 5.bit - debugging of analyzed packets - line service task
-0

DO

Debug Output

Debugging messages for output data. The parameter is a bitmask, meaning of individual bits is as follows:

  • 1.bit - debugging of sent data - priority task serving RS-485 interface (for Line ModeDirect)
  • 2.bit - debugging of special packets - priority task serving RS-485 interface (for Line ModeDirect)
  • 3.bit - debugging of sent data - line service task
  • 4.bit - debugging of composed requests - line service task
  • 5.bit - debugging of reading the list of points - line service task
-0

Communication station configuration



Station protocol parameters

They influence the behavior of access to the communication medium. You can define the following parameters:

Table 1

KeywordFull nameMeaningUnitDefault value
WREXPWrite Request Expiration TimeoutThe parameter defines a lifetime of request for writing a new value to the I/O tag. If this writing can not be performed (e.g. because the communication with the station does not work), the request is canceled after this time elapses. An error message is written into the line trace file.sec60
IPTInit Point Response TimeoutTimeout until which the device must respond after sending the request for initialization of communication with I/O tag into the device. After this time elapses, an error message is written into the line trace file.sec6
WPTWrite Point Response TimeoutTimeout until which the device must respond after sending the request for writing the new value of I/O tag into the device. After this time elapses, an error message is written into the line trace file.sec4
PRPParameter Read PeriodThe reading period of parameters from EXCEL devices. The changes in parameters (e.g. through EXCEL keyboard) are not transmitted automatically but they are read according to this period.sec600

String with protocol parameters is written according to this rule:

Key_word=value;Key_word=value; ...

Example:

IPT=10;WREXP=90;

If a keyword with a valid value has not been found in the initial string, the default value is used according to Table 1.

I/O tag configuration


I/O tags: Ai, Ao, Di, Do, Co, TxtI, TxtO

$.Px-y

where x is a file number (0 to 127) and y is a parameter number (1 to 255) within a file. Example: $.P0-1 or $.P2-3

The reading/writing into time channels is done by I/O tags with these addresses:

AddressI/O tagMeaning
$.TPRFSHDoutBy writing the value FALSE into this I/O tag, the reading of all information about time programs is started. The reading is finished when the I/O tag acquires TRUE value.
$.TPLxTxtII/O tag acquires the name of the time program with index x (the index of the first time program is 1). If this time program does not exist, the I/O tag will have an invalid value.
$.TPWSx-yTxtIName of the weekly schedule for time program with index x and day y (y in the range of 1 to 7 for Monday to Sunday).
$.TPDSx-yTxtIName of daily schedule with index y for time program with index x. If a daily schedule with this index does not exist, the I/O tag will have an invalid value.
$.TPPLx-yTxtIName of the permitted object for control with index y in time program with index x. If an object with this index does not exist, the I/O tag will have an invalid value.
$.TPADSPx-y-zTxtIName of an object in an action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPADSTx-y-zTxtIThe execution time of action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPADSVx-y-zTxtIThe value assigned to object in the action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPWWSx-yCoRecord of the new daily schedule in the weekly schedule. The day with index y (y in the range of 1 to 7 for Monday to Sunday), time program with index x. Written value is the index of daily schedule which was obtained by reading with the help of $.TPDS addresses.
$.TPWDSx-yTxtOWriting/deletion of daily schedule with index y in time program x. The values:

"DEL" - cancels a daily program
"NEW;Name" - creates a new daily program with name "Name", the value of index y is ignored

$.TPADSWx-y-zTxtOWriting/change/deletion of action with index z in daily schedule with index y, time program with index x. The values:

"DEL" - cancels the action.
"NEW;HH:MM;ObjIndex;Value" - creates the action with time HH:MM, ObjIndex is the controlled object - i.e. index from a list which is obtained by $.TPPL address, and value Value. The index of action z is ignored.
"SET;HH:MM;Value" - changes the existing action over to the new time HH:MM or Value.


Note to the reading and controlling of the time programs:

To obtain the complex information about time programs by static I/O tags is virtually impossible because of their large quantity. Therefore a dynamic change of address for all I/O tags for reading/writing of the time programs is enabled by SETPTADDR tell command. In combination with active pictures, you can implement a full displaying and controlling of the time programs. We created a sample solution as a template for the D2000 configuration database.

AddressI/O tagMeaning
$.ALARMTxtIText variable that contains the last received alarm from the device (parent of I/O tag – station).
$.LISTTxtIText variable that contains the list of objects received from the device (parent of I/O tag – station).
$.CNAMETxtIText variable that contains the device name (Controller name).


You can obtain or modify the status M/A when you configure I/O tags Di, Dout with the address which contains the attribute - ".MAN" string . True means that the object is in Manual status, False - the object is in Auto status. Both I/O tags must be defined so that this object could work properly. E.g. I/O tag with address "Temp_in_Room_01" and another one with address "Temp_in_Room_01.MAN". The change of I/O tag with the ".MAN" attribute means the change of the Manual/Auto status of object in the device.


Manual/Auto status can be read or modified also by the setting of the A flag in object value. The object with ".MAN" attribute is not necessary then. If A flag is set, the object is in Auto status. If it is not set, the object is in Manual status.

Installing of KMFB02CB driver (obsolete)


Windows NT 4.0 operating system

When installing the driver of the KMFB02 card, follow these steps:

  1. Copy KMFB02CB.SYS file into the directory \WINNT\SYSTEM32\DRIVERS on the disc with Windows NT operating system.
  2. Import the "registers" from KMFB02CB.REG file by the system utility regedit. Click on Start button, Run..., write regedit and press ENTER. In the menu of regedit utility click on Registry and Import registry file...". Select KMFB02CB.REG file.
  3. Restart your computer.


Windows 2000 operation system

For installation of the driver, you need these files:
kmfb02cb.inf - installation file
kmfb02cb.sys - the driver itself

Installation procedure:

  1. Log on to MS Windows 2000 as Administrator with the administrator rights.
  2. Click on START button -> Settings and Control panel.
  3. Start Add/Remove Hardware wizard.
  4. Click on Next button until Win2000 finishes searching the hardware.
  5. Choose Add a new device and click on Next.
  6. Choose No, I want to select the hardware from a list and click on Next.
  7. Choose Other devices and click on Next.
  8. Click on button Have a disk.
  9. Find kmfb02cb.inf file after clicking on Browse...
  10. Confirm the restart of the computer.

Note: KMFB-02 card uses the INT 5 interruption, therefore it must be released if it is reserved (it is used only for the parallel port LPT2 or network LAN card) this interruption is not usually used).

Literature


-

Changes and modifications


-

Document revisions


Communication protocols


Honeywell C-Bus communication protocol

Supported device types and versions
Communication line configuration
Communication station configuration
I/O tag configuration
Installation of KMFB02CB driver (obsolete) 
Literature
Changes and modifications
Document revisions

Supported device types and versions


This protocol supports communication with Honeywell devices based on the C-Bus communication bus.

It supports Honeywell devices, series EXCEL (XL20, XL50, 500,....). Communication has also been tested against LION Controller CLLIONLC01.

Communication line configuration


Following physical communication interfaces can be used:

Communication line category: Honeywell C-Bus.
Line parameters (C-Bus tab).
Device ID – is C-Bus Id which is assigned to the KMFB02 card. It must be an unused number in the range of 1 to 30, reserved for KMFB02 in the C-Bus network.
Baud rate – is a baud rate of C-Bus. Supported baud rates: 4800, 9600, and 19200 Bd.

Communication line category:: Serial (communication via serial port), SerialOverUDP Device Redundant (communication via a serial server in UDP mode)


Communication line protocol parameters



Configuration line dialog box - tab Protocol parameters.
They influence some of the optional protocol parameters. The following line parameters can be set:


Table 1

KeywordFull nameDescriptionUnitDefault value

DID

Device ID

This parameter is not used for the Honeywell C-Bus line. For other line types, it has a similar meaning as the "Device ID" parameter on the Honeywell C-Bus line: it is the C-Bus Id assigned to the D2000 KOM process. It must be an unused number between 1 and 30 reserved for the D2000 KOM process on the C-Bus network.

1-3030

BR

Baud Rate

This parameter is not used for the Honeywell C-Bus line. For other line types, it has a similar meaning as the "Baud Rate" parameter on the Honeywell C-Bus line: it is the C-Bus baud rate, supported baud rates are 4800, 9600, and 19200 Bd.
Note:
for Line ModeDirect and a Serial line, the parameter must match the communication speed configured on the line.

baud9600

LM

Line Mode

Mode of communication with C-Bus:

  • ISA card - uses ISA card KMFB02 (obsolete)
  • KPX02 - use of KPX02 communication computer
  • Direct - direct communication via RS-485 serial interface
ISA card
KPX02
Direct
Direct

KL

KOM Latency

The parameter allows "tuning" of time parameters. A positive value decreases the wait before sending a message, a negative value increases the wait. Reducing the wait can compensate for the slowness of the communication computer.

0.1 ms0

DI

Debug Input

Debugging messages for input data. The parameter is a bitmask, meaning of individual bits is as follows:

  • 1.bit - debugging of received data - priority task handling RS-485 interface (for Line ModeDirect)
  • 2.bit - debugging of received packets with correct CRC - priority task handling RS-485 interface (for Line ModeDirect)
  • 3.bit - debugging of received packets with correct CRC - line service task
  • 4.bit - debugging of received values - line service task
  • 5.bit - debugging of analyzed packets - line service task
-0

DI

Debug Output

Debugging messages for output data. The parameter is a bitmask, meaning of individual bits is as follows:

  • 1.bit - debugging of sent data - priority task serving RS-485 interface (for Line ModeDirect)
  • 2.bit - debugging of special packets - priority task serving RS-485 interface (for Line ModeDirect)
  • 3.bit - debugging of sent data - line service task
  • 4.bit - debugging of composed requests - line service task
  • 5.bit - debugging of reading the list of points - line service task
-0

Communication station configuration



Station protocol parameters

They influence the behavior of access to the communication medium. You can define the following parameters:

Table 1

KeywordFull nameMeaningUnitDefault value
WREXPWrite Request Expiration TimeoutThe parameter defines a lifetime of request for writing a new value to the I/O tag. If this writing can not be performed (e.g. because the communication with the station does not work), the request is canceled after this time elapses. An error message is written into the line trace file.sec60
IPTInit Point Response TimeoutTimeout until which the device must respond after sending the request for initialization of communication with I/O tag into the device. After this time elapses, an error message is written into the line trace file.sec6
WPTWrite Point Response TimeoutTimeout until which the device must respond after sending the request for writing the new value of I/O tag into the device. After this time elapses, an error message is written into the line trace file.sec4
PRPParameter Read PeriodThe reading period of parameters from EXCEL devices. The changes in parameters (e.g. through EXCEL keyboard) are not transmitted automatically but they are read according to this period.sec600

String with protocol parameters is written according to this rule:

Key_word=value;Key_word=value; ...

Example:

IPT=10;WREXP=90;

If a keyword with a valid value has not been found in the initial string, the default value is used according to Table 1.

I/O tag configuration


I/O tags: Ai, Ao, Di, Do, Co, TxtI, TxtO

$.Px-y

where x is a file number (0 to 127) and y is a parameter number (1 to 255) within a file. Example: $.P0-1 or $.P2-3

The reading/writing into time channels is done by I/O tags with these addresses:

AddressI/O tagMeaning
$.TPRFSHDoutBy writing the value FALSE into this I/O tag, the reading of all information about time programs is started. The reading is finished when the I/O tag acquires TRUE value.
$.TPLxTxtII/O tag acquires the name of the time program with index x (the index of the first time program is 1). If this time program does not exist, the I/O tag will have an invalid value.
$.TPWSx-yTxtIName of the weekly schedule for time program with index x and day y (y in the range of 1 to 7 for Monday to Sunday).
$.TPDSx-yTxtIName of daily schedule with index y for time program with index x. If a daily schedule with this index does not exist, the I/O tag will have an invalid value.
$.TPPLx-yTxtIName of the permitted object for control with index y in time program with index x. If an object with this index does not exist, the I/O tag will have an invalid value.
$.TPADSPx-y-zTxtIName of an object in an action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPADSTx-y-zTxtIThe execution time of action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPADSVx-y-zTxtIThe value assigned to object in the action with index z, daily schedule with index y, time program with index x. If this action does not exist, the I/O tag will have an invalid value.
$.TPWWSx-yCoRecord of the new daily schedule in the weekly schedule. The day with index y (y in the range of 1 to 7 for Monday to Sunday), time program with index x. Written value is the index of daily schedule which was obtained by reading with the help of $.TPDS addresses.
$.TPWDSx-yTxtOWriting/deletion of daily schedule with index y in time program x. The values:

"DEL" - cancels a daily program
"NEW;Name" - creates a new daily program with name "Name", the value of index y is ignored

$.TPADSWx-y-zTxtOWriting/change/deletion of action with index z in daily schedule with index y, time program with index x. The values:

"DEL" - cancels the action.
"NEW;HH:MM;ObjIndex;Value" - creates the action with time HH:MM, ObjIndex is the controlled object - i.e. index from a list which is obtained by $.TPPL address, and value Value. The index of action z is ignored.
"SET;HH:MM;Value" - changes the existing action over to the new time HH:MM or Value.


Note to the reading and controlling of the time programs:

To obtain the complex information about time programs by static I/O tags is virtually impossible because of their large quantity. Therefore a dynamic change of address for all I/O tags for reading/writing of the time programs is enabled by SETPTADDR tell command. In combination with active pictures, you can implement a full displaying and controlling of the time programs. We created a sample solution as a template for the D2000 configuration database.

AddressI/O tagMeaning
$.ALARMTxtIText variable that contains the last received alarm from the device (parent of I/O tag – station).
$.LISTTxtIText variable that contains the list of objects received from the device (parent of I/O tag – station).
$.CNAMETxtIText variable that contains the device name (Controller name).


You can obtain or modify the status M/A when you configure I/O tags Di, Dout with the address which contains the attribute - ".MAN" string . True means that the object is in Manual status, False - the object is in Auto status. Both I/O tags must be defined so that this object could work properly. E.g. I/O tag with address "Temp_in_Room_01" and another one with address "Temp_in_Room_01.MAN". The change of I/O tag with the ".MAN" attribute means the change of the Manual/Auto status of object in the device.


Manual/Auto status can be read or modified also by the setting of the A flag in object value. The object with ".MAN" attribute is not necessary then. If A flag is set, the object is in Auto status. If it is not set, the object is in Manual status.

Installing of KMFB02CB driver (obsolete)


Windows NT 4.0 operating system

When installing the driver of the KMFB02 card, follow these steps:

  1. Copy KMFB02CB.SYS file into the directory \WINNT\SYSTEM32\DRIVERS on the disc with Windows NT operating system.
  2. Import the "registers" from KMFB02CB.REG file by the system utility regedit. Click on Start button, Run..., write regedit and press ENTER. In the menu of regedit utility click on Registry and Import registry file...". Select KMFB02CB.REG file.
  3. Restart your computer.


Windows 2000 operation system

For installation of the driver, you need these files:
kmfb02cb.inf - installation file
kmfb02cb.sys - the driver itself

Installation procedure:

  1. Log on to MS Windows 2000 as Administrator with the administrator rights.
  2. Click on START button -> Settings and Control panel.
  3. Start Add/Remove Hardware wizard.
  4. Click on Next button until Win2000 finishes searching the hardware.
  5. Choose Add a new device and click on Next.
  6. Choose No, I want to select the hardware from a list and click on Next.
  7. Choose Other devices and click on Next.
  8. Click on button Have a disk.
  9. Find kmfb02cb.inf file after clicking on Browse...
  10. Confirm the restart of the computer.

Note: KMFB-02 card uses the INT 5 interruption, therefore it must be released if it is reserved (it is used only for the parallel port LPT2 or network LAN card) this interruption is not usually used).

Literature


-

Changes and modifications


-

Document revisions


Communication protocols