Johnson Controls N2-Bus protocol

Supported device types and versions
Communication line configuration
Communication station configuration
Station parameters
I/O tag configuration
Time Schedules configuration
Changes and modifications
Document revisions

Supported device types and versions

This protocol supports data reading from/writing to Johnson Controls devices - DX9100 series units, that are equipped with a serial port for N2 Bus. The implementation currently does not support the N2 Open standard.

Communication line configuration

Note: on TCP-IP/TCP line, multiple hostnames or IP addresses separated by comma/semicolon can be defined to connect to multiple devices in a round-robin fashion.

Communication station configuration

  • Communication protocol: Johnson Controls N2-Bus.
  • The address of the station on N2 Bus is the number in the range of 1 to 255, the address 0 is reserved.
  • Reading of object values on the station is executed periodically according to time parameters "Polling parameters".
  • The synchronization of real-time can be activated - check the Enable parameter in the "Synchronization period" section and set the period, which defines a period of writing a real-time.

Station parameters

The configuration dialog box - Parameters tab.
The parameters influence some optional parameters of the protocol. There can be defined the following parameters of station protocol:

Table 1

ParameterMeaningUnitDefault value
Wait Timeout
The delay between reading the responses until it is completed.ms100 ms
Wait First Timeout
The first waiting for a response after sending a request.ms200 ms
Retry Timeout
The delay between request retries if a communication error occurs.ms500 ms
Max. Wait Retry
The number of readings of a response until it is completed.-10
Retry Count
The number of request retries when an error in communication occurs.1 .. 322

Max Errors

The maximum number of consecutive errors in one station reading cycle after which the next I/O tags are no longer read. A value of 0 causes all I/O tags to be read.
The parameter is implemented to prevent one non-communicating station from causing an excessive reading delay for other stations on the line.

Full Debug

Enables the detailed debug information about the values of I/O tags that were obtained by polling.YES/NONO

I/O tag configuration

Used I/O tags: Ai, Ao, Ci, Co, Di, Dout.

The address of the I/O tag can be defined in two formats:

  1. predefined items of DX9100
  2. user format

1. Predefined items of DX9100 have format:


Where Modul is the name of the module and Tag is the name of the tag within a module. The list of items is based on the documentation DX-9100 Configuration Guide, Appendix B. Since this is a large list of the static items, an "Object Browser" dialog window is prepared, where you may find the particular object. In the "Item Address" section click the button next to the "Item" field.

Button to open object browser

The following window opens:

Object Browser dialog window

The left part of the window contains the list of modules. After clicking the particular module, the list of tags that belong to this module is displayed in the right part of the window.

Parameters of items:

Tag: Name of the tag.
: Short description of the item.
: Access level (R - read-only, R/W - read and write, CNF - read and write, the configuration parameter is stored into EEPROM).
Type: Value type of item (see also here).
: Physical address of item that is used for reading/writing. It is calculated from the starting address of the module and offset tag (in hexadecimal format). The bit number (1 up to 32) of the addresses of binary items is placed after the dot.

After double-clicking a selected tag, the dialog window is closed and the name of the item is copied in the "Item" field in the "Item Address" section.

2. User format:



Type is a value type of item. There are supported these types:

Value typeRange, value interpretation
U88 bits unsigned (JC tagging 1 Byte)
U1616 bits unsigned (JC tagging 2 Byte)
U3232 bits unsigned (JC tagging 4 Bytes)
I88 bits signed (JC tagging 1 Byte Int)
I1616 bits signed (JC tagging 2 Byte Int)
FP16 or N16 bits floating point in Johnson Controls format (JC tagging Number)
CONNConnection - interpreted as 16 bits unsigned
DSTDestination - interpreted as 16 bits unsigned

Address is the address of the item in decimal format.

Bit is a bit number. An optional parameter, it is relevant only for binary items, when the particular bit is extracted from the value of the whole item (for U8, U16, or U32 items).



This user format is advisable to use when the required item is not in the list of predefined items.

In addition to the above-mentioned addressing methods, it is possible (from D2000 v21 onwards) to configure an I/O tag of TiA type with the CURRENT_TIME address. The current time of the Johnson Controls device will be read to such an I/O tag.
Note: setting the current time is possible by setting the station parameter "Synchronization period".

Time Schedules configuration

Starting with D2000 version 10.1.37 (patches from 12.4.2016 and newer) it is possible to configure Time Schedules. In "Object Browser" new modules TS1cfg, TS2cfg .. TS8cfg have been added, each of them represents a configuration of one Time Schedule.
Every time schedule has several general parameters and a set of eight begin times (BETIME1..8), end times (EETIME1..8), and days when a time schedule is active (EEDAYS1..8).
A time interval is configured by writing values to begin time and end time. Writing is supported for relative time (e.g. 01:05:00) and for Ao/Co (value in seconds, i.e. 01:05:00 equals to 3 900). Times are sent to the device as hours:minutes (i.e. seconds are ignored). Invalidation of time is possible by writing an invalid value or value 24:00:00 or greater (86400 seconds or more).
By writing a value to days (EEDAYS1..8) it is possible to specify during which days a time schedule is active. Value is a number (0-255) interpreted as a bitmask:

  • 1.bit - Monday
  • 2.bit - Tuesday
  • 3.bit - Wednesday
  • 4.bit - Thursday
  • 5.bit - Friday
  • 6.bit - Saturday
  • 7.bit - Sunday
  • 8.bit - Holidays


  1. DX-9100 Configuration Guide, © 2000 Johnson Controls, Inc., Code No. LIT-6364030, Issue Date 0900

Changes and modifications


Document revisions

  • Ver. 1.0 - May 3, 2013 - Creating a document.
Write a comment...