CPKSoft Engineering

XDX9100.tlk Driver Reference

Johnson Controls Metasys DX9100 Protocol Driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Overview

The XDX9100 driver allows you to connect to devices that conform to

the Metasys DX9100 protocol specification.

 

The serial communication link between a supervisory system and up to

256 System 91 units, is an asynchronous half-duplex line split in

RS-485 channels for 30 System 91 units each. The supervisory system

initiates all data transactions on a point to pint basis.

 

Typical port settings are 9600, N, 8, 1. The beginning of a request

message should be delayed of at least 30000/BR msec (BR=baudrate bit/sec)

after the reception of the last character of the previous answer message.

You can use either T1Delay or T3Delay to implement this delay.

 

For a list of the Items that can be read, refer to your device's manual.

Supported Equipment Type

Remote Terminal Units

Supported Devices List

JOHNSON CONTROLS DR9100 Room Controllers

JOHNSON CONTROLS DC9100 Plant Controllers

JOHNSON CONTROLS IM9100 Modem Interfaces

JOHNSON CONTROLS DO9100 Digital Optimizers

JOHNSON CONTROLS DX9100 Digital Controllers

JOHNSON CONTROLS TC9100 Room Controllers

JOHNSON CONTROLS XT9100 Extension Modules

JOHNSON CONTROLS UI9100 User Interfaces

JOHNSON CONTROLS RC9100 Refrigeration Controllers

Supported Commands List

Get Device Type

Read Single Item

Read Extended Single Item

Read Block of Consecutive Items

Read Block of Consecutive Extended Items

Read Block of Consecutive Bits

Read Block of Consecutive Extended Bits

Write Single Item

Write Extended Single Item

Write Block of Consecutive Items

Write Block of Consecutive Extended Items

Write Block of Consecutive Bits

Write Block of Consecutive Extended Bits

Get Device Type

COMMAND DESCRIPTION:

Executes a request for Item #0 to get the type of System 91

device connected to the serial link.

 

Possible device types are:

1 = DR9100 Room Controller Revision 1

2 = DC9100 Plant Controller Revision 1

3 = IM9100 Modem Interface Revision 1

4 = DO9100 Digital Optimizer Revision 1

5 = DX9100 Digital Controller Revision 1

6 = TC9100 Room Controller Revision 1

8 = XT9100 Extension Module Revision 1

9 = UI9100 User Interface Revision 1

10 = RC9100 Refrigeration Controller Revision 1

17 = DR9100 Room Controller Revision 2

18 = DC9100 Plant Controller Revision 2

21 = DX9100 Digital Controller Revision 2

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = Address of device (0-255)

HMITalk1.DriverP1 = 128 (80h)

HMITalk1.DriverP2 = 0

HMITalk1.DriverP3 = 0

 

RETURNS:

- HMITalk1.PointValue(0) = Device type

Read Single Item

COMMAND DESCRIPTION:

Executes a request for one single item in the range 0 to FFFh

divided into four pages of up to 4095 items each.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 128 (80h)

HMITalk1.DriverP2 = Page # (0-3)

HMITalk1.DriverP3 = Item # (0h-FFFh, 0-4095)

 

HMITalk1.DriverP6 = Format of item being requested.

Must be one of these characters:

B = 1 byte data

N = 2 bytes data, floating point number

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

RETURNS:

- HMITalk1.PointValue(0) = Requested item value

Read Extended Single Item

COMMAND DESCRIPTION:

Executes a request for one extended single item in the range

of 0 to FFFFh.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 132 (84h)

HMITalk1.DriverP2 = Address of begin of module (0-FFFh, 0-4095).

HMITalk1.DriverP3 = Relative item index (RI) from begin of module.

HMITalk1.DriverP6 = Format of item being requested.

Must be one of these characters:

B = 1 byte data

N = 2 bytes data, floating point number

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

RETURNS:

- HMITalk1.PointValue(0) = Requested extended item value

Read Block of Consecutive Items

COMMAND DESCRIPTION:

Reads a block of consecutive items.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-69 (depend on the item formats requested)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 168 (A8h)

HMITalk1.DriverP2 = 0

HMITalk1.DriverP3 = First item # (0h-FFh, 0-255)

 

HMITalk1.DriverP6 = String of characters with the format

of each item being requested.

Must be one of these characters:

B = 1 byte data

N = 2 bytes data, floating point number

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

Example: If requesting 3 unsigned 16 bits and one floating

point number, use P6=WWWN

 

RETURNS:

- HMITalk1.PointValue(0) = First requested item value

- HMITalk1.PointValue(1) = Second requested item value

...

- HMITalk1.PointValue(DriverNumPoints-1) = Last requested item value

Read Block of Consecutive Extended Items

COMMAND DESCRIPTION:

Reads a block of consecutive extended items.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Input

HMITalk1.DriverNumPoints = 1-69 (depend on the item formats requested)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 172 (ACh)

HMITalk1.DriverP2 = 0

HMITalk1.DriverP3 = First item # (0h-FFFh, 0-4095)

HMITalk1.DriverP6 = String of characters with the format

of each item being requested.

Must be one of these characters:

B = 1 byte data

N = 2 bytes data, floating point number

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

Example: If requesting 3 unsigned 16 bits and one floating

point number, use P6=WWWN

 

RETURNS:

- HMITalk1.PointValue(0) = First requested item value

- HMITalk1.PointValue(1) = Second requested item value

...

- HMITalk1.PointValue(DriverNumPoints-1) = Last requested item value

Read Block of Consecutive Bits

COMMAND DESCRIPTION:

Reads a block of consecutive bits from a given starting item,

returning the status of the 8 bits for each byte read.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Input

HMITalk1.DriverNumPoints = 1-552 (depend on the item formats involved)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 168 (A8h)

HMITalk1.DriverP2 = Number of items to be read (1-69).

According to each Item format in the

block being read, there must be an enough

number of bytes to provide as many bits as

is requested in DriverNumPoints.

HMITalk1.DriverP3 = First item # (0h-FFh, 0-255)

 

RETURNS:

- HMITalk1.PointValue(0) = First bit of first byte read

- HMITalk1.PointValue(1) = Second bit of first byte read

...

- HMITalk1.PointValue(DriverNumPoints-1) = Last bit of last byte read

Read Block of Consecutive Extended Bits

COMMAND DESCRIPTION:

Reads a block of consecutive bits from a given starting

extended item, returning the status of the 8 bits for each

byte read.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Input

HMITalk1.DriverNumPoints = 1-552 (depend on the item formats involved)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 172 (ACh)

HMITalk1.DriverP2 = Number of items to be read (1-69).

According to each Item format in the

block being read, there must be an enough

number of bytes to provide as many bits as

is requested in DriverNumPoints.

HMITalk1.DriverP3 = First item # (0h-FFFh, 0-4095)

 

RETURNS:

- HMITalk1.PointValue(0) = First bit of first byte read

- HMITalk1.PointValue(1) = Second bit of first byte read

...

- HMITalk1.PointValue(DriverNumPoints-1) = Last bit of last byte read

Write Single Item

COMMAND DESCRIPTION:

Executes a request to write one single item in the range 0 to FFFh

divided into four pages of up to 4095 items each.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 192 (C0h)

HMITalk1.DriverP2 = Page # (0-3)

HMITalk1.DriverP3 = Item # (0h-FFFh, 0-4095)

 

HMITalk1.DriverP6 = Format of item being written.

Must be one of these characters:

B = 1 byte data

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

WHERE:

- HMITalk1.PointValue(0) = New item value

Write Extended Single Item

COMMAND DESCRIPTION:

Executes a request to write one extended single item in

the range of 0 to FFFh.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 196 (C4h)

HMITalk1.DriverP2 = Address of begin of module (0-FFFh, 0-4095).

HMITalk1.DriverP3 = Relative item index (RI) from begin of module.

HMITalk1.DriverP6 = Format of item being written.

Must be one of these characters:

B = 1 byte data

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

WHERE:

- HMITalk1.PointValue(0) = New extended item value

Write Block of Consecutive Items

COMMAND DESCRIPTION:

Writes a block of consecutive items.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-69 (depend on the item formats written)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 232 (E8h)

HMITalk1.DriverP2 = 0

HMITalk1.DriverP3 = First item # (0h-FFh, 0-255)

 

HMITalk1.DriverP6 = String of characters with the format

of each item being written.

Must be one of these characters:

B = 1 byte data

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

Example: If writing 3 unsigned 16 bits and one byte

point number, use P6=WWWB

 

WHERE:

- HMITalk1.PointValue(0) = New first item value

- HMITalk1.PointValue(1) = New second item value

...

- HMITalk1.PointValue(DriverNumPoints-1) = New last item value

Write Block of Consecutive Extended Items

COMMAND DESCRIPTION:

Writes a block of consecutive extended items.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Analog Output

HMITalk1.DriverNumPoints = 1-69 (depend on the item formats written)

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 236 (ECh)

HMITalk1.DriverP2 = 0

HMITalk1.DriverP3 = First item # (0h-FFFh, 0-4095)

HMITalk1.DriverP6 = String of characters with the format

of each item being written.

Must be one of these characters:

B = 1 byte data

W = 2 bytes data, unsigned 16 bits hexadecimal number

L = 4 bytes data, unsigned 32 bits hexadecimal number

 

Example: If writing 3 unsigned 16 bits and one byte

point number, use P6=WWWB

 

WHERE:

- HMITalk1.PointValue(0) = New first item value

- HMITalk1.PointValue(1) = New second item value

...

- HMITalk1.PointValue(DriverNumPoints-1) = New last item value

Write Block of Consecutive Bits

COMMAND DESCRIPTION:

Writes a block of consecutive bits, starting from a given item.

Every 8 bits, one byte will be output. Make sure that you

write as many bits as required to complete each whole

item size, according of the format of each item.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Output

HMITalk1.DriverNumPoints = 1-552

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 232 (E8h)

HMITalk1.DriverP2 = Number of items that will be affected (1-69),

according to the number of bits that

will be writen. This depends on the

format of each item in the affected block.

The number of bits is given by DriverNumPoints.

HMITalk1.DriverP3 = First item # (0h-FFh, 0-255)

 

WHERE:

- HMITalk1.PointValue(0) = first bit of first item affected

- HMITalk1.PointValue(1) = second bit of first item affected

...

- HMITalk1.PointValue(DriverNumPoints-1) = last bit of last item affected

Write Block of Consecutive Extended Bits

COMMAND DESCRIPTION:

Writes a block of consecutive extended bits, starting from

a given item. Every 8 bits, one byte will be output. Make

sure that you write as many bits as required to complete each

whole item size, according of the format of each item.

 

PROPERTY SETTINGS REQUIRED:

HMITalk1.DriverDataType = Digital Output

HMITalk1.DriverNumPoints = 1-552

HMITalk1.DriverP0 = System 91 unit address (0-255)

HMITalk1.DriverP1 = 236 (ECh)

HMITalk1.DriverP2 = Number of items that will be affected (1-69),

according to the number of bits that

will be writen. This depends on the

format of each item in the affected block.

The number of bits is given by DriverNumPoints.

HMITalk1.DriverP3 = First item # (0h-FFFh, 0-4095)

 

WHERE:

- HMITalk1.PointValue(0) = first bit of first item affected

- HMITalk1.PointValue(1) = second bit of first item affected

...

- HMITalk1.PointValue(DriverNumPoints-1) = last bit of last item affected

Returned Errors List

[1005] DRIVER (Internal): Invalid driver stage

[1300] PROTOCOL (Timeout): No answer

[1429] PROTOCOL (Format): Unknown response

[1433] PROTOCOL (Format): Validation error in device response

[2147] CONFIG (NumValues): Only one value can be read or written

[2148] CONFIG (NumValues): Only one value can be requested

[2149] CONFIG (NumValues): Only one value can be written

[2189] CONFIG (NumValues): Too many values (max=16)

[2245] CONFIG (NumValues): Too many values requested

[2280] CONFIG (NumValues): Too many items to be written

[2281] CONFIG (NumValues): Too many bits to be written

[3014] CONFIG (P0): Invalid device address (0-255)

[3508] CONFIG (P1): Invalid command

[4062] CONFIG (P2): Invalid first rack module number (0-15)

[4086] CONFIG (P2): Invalid rack module number (0-16)

[4130] CONFIG (P2): Invalid page number (0-3)

[4131] CONFIG (P2): Invalid module begin address (0000h-FFFFh)

[4133] CONFIG (P2): Invalid number of items

[4551] CONFIG (P3): Invalid number of samples (0-255)

[4587] CONFIG (P3): Invalid item number

[8351] CONFIG (Remote): Unknown error type

[8368] CONFIG (Remote): Idle device

[8369] CONFIG (Remote): Not existing command code

[8370] CONFIG (Remote): Data not matching the item or function type

[8371] CONFIG (Remote): Not existing item or function

[8372] CONFIG (Remote): Temporarily impossible to access the item

[8373] CONFIG (Remote): Not programmable item

[8374] CONFIG (Remote): Table programmed with illegal items

[8375] CONFIG (Remote): Trend programmed with illegal items

[8376] CONFIG (Remote): Invalid functional module

[8377] CONFIG (Remote): exceeding addressing range

[8378] CONFIG (Remote): Password not enabled

About the XDX9100.tlk driver

This driver requires that you have TAS-HMITalk 8.04 installed.

Driver Source Code Last Update: 05/12/2004 18:48:04

Driver Reference Last Update: 10/30/2008 17:37:05

© 1990-2008, CPKSoft Engineering. All rights reserved.

http://www.cpksoft.com - support@cpksoft.com

http://www.cpksoft.com.ar - soporte@cpksoft.com.ar>