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:
- ISA card KMFB02 (Incos a.s. Zilina) with firmware by Ipesoft s.r.o. (stored in EPROM). The communication is performed using baud rates 4800 Bd, 9600 Bd, or 19200 Bd. The card requires the driver KMFB02CB.SYS installed in Windows NT/2000.
Parameters:
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 computer KPX02 with firmware by Ipesoft s.r.o.
- D2000 KOM process on a computer equipped with an RS-485 interface (tested on a Techbase NPE X500 M3 industrial computer based on Raspberry PI)
- D2000 KOM process communicating via Moxa N-Port with an RS-485 interface (this combination may not meet protocol timing requirements)
Parameters:
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
Keyword | Full name | Description | Unit | Default 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-30 | 30 |
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. | baud | 9600 |
LM | Line Mode | Mode of communication with C-Bus:
| 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 ms | 0 |
DI | Debug Input | Debugging messages for input data. The parameter is a bitmask, meaning of individual bits is as follows:
| - | 0 |
DO | Debug Output | Debugging messages for output data. The parameter is a bitmask, meaning of individual bits is as follows:
| - | 0 |
Communication station configuration
- Communication protocol: Honeywell Excel C-Bus
- The station address is the C-Bus Id of the device in the range of 1 to 30.
- You can execute an automatic synchronization of the real-time clock of EXCEL stations according to the time of the workstation. You must enable the synchronization and set the "Synchronization period" of real-time on the "Time parameters" tab in the configuration dialog box for the station. The recommended period is 3 to 12 hours. The first synchronization is done when starting the D2000 KOM process.
Station protocol parameters
They influence the behavior of access to the communication medium. You can define the following parameters:
Table 1
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
WREXP | Write Request Expiration Timeout | The 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. | sec | 60 |
IPT | Init Point Response Timeout | Timeout 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. | sec | 6 |
WPT | Write Point Response Timeout | Timeout 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. | sec | 4 |
PRP | Parameter Read Period | The 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. | sec | 600 |
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
- I/O tag address is the name of the I/O object that is defined in the EXCEL device. It is a string of max. length of 18 characters. The address can contain also attributes.
- Reading and writing of values of EXCEL devices are done by I/O tags with the following addresses:
$.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:
Address | I/O tag | Meaning |
---|---|---|
$.TPRFSH | Dout | By 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. |
$.TPLx | TxtI | I/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-y | TxtI | Name 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-y | TxtI | Name 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-y | TxtI | Name 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-z | TxtI | Name 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-z | TxtI | The 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-z | TxtI | The 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-y | Co | Record 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-y | TxtO | Writing/deletion of daily schedule with index y in time program x. The values: "DEL" - cancels a daily program |
$.TPADSWx-y-z | TxtO | Writing/change/deletion of action with index z in daily schedule with index y, time program with index x. The values: "DEL" - cancels the action. |
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.
- I/O tags that have not any image in EXCEL device:
Address | I/O tag | Meaning |
---|---|---|
$.ALARM | TxtI | Text variable that contains the last received alarm from the device (parent of I/O tag – station). |
$.LIST | TxtI | Text variable that contains the list of objects received from the device (parent of I/O tag – station). |
$.CNAME | TxtI | Text variable that contains the device name (Controller name). |
- I/O tags with Manual/Auto status:
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.
- Change of Manual/Auto status by A flag of object value:
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:
- Copy KMFB02CB.SYS file into the directory \WINNT\SYSTEM32\DRIVERS on the disc with Windows NT operating system.
- 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.
- 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:
- Log on to MS Windows 2000 as Administrator with the administrator rights.
- Click on START button -> Settings and Control panel.
- Start Add/Remove Hardware wizard.
- Click on Next button until Win2000 finishes searching the hardware.
- Choose Add a new device and click on Next.
- Choose No, I want to select the hardware from a list and click on Next.
- Choose Other devices and click on Next.
- Click on button Have a disk.
- Find kmfb02cb.inf file after clicking on Browse...
- 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
- Ver. 1.0 – July 24, 2000 – Creation of document
- Ver. 1.1 - April 24, 2001 - Reading/writing of parameters and writing to the real-time clock
- Ver. 1.2 - July 13, 2001 - Time programs
- Ver. 1.3 - January 31, 2020 - Support for different lines than Honeywell C-Bus and support for different modes of communication than ISA card.
Related pages:
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:
- ISA card KMFB02 (Incos a.s. Zilina) with firmware by Ipesoft s.r.o. (stored in EPROM). The communication is performed using baud rates 4800 Bd, 9600 Bd, or 19200 Bd. The card requires the driver KMFB02CB.SYS installed in Windows NT/2000.
Parameters:
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 computer KPX02 with firmware by Ipesoft s.r.o.
- D2000 KOM process on a computer equipped with an RS-485 interface (tested on a Techbase NPE X500 M3 industrial computer based on Raspberry PI)
- D2000 KOM process communicating via Moxa N-Port with an RS-485 interface (this combination may not meet protocol timing requirements)
Parameters:
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
Keyword | Full name | Description | Unit | Default 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-30 | 30 |
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. | baud | 9600 |
LM | Line Mode | Mode of communication with C-Bus:
| 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 ms | 0 |
DI | Debug Input | Debugging messages for input data. The parameter is a bitmask, meaning of individual bits is as follows:
| - | 0 |
DI | Debug Output | Debugging messages for output data. The parameter is a bitmask, meaning of individual bits is as follows:
| - | 0 |
Communication station configuration
- Communication protocol: Honeywell Excel C-Bus
- The station address is the C-Bus Id of the device in the range of 1 to 30.
- You can execute an automatic synchronization of the real-time clock of EXCEL stations according to the time of the workstation. You must enable the synchronization and set the "Synchronization period" of real-time on the "Time parameters" tab in the configuration dialog box for the station. The recommended period is 3 to 12 hours. The first synchronization is done when starting the D2000 KOM process.
Station protocol parameters
They influence the behavior of access to the communication medium. You can define the following parameters:
Table 1
Keyword | Full name | Meaning | Unit | Default value |
---|---|---|---|---|
WREXP | Write Request Expiration Timeout | The 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. | sec | 60 |
IPT | Init Point Response Timeout | Timeout 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. | sec | 6 |
WPT | Write Point Response Timeout | Timeout 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. | sec | 4 |
PRP | Parameter Read Period | The 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. | sec | 600 |
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
- I/O tag address is the name of the I/O object that is defined in the EXCEL device. It is a string of max. length of 18 characters. The address can contain also attributes.
- Reading and writing of values of EXCEL devices are done by I/O tags with the following addresses:
$.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:
Address | I/O tag | Meaning |
---|---|---|
$.TPRFSH | Dout | By 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. |
$.TPLx | TxtI | I/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-y | TxtI | Name 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-y | TxtI | Name 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-y | TxtI | Name 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-z | TxtI | Name 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-z | TxtI | The 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-z | TxtI | The 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-y | Co | Record 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-y | TxtO | Writing/deletion of daily schedule with index y in time program x. The values: "DEL" - cancels a daily program |
$.TPADSWx-y-z | TxtO | Writing/change/deletion of action with index z in daily schedule with index y, time program with index x. The values: "DEL" - cancels the action. |
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.
- I/O tags that have not any image in EXCEL device:
Address | I/O tag | Meaning |
---|---|---|
$.ALARM | TxtI | Text variable that contains the last received alarm from the device (parent of I/O tag – station). |
$.LIST | TxtI | Text variable that contains the list of objects received from the device (parent of I/O tag – station). |
$.CNAME | TxtI | Text variable that contains the device name (Controller name). |
- I/O tags with Manual/Auto status:
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.
- Change of Manual/Auto status by A flag of object value:
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:
- Copy KMFB02CB.SYS file into the directory \WINNT\SYSTEM32\DRIVERS on the disc with Windows NT operating system.
- 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.
- 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:
- Log on to MS Windows 2000 as Administrator with the administrator rights.
- Click on START button -> Settings and Control panel.
- Start Add/Remove Hardware wizard.
- Click on Next button until Win2000 finishes searching the hardware.
- Choose Add a new device and click on Next.
- Choose No, I want to select the hardware from a list and click on Next.
- Choose Other devices and click on Next.
- Click on button Have a disk.
- Find kmfb02cb.inf file after clicking on Browse...
- 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
- Ver. 1.0 – July 24, 2000 – Creation of document
- Ver. 1.1 - April 24, 2001 - Reading/writing of parameters and writing to the real-time clock
- Ver. 1.2 - July 13, 2001 - Time programs
- Ver. 1.3 - January 31, 2020 - Support for different lines than Honeywell C-Bus and support for different modes of communication than ISA card.
Related pages:
Pridať komentár