A Sierra Monitor Company
Driver Manual
(Supplement to the FieldServer Instruction Manual)
FS-8700-82 Carrier DataLink
APPLICABILITY & EFFECTIVITY
Effective for all systems manufactured after May 1, 2001
Driver Version:
1.03
Document Revision: 5
FS-8700-82 Carrier DataLink
Page 3 of 31
1.
Carrier DataLink Description
The Carrier DataLink driver allows the FieldServer to transfer data to and from devices over
either RS-232 or RS-485 using Carrier DataLink protocol. The FieldServer can emulate either a
Server or Client.
The Carrier DataLink Serial Driver allows variables to be read and written in system elements
connected to a Carrier Comfort Network communication bus. Up to 15 system elements may be
connected to a DataLink Device. Display, Occupancy, Set Point Tables and Carrier Comfort
Network (CCN) variables may be read or written.
The DataLink device provides a gateway to CCN devices. This driver polls the DataLink device
which in turn reads/writes data to the CCN devices.
Carrier limits the number of CCN devices that can polled from a DataLink Device as well as the
data that can be transferred between some CCN devices and the DataLink device. For
information on these limitations please consult the Carrier Corporation.
The driver is an active client driver. This means that it initiates read/write polls with the DataLink
device which is expected to provide responses. Server functionality is not intended to provide
full emulation of DataLink Devices but can be extended on request.
The driver is configured to allow data tables to be read from the CCN devices via the DataLink
device. As the tables typically contain more than one data element, the retrieved data is stored
in a number of consecutive FieldServer data array locations in the FieldServer. The individual
values cannot be scaled before they are stored. The driver can provide descriptions for each of
the table values retrieved. Descriptions are stored in ASCII in a separate data array.
The driver can be configured to read a specific variable from a CNN device and store its value
using optional scaling in a configurable location in a FieldServer data array.
The driver can be configured to write a value (using optional scaling) from a FieldServer data
array to a specific variable in a CNN device, provided that the variable allows its value to be
written.
The driver has no advanced knowledge of the CCN devices and their data tables. Therefore it
cannot validate table names or variable names specified in the configuration file. This means
that the driver handles each table in a generic way, without regard for the particular variables
that constitute the tables.
It is important that you understand the limitations and exclusions of this driver. Refer to Section
5.4 for more information.
FS-8700-82 Carrier DataLink
Page 4 of 31
2.
Driver Scope of Supply
2.1. Supplied by FieldServer Technologies for this driver
FieldServer Technologies PART #
FS-8915-10
FS-8917-17
DESCRIPTION
UTP cable (7 foot) for RS-232 use
RJ45 to DB25M connection adapter
Driver Manual.
FS-8700-82
2.2.
PART #
Provided by Suppler of 3rd Party Equipment
DESCRIPTION
Carrier DataLink Card
FS-8700-82 Carrier DataLink
Page 5 of 31
3.
Hardware Connections
The FieldServer is connected to the Carrier DataLink device as shown below. Ensure that the
device to be connected to is in fact the DataLink device and not the DataPort device which is
similar looking.
Configure the DataLink Device according to manufacturer’s instructions. This driver requires
that the DataLink device’s DTPCONFIG table has been configured prior to connection with a
FieldServer. Consult the manufacturer’s information on connecting Carrier Device’s to CCN
network.
FS-8700-82 Carrier DataLink
Page 6 of 31
4.
Configuring the FieldServer as a Carrier DataLink Client
It is not possible to configure communication with a DataLink device until familiar with the data
available from the devices connected to the DataLink. The DataLink device does not provide a
method for discovering the data tables and variables that are available in all the Carrier devices.
In order to configure the Client it is necessary to know the names of the data tables available in
the devices connected via the CCN network to the data link. A partial list of available tables is
provided in Appendix A.1. If you know the table names and the variable names that you wish to
poll then you have enough information to complete the configuration. If you have table names
but do not know variable names then we provide a method of discovering the variable names.
This method is discussed in chapter 6. If you do not have the table names then you will need to
consult with the Carrier Corporation before proceeding.
For a detailed discussion on FieldServer configuration, please refer to the FieldServer
Configuration manual. The information that follows describes how to expand upon the factory
defaults provided in the configuration files included with the FieldServer (See “.csv” sample files
provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a Carrier DataLink Server.
The configuration file tells the FieldServer about its interfaces, and the routing of data required.
In order to enable the FieldServer for Carrier DataLink communications, the driver independent
FieldServer buffers need to be declared in the “Data Arrays” section, the destination device
addresses need to be declared in the “Client Side Nodes” section, and the data required from
the servers needs to be mapped in the “Client Side Map Descriptors” section. Details on how to
do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the
default.
4.1.
Data Arrays/Descriptors
Section Title
Data_Arrays
Column Title
Function
Legal Values
Up to 15 alphanumeric
characters
Data_Array_Name Provide name for Data Array
FLOAT, BIT, UInt16, SInt16,
Packed_Bit, Byte,
Packed_Byte, Swapped_Byte
Provide data format. Each data
Data_Format
array can only take on one format.
Number of Data Objects. Must be
larger than the data storage area
required for the data being placed in
Data_Array_Length
1-10,000
this array.
FS-8700-82 Carrier DataLink
Page 7 of 31
Example
// Data Arrays
Data_Arrays
Data_Array_Name,
DA_AI_01,
DA_AO_01,
DA_DI_01,
Data_Format,
UInt16,
UInt16,
Bit,
Data_Array_Length
200
200
200
200
DA_DO_01,
Bit,
4.2.
Client Side Connection Descriptions
Section Title
Connections
Column Title
Function
Legal Values
Specify which port the device is connected to the
FieldServer
Port
P1-P8, R1-R21
300, 600 , 1200,
2400, 9600 (Vendor
limitation)
Baud*
Specify baud rate
None (Vendor
Limitation)
Parity*
Specify parity.
Data_Bits*
Stop_Bits*
Protocol
8 (Vendor Limitation)
1 (Vendor limitation)
CarrrierDL
Specify data bits
Specify stop bits
Specify protocol used
None
Handshaking* Specify hardware handshaking
0-32000 seconds, 1
second
Poll _Delay*
Time between internal polls
When reading entire tables it is recommended that
the timeout be set to between 15 and 30 seconds.
Additional information is provided in Appendix A.5
When reading entire tables it is recommended that
the ic_timeout be set to approx 15.0 seconds.
Additional information is provided in Appendix A.5
0.1 to 60.0 seconds,
2.0seconds
Timeout*
IC_Timeout*
Example
// Client Side Connections
Connections
Port, Baud, Parity, Data_bits, Stop_Bits, Protocol,
Handshaking, Poll_Delay
P8,
9600, None,
8
,
1
,
CarrierDL, None
,
0.100s
1
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FS-8700-82 Carrier DataLink
Page 8 of 31
4.3.
Section
Title
Nodes
Client Side Node Descriptors
Column
Title
Function
Legal Values
Up to 32
Node_Name Provide name for node
alphanumeric
characters
Modbus station address of physical server node.
These correspond to the ‘devices’ configured in the
DTPConfig. Thus the Node_ID is not the address of
the final CCN device.
Node_ID
1-15
The DataLink DTPConfig table maps a device number
(1..15) to a bus number (0-239). Use the Node_ID to
tell the driver which device to use.
Protocol
Port
Specify protocol used
Specify which port the device is connected to the
FieldServer
CarrierDL
P1-P8, R1-R22
Example
// Client Side Nodes
Nodes
Node_Name,
Node_ID,
Protocol ,
CarrierDL,
Port
P8
FAN1
4.4.
4.4.1.
,
1
,
Client Side Map Descriptors
FieldServer Related Map Descriptor Parameters
Column Title
Function
Legal Values
Up to 32 alphanumeric
characters
One of the Data Array names
from “Data Array” section
above
Map_Descriptor_Name Name of this Map Descriptor
Name of Data Array where
Data_Array_Name
data is to be stored in the
FieldServer
Starting location in Data
Array
Function of Client Map
Descriptor
0 to maximum specified in
“Data Array” section above
Data_Array_Location
Function
RDBC, WRBC, WRBX
2
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FS-8700-82 Carrier DataLink
Page 9 of 31
4.4.2.
Column
Title
Driver Related Map Descriptor Parameters
Function
Legal Values
One of the node names
specified in “Client Node
Descriptor” above
Node_Name Name of Node to fetch data from
Data type. This parameter is not required
except when defining Map Descriptors
which write DOW (Day of Week) and
Time value to the Carrier devices. When
-
Data_Type
a write Map Descriptor checks the data
type it uses the information to convert the
value extracted from the FieldServer’s
Data Arrays into a suitable format for a
write. Refer to Section 4.4.7.
Occupancy_Time
Occupancy_DOW
Length of Map Descriptor. When reading
a compete table, set the length to the
maximum number of data values you
want stored. Additional information on the
length parameter is provided in Appendix
A.5.
Length
1 – 1000
Address
This commonly used parameter is not required for this driver.
The name of the table to be polled, e.g.
Only ASCII characters are
permitted.
DISPLAY. Some system elements have
multiple instances of the same table
name. For example, the Terminal System
Manager has 64 Temperature Zone
configuration tables named TZONE1
though TZONE64. These tables are
accessed by using both the primary &
secondary table names, e.g. ‘TZCONF
TZONE1’
When using the table
Table_Name
name parameter to specify
a primary and secondary
table, leave a single space
between the two names.
Only ASCII characters are
permitted. Field names
never contain spaces.
They may not be longer
than 10 characters long.
If you wish to read the whole table, leave
Field_Name* the field name blank or specify
‘EVERYTHING’.
Use the Ascii or AsciiLog format when you
are discovering the variables contained in
a table by reading a table. Refer to 1.1
Ascii, AsciiLog, Values
Store_As*
4.4.3.
Timing Parameters
Column Title
Scan_Interval
Function
Rate at which data is polled >0.1s
Legal Values
FS-8700-82 Carrier DataLink
Page 10 of 31
4.4.4.
Map Descriptor Example 1 – Read a Table
This example illustrates how to read the entire contents of a table called ‘DISPLAY’. The Map Descriptor is connected to a node
using the node name and a node definition provides a connection to a port. Thus this Map Descriptor is connected to a port via its
node. The FieldServer will use that port to send this poll which will be generated every 5 seconds.
The value extracted from the response will be stored in the array called DA_DISPLAY. Ensure that it is suitable format for storing a
number – FLOAT is suggested. The driver stores the value of the 1st element at offset 1; the 2nd element at offset 2… The number of
table elements whose values have been successfully stored at is stored at offset zero.
// Client Side Map Descriptors
Map Descriptors
Map_Descriptor_Name, Data_Array_Name, Data_Array_Offset, Function,
Read_Table_Md DA_DISPLAY , rdbc
Node_Name, Length,
FAN01 100
Scan_Interval, Table_Name, Field_Name
5.0s DISPLAY , EVERYTHING
,
0
,
,
,
,
,
The name of the
table to be read.
The driver
generates a read
poll continuously.
Responses are stored in
this data array. Table
element x gets stored at
offset x, where x is a non-
zero integer.
The length is set
to a number big
enough to contain
all the table’s
variables.
The node name
connects the Map
Descriptor to a
node definition.
By using the keyword
‘EVERYTHING’ you are
telling the driver to read
the whole table.
Offset zero is used by the
driver to report how many
values were stored.
FS-8700-82 Carrier DataLink
Page 13 of 31
5.
Configuring the FieldServer as a Carrier DataLink Server
For a detailed discussion on FieldServer configuration, please refer to the FieldServer
Instruction Manual. The information that follows describes how to expand upon the factory
defaults provided in the configuration files included with the FieldServer (See “.csv” sample files
provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a Carrier DataLink Client.
The FieldServer can be configured to emulate a Carrier DataLink Device. The use is able to
define a variable number of data tables, allocating a table name a variable number of variables.
The FieldServer may be polled and will respond like a DataLink device. Remote clients can
force variable states by ending write variable commands.
The FieldServer does not emulate any of the alarm buffer/history features of the DataLink
Device.
All variables may be read or written without restriction.
The configuration file tells the FieldServer about its interfaces, and the routing of data required.
In order to enable the FieldServer for Carrier DataLink communications, the driver independent
FieldServer buffers need to be declared in the “Data Arrays” section, the FieldServer virtual
node(s) needs to be declared in the “Server Side Nodes” section, and the data to be provided to
the clients needs to be mapped in the “Server Side Map Descriptors” section. Details on how to
do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the
default.
5.1.
Server Side Connection Descriptors
Section Title
Connections
Column Title
Function
Specify which port the device is
connected to the FieldServer
Legal Values
P1-P8, R1-R23
Port
300, 600 , 1200, 2400, 9600
(Vendor limitation)
Baud*
Specify baud rate
None (Vendor limitation)
Parity*
Specify parity
Data_Bits*
8 (Vendor limitation)
Specify data bits
Specify stop bits
Stop_Bits*
Protocol
1 (Vendor limitation)
Specify protocol used
CarrrierDL
None
Handshaking* Specify hardware handshaking
3
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FS-8700-82 Carrier DataLink
Page 14 of 31
Example
// Server Side Connections
Connections
Port, Baud, Parity, Data_bits, Stop_Bits,
Protocol ,
CarrierDL,
Handshaking,
None
Poll_Delay
0.100s
P8, 9600, None , 8
,
1
,
,
5.2.
Section
Server Side Nodes
Title
Nodes
Column
Title
Function
Legal Values
Up to 32
Node_Name Provide name for node
alphanumeric
characters
Modbus station address of physical server node.
These correspond to the ‘devices’ configured in the
DTPConfig. Thus the Node_ID is not the address of
the final CCN device.
Node_ID
1-15
The DataLink DTPConfig table maps a device
number (1...15) to a bus number (0-239). Use the
Node_ID to tell the driver which device to use.
Specify protocol used
Protocol
CarrierDL
Example
// Server Side Nodes
Nodes
Node_Name,
Node_ID,
Protocol ,
CarrierDL,
Port
FAN1
,
1
,
It is common to leave Server nodes
unconnected to a port. This means that the
FieldServer can respond with the node’s
data irrespective of which port the request
is received on.
FS-8700-82 Carrier DataLink
Page 15 of 31
5.3.
Server Side Map Descriptors
5.3.1.
FieldServer Specific Map Descriptor Parameters
Function Legal Values
Up to 32 alphanumeric
Column Title
Map_Descriptor_Name Name of this Map Descriptor
characters
Name of Data Array where
data is to be stored in the
FieldServer
One of the Data Array names
from “Data Array” section
above
Data_Array_Name
0 to maximum specified in
“Data Array” section above
Passive
Data_Array_Location
Function
Starting location in Data Array
Map Descriptor function
5.3.2.
Driver Specific Map Descriptor Parameters
Column Title
Function
Legal Values
One of the node
names specified in
“Server Node
Node_Name
Data_Type
Length
Name of Node to fetch data from
Descriptor” above
This commonly used parameter is not required for this driver.
Length of Map Descriptor. When reading a
compete table, set the length to the maximum
1 – 1000
number of data values to be stored. Refer to
1.1.
Address
This commonly used parameter is not required for this driver.
The name of the table to be polled, e.g.
ASCII characters
DISPLAY. Some system elements have
only. When using
multiple instances of the same table name,
this parameter to
e.g. the Terminal System Manager has 64
specify a primary
Table_Name
Temperature Zone configuration tables
and secondary table,
named TZONE1 though TZONE64. These
leave a single space
tables are accessed by using both the
between the two
primary & secondary table names, e.g.
names.
‘TZCONF TZONE1’
ASCII characters
only. No spaces,
This is the field/table variable pneumonic.
maximum length 10
Field_Name
characters.
Returned when a client does a table read. If
Field_Description
Field_Units
ASCII string which
units have no meaning for the variable then
may contain spaces.
leave this field blank or use a single dash.
If the variable has a discrete state, use this
parameter to define the word that describes
the state when the variable’s value is 1.
OR
NUMERIC
TIME
STRING
DOW
On_String
Use one of the keywords to tell the driver to
Or any other ASCII
send the value of the associated array
string which may not
elements as a number (keyword=NUMERIC), contain spaces.
FS-8700-82 Carrier DataLink
Column Title
Page 16 of 31
Legal Values
Function
as a time value formatted as hh:mm
(keyword=TIME) or as a string of bytes
(keyword=STRING) or as an occupancy
string (keyword=DOW).
When using the string keyword the driver
reads x consecutive array elements and
treats them like ASCII character values in
forming the response. X is defined by the
length parameter.
If the variable has a discrete state, use this
parameter to define the word that describes
the state when the variable’s value is zero. If
you have used one of the above keywords,
simply put a dash in this field.
An ASCII string
which may not
contain spaces.
Off_String
Always set the length to 1 unless you use the
key word ‘STRING’ as the On_String
parameter.
Length
1
5.3.3.
Timing Parameters
Legal
Values
Column Title
Function
Specifies time server side waits before responding
to client that node is offline on FieldServer client
side.
Scada_Hold_Timeout
>1.0s
FS-8700-82 Carrier DataLink
Page 18 of 31
5.4.
Driver Limitations and Exclusions
As a client:
•
The Carrier DataLink driver is not capable of polling for alarm data. (The RA and AV
functions are not implemented).
•
•
The Carrier DataLink driver dos not validate table or variable names.
The Carrier DataLink driver does not support the Read Table command with the /C or /N
options.
•
•
The Carrier DataLink driver records a timeout if the DataLink device does not provide the
‘?’ prompt within the user-configurable timeout period.
Write-thru’s are not supported. The reason for this is that the driver read a composite
data set and the client side Map Descriptors do not contain enough information to format
a write.
As a server:
•
The Carrier DataLink driver is not capable of serving alarm data. (RA and AV polls
produce an error response)
•
•
The driver cannot set a discrete variable’s state unless it is set a value of one or zero.
The driver server does not understand write table or write variable requests where the
requested state is a word like ON or OFF.
•
•
The Carrier DataLink driver does not validate values or states, it simply stores the
values.
All variables are may be read and written without limitation. The driver has not
implemented the Courier notion of Force Levels.
•
•
There is no command buffer. One command can be processed at a time.
The driver responds to all Read Table commands as if the /Y option was used. The
driver does not support the /C or /N options.
•
The Carrier DataLink driver does not support the control character commands CTRL-
C/S/Q
General
•
The Carrier DataLink driver is not capable of configuring the DataLink device. Software
provided by the Carrier Corporation is required to do this. The DataLink device requires
configuration, so that connects to the appropriate CCN devices on the CCN
communications network.
•
•
The driver cannot be configured to act as what the Carrier Corporation identify as an
‘Alarm Acknowledger’.
If the total length of the response from a read table query is more than 3000 bytes long,
the driver will produce an error.
FS-8700-82 Carrier DataLink
Page 19 of 31
Appendix A. Advanced Topics
Appendix A.1. Table Names
The following list of table names is provided as a reference. Carrier may add tables and
new devices may become available.
Equipment Type
Table Name
STATUS01
STATUS02
STATUS03
STATUS04
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
OCCDEFCS
OCCPC03S
COMPRESS
CVC_PSWD
HEAT_EX
Equipment Type
Table Name
OPTIONS
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
ECONOMZR
GENERAL
TSTAT
17/19EX CHILLER:
48/50HG CENTURION
ROOFTOP:
SETPOINT
OccDefcS
OCCPC01S
AIR MANAGER AHU
CONTROLLER:
DISPLAY
SETPOINT
BASESYS
BYPASS
ISM_STAT
MAINSTAT
POWER
POINTS1
CHILLERVISOR:
STARTUP
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
OCCDEFCS
OCCPC03S
A_UNIT
POINTS2
23XL CHILLER:
SETPOINT
OCCDEFCS
OCCPC01S
POINTS
SETPOINT
OCCDEFCS
OCCPC64S
DISPLAY
COMFORTID VAV
TERMINAL CONTROL:
CIRCADIO
CIRCA_AN
OPTIONS
SETPOINT
OccDefcS
COMFORTID FAN
COIL CONTROLLER:
SETPOINT
OCCDEFCS
OCCPC64S
FSMSTAT1
FSMSTAT2
FSMSTPT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
HWP01-32
HWP33-64
SWP65-96
SETPOINT
SETPT01
30GTNHW CHILLER:
OCCPC01S
A_UNIT
FLOTRONIC SYSTEM
MANAGER:
CIRCADIO
CIRCA_AN
CIRCBDIO
(some units)
CIRCB_AN
(some units)
OPTIONS
SETPOINT
BASEUNIT
DXCOOL
30RA AQUASNAP
CHILLER:
50 VPAC:
39N AIR HANDLER:
SETPOINT
SETPT02
ELECHEAT
SETPOINT
FS-8700-82 Carrier DataLink
Page 20 of 31
Equipment Type
Table Name
SETPT03
SETPOINT
SETPT04
SETPOINT
SETPT05
SETPOINT
SETPT06
SETPOINT
SETPT07
SETPOINT
SETPT08
Equipment Type
Table Name
STATUS03
STATUS04
STATUS05
STATUS06
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
STATUS01
STATUS02
STATUS03
STATUS04
STATUS05
STATUS06
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
POINTS
SETPOINT
OCCDEFCS
OCCPC64S
CV_TSTAT
DXCOOL
STATUS01
STATUS02
SETPOINT
OccDefcS
OCCPC01S
CV_TSTAT
STATUS01
SETPOINT
OCCDEFCS
OCCPC64S
BYPSSTAT
SETPOINT
ZONESTAT
SETPOINT
OccDefcS
OCCPC01S
HWP01-32
HWP33-64
SWP65-96
SETPOINT
SETPT01
OCCPCxxC
OCCPC01
COMPRESS
CVC_PSWD
HEAT_EX
ISM_STAT
MAINSTAT
POWER
STARTUP
SETPOINT
OCCDEFCS
OCCPC01S
OCCDEFCS
OCCPC02S
OCCDEFCS
OCCPC03S
A_UNIT
CIRCADIO
CIRCA_AN
CIRCBDIO
CIRCB_AN
OPTIONS
SETPOINT
OccDefcS
OCCPC01S
A_UNIT
CIRCADIO
CIRCA_AN
CIRCBDIO
CIRCB_AN
OPTIONS
SETPOINT
OccDefcS
OCCPC01S
ZONESTAT
SETPOINT
OccDefcS
OCCPC01S
DISPLAY
48/50M SERIES
ROOFTOP:
19XR PIC II CHILLER:
COMFORTID FAN
TERMINAL CONTROL:
CONQUEST
ROOFTOP:
30GTN CHILLER:
PREMIERLINK
ROOFTOP
CONTROLLER:
VVT BYPASS
CONTROLLER:
VVT SLAVE STAT:
30GXNHXA CHILLER:
33CS VVT MONITOR:
COMFORT
CONTROLLER
6400/1600:
OCCPCxxC
OCCPC01
40UV UNIT
VENTILATOR
48/50F SERIES
ROOFTOP:
SETPOINT
STATUS01
STATUS02
FS-8700-82 Carrier DataLink
Page 23 of 31
Appendix A.3. Map Descriptor Length Explained
The Length parameter is specified as part of the Map Descriptor.
Appendix A.3.1.
Client Reads a Table:
The length determines the number of table variables whose values are to be stored
when the response is received. If you do not know the length of the table in advance,
set the length to a large number (e.g. 100). If the table contains more elements than the
number defined in the length parameter, the additional data will be discarded.
Appendix A.3.2.
Client reads a variable:
Response to a variable read takes many forms. The ‘value’ returned can be a number, a
state (like ON), a time or some other string. To store a number or the time set the length
to 1. When a state or string is returned, the driver looks it up in a table of state words. If
it makes a match then it returns the value that has been associated with the state word,
(e.g. ON = 1, OFF = 0). If it cannot make a match, it stores the string byte for byte in the
data array. The number of bytes stored is determined by the length parameter. Thus, if
the length is 1 and the string is ‘INTERRUPTED’ then the driver will store the ‘I’ in the
data array. If the length was two, then the driver would use two consecutive locations
and store ‘I’ and ‘N’.
Appendix A.3.3.
Client writes a variable:
Always set the length to 1
Appendix A.3.4.
Server:
The length parameter is used when the server returns a value that is a string. The
length is used to tell the driver how many characters to extract from consecutive array
location to form the response string. When the server returns a value that is a number,
state or time the length should always be 1.
Appendix A.4. How the Client stores the states/values of the Table Variables.
Appendix A.4.1.
Discrete States
When a Carrier DataLink device reports the state of a table variable which has a discrete
state, it reports the state as a keyword like on/off. This driver has to convert the
keywords to numbers as most other remote devices are interested in the state as a
numeric value of 1 or 0.
The driver is programmed to recognize certain keywords. A list is provided below. The
driver is also capable of allowing the user to add to the table of predefined keywords by
specifying additional information in the configuration file.
State Word
CLEAN
DIRTY
HEAT
COOL
ON
Value
State Word
ALERT
EMSTOP
ENABLE
Service
Value
1
0
1
0
1
2
0
1
0
1
OFF-local
FS-8700-82 Carrier DataLink
Page 24 of 31
State Word
OFF
OPEN
CLOSE
CLOSED
ABNORMAL
NORMAL
ALARM
STOP
Value
State Word
OFF-CCN
OFF-time
Emergency
ON-local
ON-CCN
ON-time
Redline
Value
0
1
0
0
1
0
1
0
1
1
0
2
3
4
5
6
7
1
2
0
0
1
Shed
DSABLE
LOCAL
START
YES
NO
REMOTE
If the driver doesn’t recognize the state word it stores the characters of the state word as
decimal values based on their ASCII value. The number of characters stored is
dependent on the length parameter.
For example, say the driver responds, reporting a variable to be a state ‘INCREDIBLE’.
If the length parameter of the polling map descriptor is 1 then the driver stores a value of
73 (An uppercase ‘I’ is the seventy third character in the ASCII alphabet.). If the length
was 2 then the driver would also store the value 78 in the next array. The driver will store
a maximum of 100 characters. The driver recognizes discrete state words by checking
the 1st character of the value field. If it is a non-digit then it is regarded as a state word.
Appendix A.4.2.
Extending the List of Discrete State Words
You can extend the list of state words the driver recognizes by modifying the
configuration file.
The following example adds three state words. If a device reports the state of the
variable as LIGHT then the driver will store the value of 1, if on the other hand the
state is reported as DARK then the driver will store the value zero.
State Words. The
name will be
stripped of all
spaces between
the last character
and the comma.
Normally the values
Keyword
starts a new
section of
the CSV file.
will be 1 or zero for
the on/off states but
the driver does not
restrict the value.
Protocol must be
defined on every
line.
Driver_Table
Carrier_Attr_State_Name,
Carrier_Attr_State_Value,
Protocol
LIGHT
DARK
,
,
1
0
,
,
CarrierDL
CarrierDL
You can use this method to change the values of any of the driver’s default state words
by duplicating the word and specifying a new value in the configuration file.
FS-8700-82 Carrier DataLink
Appendix A.4.3.
Page 25 of 31
Time Values
If the driver receives a variable value reported in the format hh:mm then the driver stores
a number obtained by multiplying the hours by 60 and adding the minutes. The driver
recognizes a time value by checking the 3rd character for a colon and checking that the
1st character is a digit.
Value_Stored = hh * 60 + mm
Eg. 5:30pm is reported as 17:20 and is stored as 17*60 + 20 = 1040.
Appendix A.4.4.
Numeric Values
The driver recognizes numeric values by checking the first character of the value field. If
it is a digit then the field is treated as a number.
Appendix A.4.5.
Occupancy Strings / Values
If the value returned for a variable is 8 characters long and each of the characters is a
one or a zero then the driver regards this as an occupancy string and converts it to a
binary coded decimal value and stores this value.
Eg: 00101010 = 42 decimal
Appendix A.5. Timing Considerations
Reading a whole table can take several seconds depending on the table length. In addition
the response from the Carrier device can have small pauses after each line of response.
Thus, if you use the default timeout and IC_Timeout settings the communications may fail
when either one of the pauses exceeds the IC_Timeout setting or when the whole response
hasn’t been received by the time the timeout setting has elapsed.
For this reason it is recommended that the timeout be set to a value between 15 and 30
seconds and the IC_Timeout be set to a value between 7 and 15 seconds. Before setting
either of these to the maximum consider that the in the event of a real communications
failure, this set amount of time must elapse before the driver recognizes the timeout and
reports the node offline. Thus, it is best to start with a smaller value and increase it until
reliable communications have been achieved with the timeout settings.
The timeout can be set for the Map Descriptor, the node or the connection. This is more
fully explained in the FieldServer Configuration Manual. In summary, if you wish to apply a
single timeout to all messages to a device then set the timeout for the connection. If you
wish to override the connection timeout settings for a particular node the set the timeout for
that node too and if you wish to override the settings for a particular Map Descriptor then set
the timeout for that Map Descriptor.
The example below illustrates how to set the timeout parameters at the connection level.
// Client Side Connections
Connections
Port, Baud, Parity, Data_bits, Stop_Bits, Protocol ,
Handshaking, Poll_Delay, Timeou,t, IC_Timeout
0.100s 30.0s , 15.0s
P8, 9600, None, CarrierDL, None
8
,
1
,
,
,
FS-8700-82 Carrier DataLink
Page 26 of 31
Appendix B. Carrier DataLink Device Error Response
The following notes are provided from the protocol specification.
Message
Explanation
Action
Check the spelling of the
command and verify that it
contains the required
parameters.
#1 Invalid
Command
The last command sent to the DataLink
device is not recognized.
Check the spelling of the table
name(s). If using a WV or RV
command; verify that the table
contains the specified
variables.
#2 Invalid or Non-
Existent Table
The specified table does not exist in the
specified element.
A Communication error has occurred
due to other activity on the CCN
communication bus, a system element
failure, or an incorrect address. The
command will not be executed.
#3 Level II
Communications
Error
Verify the COMM2 connector
is not disconnected and retype
the command.
Verify that the correct bus and
The specified system element’s bus and element number have been
#6 Device Not
Configured
entered in the DTP-CONFG
table corresponding to the
device number.
the element number were not found in
the DTP-CONFG table.
Check the spelling of the
variable name and verify that
the CCN variable exists in the
specified system element.
Verify the format of the data.
#7 Variable Does
Not Exist
The variable does not exist in the
specified table.
#8 Invalid Data
The data was in an incorrect format.
An attempt was made to read or write to
a table or variable type that is not
supported by the DataLink device.
The value that was typed is outside the
#9 Access
Restricted
Check variable.
#10 Limits
Exceeded
Verify the limits and adjust the
specified variable’s upper or lower limits force value.
Reissue the command at later
time or adjust the alarm
priority level.
#11 Alarms Not
Available
There are no alarms currently in the
alarm buffer.
The CCN system element does not
allow write access to the specified
variable.
#12 Cannot Force
Variable
Choose different variable.
Check the spelling of the point
(variable) name and verify that
the point name exists in the
specified system element.
Retype the command after
checking the force priority and
after verifying that the correct
bus and element number is
The 8-character point (variable) name
used in the RT or WT command does
not exist.
#13 Parameter Not
Found
The command was accepted but not
understood by the specified system
element, an attempt was made to write
to or read a variable with a higher force
#14 Level II
Communications
NACK
level, or an attempt was made to write or entered in the DTP-CONFG
read from a UT203 controller. table.
FS-8700-82 Carrier DataLink
Page 27 of 31
Appendix C. Driver Notes
Appendix C.1. Driver Stats
The driver reports statistics according to the FieldServer standards. The following notes
describe some aspects of standard statistic reporting which are peculiar to this driver.
All errors responses from the Carrier DataLink device are recorded as a PROCOL ERROR,
In addition to the standard FieldServer communication statistics described above and in the
FieldServer User’s Manual, this driver can also expose some driver statistics by writing data
to a data array. A special Map Descriptor is required. The driver recognizes the Map
Descriptor by its name which must be "Carrier-stats”.
The following example shows how this special Map Descriptor can be configured. You can
copy this section of text directly into your CSV file.
Nodes
Node_Name ,
Carr_stats ,
Station ,
Protocol
CarrierDL
1
,
Data_Arrays
Data_Array_Name ,
DA_CARRIER_STATS ,
Data_Format,
Data_Array_Length
2000
UINT32
,
Map_Descriptors
Map_Descriptor_Name,
Carrier-Stats,
Data_Array_Name ,
DA_CARRIER_STATS 0,
Data_Array_Offset
Function Node_Name ,
Length
500
passive,
Carr_stats,
When the driver sees this Map Descriptor it uses the data array DA_CARRIER_STATS (in this
example) to store driver specific statistics. Only one of these Map Descriptors may be
specified per FieldServer.
The driver stores the following data. The location in the data array is obtained by
multiplying the port number by 50 and then using the location offset indicated in the table
below.
FS-8700-82 Carrier DataLink
OFFSET
Page 28 of 31
DESCRIPTION
0
1
2
3
4
5
6
Number of Read Table messages sent
Number of Read Variable messages sent
Number of Write Table messages sent
Number of Write Var Messages sent
Number of bytes sent by client driver
Number of messages sent by client
Number of response messages received by client
Number of times client tries write with alternate format because original
method failed
7
9
Most recent response error
8
Number of times client receives an error response
Carrier Error: #1 Invalid Command"
Carrier Error: #2 Invalid or Non-Existent Table"
Carrier Error: #3 Level II communications Error"
Carrier Error: #4 Error not defined"
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Carrier Error: #5 Error not defined"
Carrier Error: #6 Device Not Configured"
Carrier Error: #7 Variable Does not Exist"
Carrier Error: #8 Invalid Data"
Carrier Error: #9 Access Restricted"
Carrier Error: #10 Limits Exceeded"
Carrier Error: #11 Alarms not Available"
Carrier Error: #12 Cannot Force Variable"
Carrier Error: #13 Parameter Not Found"
Carrier Error: #14 Level II Communications NACK"
Some other error
Number of response bytes received by client
26
Number of times client has timeout out waiting for (response) prompt
When set then the server sends response whose var names have leading
spaces. This is used for QAA testing and diagnostic purposes only.
Customers should never set this value.
27
28
29
30
31
Number of times client cannot parse / recognize the value sting in a response
Number of times the server had to store a time greater than 24:00
Number of times the client sent a message with a time greater than 24:00
Number of times the client sent a message to a probable occupancy table
without the correct data types
FS-8700-82 Carrier DataLink
Page 29 of 31
Appendix D. Driver Error Messages
The driver reports information and errors in the form of messages printed to the error log. Those
messages marked with a * are only printed once even if they occur repeatedly.
Error Message
Explanation
Carrier:#1 FYI. The
The length of the Map Descriptor used to expose driver
MapDesc called <%s> is too statistics is too short. Set to at least 1000. This message may
short
be ignored§.
Carrier:#2 FYI. You could
have used a MapDesc called This message is a prompt and may be ignored. Read
<%s> to expose diagnostic
info.
Appendix C.1 for more information.
Carrier:#3 Err. Illegal
Node_ID=%d Valid=1..15
Carrier:#4 FYI. Address has
no meaning. Best set to 1
MapDesc=<%s>
Valid node numbers are in the range 1 to 15 inclusive. Read
sections 4.3 or 5.3 for more information. §
You can ignore this message. The address parameter has no
meaning in the configuration of this driver. Remove the
parameter from the configuration or set its value to 1§
Carrier:#5 Err. For write, set
length to 1. MapDesc=<%s>
Carrier:#6 FYI. Field Name
Blank. Assumed
'EVERYTHING'.
MapDesc=<%s>
If the Field_Name parameter is left unspecified then the driver
assumes you intend reading the whole table by filling in the
Field_Name with the keyword EVERYTHING. Suppress this
message by specifying the Field_Name .§
Every Map Descriptor for this driver requires that you specify a
table name. Section 4.4.2 and Appendix A.1 provide additional
information. §
Carrier:#7 Err. Table name
required. MapDesc=<%s>
Carrier:#8 Err. Length
required. MapDesc=<%s>
The length parameter must be set in the configuration file to a
value greater than zero. Refer to Appendix A.3.§
You have specified a discrete state word in the configuration
file which is a duplicate of one already in the list. The driver
uses the new value, thus changing the values for the driver’s
default discrete state words. You can ignore this message.
The driver has limited space to store discrete state keywords
added in the configuration file. The maximum is 150 words
including the driver’s defaults. Remove some of the keywords
you have added to the configuration file. §
Carr:#9 FYI. Duplicate
state=<%s>. Value has been
updated from=%d to=%d
Carr:#10 Err. No space.
Driver rejects value
state=<%s> value=%d
You can ignore this message; it is for information only. Each
time a new discrete state word is added to the driver from the
configuration file, the driver reports the new word and its value.
The read table command resulted in more variables being
returned than you have reserved space for (with the length
parameter). Increase the length parameter§.
Carr:#11 FYI. User added
value state=<%s> value=%d
Carr:#12 Err. Length too
short to store all. MD=<%s>
Carrier:#13 FYI. Diagnostic
send error #1 response.
Carrier:#14 FYI. Diagnostic
cancelled slave response
These messages are for FieldServer engineers. If printed in
the error log please call FieldServer support and report the
message.
§ Correct the error by editing the configuration CSV file, downloading the corrected file to the FieldServer
and then resetting the FieldServer.
FS-8700-82 Carrier DataLink
Page 30 of 31
Error Message
Explanation
Carrier:#15 Err. Alarm
commands not supported.
Carrier:#16 Err. Alarm
commands not supported.
The server does not support alarm functions. Polls beginning
AV or RA produce these errors. Re-configure your client not to
request this information. §
On the line immediately following this error the driver reports
the response that generated the error. The driver will store a
value that is the ASCII code for the first character of the
unrecognized word. Add a new discrete state word to the .CSV
file as described in Appendix A.4. §
Carr:#17 Err. MD=<%s>
discrete state word not
recognized.
This message may be ignored if your communications are
operating reliably. Read Appendix A.5 for additional information
on timing considerations. The message is printed when the
driver detects that the configuration requires that a whole table
be read and the timeout value is set below the recommended
minimum of 15s for this operation.
CarrDL:#18 FYI. Timeout
probably too short. Read
Manual.
This error message should only be produced by FST’s QA
testing procedure. If you see this error, call Tech Support after
taking a log. Instructions for taking a log may be found in the
Trouble Shooting Guide.
CarrDL:#19 Err. Diagnostic.
Call Support.
The message is printed once and suppressed for subsequent
occurrences. The message is printed when writing a time to a
Carrier Device which is invalid as it is greater than 23:59.
Check the value in the Data Array being used for the write. It’s
possible an upstream device sent an invalid value. The driver
sends the message with the invalid time and it’s up to the
Carrier device to reject the setting.
CarrDL:#20* FYI. Invalid
Time(%02d:%02d) being
written. MD=%s
The message is printed once and suppressed for subsequent
occurrences. The message is printed when the Server is
required to store an invalid time (>23.59). Check the value in
the Data Array being used for the write. The data is stored
despite the warning.
CarrDL:#21* FYI. Invalid
Time(%02d:%02d) being
stored. MD=%s
These errors occur when communications are operating
correctly but the CarrDL device cannot respond to the poll.
The reason error is reported in the driver stats (See Appendix
C.1) Stat #9, reports the error number of the most recent error
reported. The message is printed once and then suppressed.
These errors are most commonly produced when a table
name/ variable name does not exist or is mis-spelled
DOW and times require that the Data_Type be specified when
writing to enable the Driver to convert the value extracted from
the Data Array for formatting in the write message. This error
is printed if the table name or the field name contain the sub-
string “OCC”, the function is a write, and a Data_Type has not
been specified. In most cases the write will be rejected by the
Carrier device or the value may not be what you expect. Refer
to Section 4.4.7 for more information.
CarrDL:#23* Err. CarrDL
device reported errors.
Check exposed stats 8-23.
CarrDL:#22* FYI. Read
notes for #22 in Manual.
MD=%s
§ Correct the error by editing the configuration CSV file, downloading the corrected file to the FieldServer
and then resetting the FieldServer.
FS-8700-82 Carrier DataLink
Page 31 of 31
THIS PAGE INTENTIONALLY LEFT BLANK
|