Schneider Electric 762C/743CB Serial Communications Instruction Sheet | Manualzz
Instruction
MI 018-888
November 2017
762C/743CB Serial Communications
Guide
®
MI 018-888 – November 2017
2
Contents
Figures ........................................................................................................................................... 5
Tables ............................................................................................................................................ 7
Important Information .................................................................................................................. 9
Please Note .................................................................................................................................9
Preface ......................................................................................................................................... 11
Safety Considerations ................................................................................................................11
Organization .............................................................................................................................11
Intended Audience ....................................................................................................................11
1. Overview of Operation ............................................................................................................ 13
Introduction..............................................................................................................................13
Computer Details......................................................................................................................13
Communication Commands.....................................................................................................14
Multi-Controller Operation ......................................................................................................15
2. Hardware Considerations ........................................................................................................ 17
Communication Interface .........................................................................................................17
Signal Conversion .....................................................................................................................18
Testing Host Message ................................................................................................................19
3. Message Requirements............................................................................................................. 21
Elements of a Message...............................................................................................................21
Accuracy of Message Transmission.............................................................................................22
Details of Messages....................................................................................................................23
4. Function 1 POLL Message Details .......................................................................................... 25
5. Function 1 SET Message Details ............................................................................................. 29
6. UPLOAD Message Details ...................................................................................................... 35
7. DOWNLOAD Message Details............................................................................................... 37
8. Extended POLL Message Details............................................................................................. 39
3
MI 018-888 – November 2017
Contents
9. READ Message Details............................................................................................................ 41
10. WRITE Message Details ....................................................................................................... 43
11. Function 2 POLL Message Details ........................................................................................ 45
12. Function 2 SET Message Details ........................................................................................... 49
13. Error Detection In Messages ................................................................................................. 55
Appendix A. READ/WRITE Command Parameters ................................................................... 57
Appendix B. Controller Data Structure ....................................................................................... 67
Controller Data Structure .........................................................................................................67
Appendix C. Cyclic Redundancy Check ...................................................................................... 91
Polynomial Method...................................................................................................................91
Lookup Table Method...............................................................................................................93
4
Figures
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Elements of a Typical Message Exchange .............................................................................22
Elements of a Typical Function 1 POLL Message ................................................................26
Data Portion of Function 1 POLL Message Response .........................................................27
ALARM Byte in Data Field of Function 1 POLL Message Response...................................28
Elements of a Typical SET Message (Part 1) ........................................................................30
Elements of a Typical SET Message (Part 2) ........................................................................31
Data Portion of Function 1 SET Message Response ............................................................32
ALARM Byte in Data Field of Function 1 SET Message Response......................................33
Elements of UPLOAD Message and Response ....................................................................35
Elements of DOWNLOAD Message and Response ............................................................38
Elements of Extended POLL Message and Response ...........................................................39
Elements of READ Message and Response..........................................................................42
Elements of WRITE Message and Response........................................................................44
Elements of a Typical Function 2 POLL Message ................................................................45
Data Portion of Function 2 POLL Message Response .........................................................46
ALARM Byte In Data Field of Function 2 POLL Message Response ..................................47
Elements of a Typical Function 2 SET Message (Part 1) ......................................................50
Elements of a Typical Function 2 SET Message (Part 2) ......................................................51
Data Portion of Function 2 SET Message Response ............................................................52
ALARM Byte in Data Field of Function 2 SET Message Response......................................53
5
MI 018-888 – November 2017
6
Figures
Tables
1
2
3
4
5
6
7
8
Communication Commands...............................................................................................14
Host/Converter Connections ..............................................................................................17
Error Codes.........................................................................................................................55
READ/WRITE Parameters .................................................................................................58
Gate Input List....................................................................................................................68
Signal Distribution List .......................................................................................................69
Configuration Descriptions.................................................................................................71
CRC Lookup Table .............................................................................................................94
7
MI 018-888 – November 2017
8
Tables
Important Information
Read these instructions carefully and look at the equipment to become familiar with the device
before trying to install, operate, service, or maintain it. The following special messages may
appear throughout this manual or on the equipment to warn of potential hazards or to call
attention to information that clarifies or simplifies a procedure.
The addition of either symbol to a “Danger” or “Warning” safety label
indicates that an electrical hazard exists which will result in personal injury
if the instructions are not followed.
This is the safety alert symbol. It is used to alert you to potential personal injury
hazards. Obey all safety messages that follow this symbol to avoid possible injury or
death.
DANGER
DANGER indicates a hazardous situation which, if not avoided, will result in death or serious
injury.
!
WARNING
WARNING indicates a hazardous situation which, if not avoided, could result in death or
serious injury.
!
CAUTION
CAUTION indicates a hazardous situation which, if not avoided, could result in minor or
moderate injury.
!
NOTICE
NOTICE is used to address practices not related to physical injury.
Please Note
Electrical equipment should be installed, operated, and maintained only by qualified personnel.
No responsibility is assumed by Schneider Electric for any consequences arising out of the use of
this material.
A qualified person is one who has skills and knowledge related to the construction, installation,
and operation of electrical equipment and has received safety training to recognize and avoid the
hazards involved.
9
MI 018-888 – November 2017
10
Important Information
Preface
Safety Considerations
All products are designed and manufactured to minimize the risk of damage and injury to
property and personnel. They meet or exceed applicable governmental and industry safety design
standards. However, their safe use depends on proper installation, operation, and maintenance by
you, the user. The communications function in the controllers is a powerful one. Do not perform
host software testing with a controller connected in an active process loop.
Organization
This manual is designed to present in a single document all information about the serial
communications protocol for the 762C/743CB Controllers needed by programmers and software
engineers. This manual is for use in conjunction with Instruction Book 3473 (MI 018-900) for
the 743CB FIELD STATION MICRO Controller, Instruction Book 3472 (MI 018-885) for the
762C SINGLE STATION MICRO Controller, and Instruction Book 3476 (MI 018-889) for
the 762CSA SINGLE STATION MICRO Controller Shelf Mounted. Refer to these manuals for
serial communications wiring, operating, and configuration details.
Intended Audience
This manual is intended for the following types of readers:
 Programmers/Software Engineers
11
MI 018-888 – November 2017
12
Preface
1. Overview of Operation
Introduction
This instruction describes the techniques that can be used to direct and monitor the operation of
762C SINGLE STATION MICRO and 743CB FIELD STATION MICRO controllers via a
host computer. Implementation of the functions described requires a detailed knowledge of
computer programming and communications.
Communication with these controllers can be either by the operator using the controller keypad
[panel (P) operation] or by messages sent between a computer and the controller [workstation
(W) operation]. The computer messages can be originated either manually by an operator or
automatically by the user's computer program. The action of the controller is not affected by the
source of communication.
When using a host computer, the controller is always standing by to receive a message, unless it is
responding to a message from the computer. Only the computer can originate communication.
Every computer message is acknowledged by the addressed controller with one of the following
types of messages:
 The message received contained an error (and thus cannot be acted on).
 The requested change has either been implemented, or will be as soon as possible.
Included is a listing of the values or status of the concerned variables at the time the
response was sent.
 The requested data is transmitted. The values or status are as of the time that the
response was sent.
Computer Details
The communication between the computer and the controller is over 2-conductor half-duplex,
serial multidrop links with optional earth (ground) connections. Each link supports up to 30
controllers. The computer must have an EIA RS-485 port or an equivalent accessory supplied or
recommended. This accessory performs the electrical conversion required to enable a commonly
available RS-232 communications link to interface with the controller. The messages must
conform to ANSI specifications X3.28-1976, Subcategory E3. Transmission error detection
procedures utilize a CRC-16 error detection code. The BAUD rate, parity, and stop bits setting of
the computer must match the values that were configured into the controller.
The computer and its software are supplied by the user. The data contained in this instruction
permit the user to write his own program to enable the computer to communicate with the
controller in the most effective manner.
13
MI 018-888 – November 2017
1. Overview of Operation
Communication Commands
The following nine computer communication commands (which follow the data organization
structure of the controller) are used. In addition, as specified in the applicable sections in this
instruction, there are subset commands for each command listed below.
Table 1. Communication Commands
Function 1 POLL
[0B HEX] (a)
To obtain the current values for the set point, measurement, and output, plus additional
controller 1 status and alarm information. There is also a signal indicating if the device
passcode was entered since the last message (which, if positive, could alert the computer
that the configuration may have been changed).
A two-character command within the message can call for this group of data. The function
can be POLLed as often as required.
Function 1 SET
[0C HEX]
To change one or more of the following in controller 1:
The value of the Function 1 set point or output, if so configured, incrementally or
absolutely.
The Function 1 status of R/L (ratio-local or remote-local), or A/M (auto-manual) mode of
operation.
To acknowledge the presence of alarm conditions.
READ
[0F HEX]
To have the controller supply the computer with the value or status of one or more control
parameters or process conditions, indexed by pre-assigned parameter numbers.
Parameters accessible via the READ command are listed in Appendix A.
WRITE
[10 HEX]
To have the computer update the configuration or control parameters used by the controller,
indexed by pre-assigned parameter numbers. Parameters accessible via the WRITE
command are listed in Appendix A.
UPLOAD
[0E HEX]
To have the controller supply the computer with the value or status of one or more desired
control parameters or process conditions, indexed by their location within the memory of the
controller. Accessible memory locations are shown in Appendix B.
DOWNLOAD
[0D HEX]
To have the computer update the configuration or control parameters used by the controller,
indexed by their location within the memory of the controller. Accessible memory locations
are shown in Appendix B.
Extended POLL
[11 HEX]
To obtain the current values of the conditioned analog and frequency inputs, contact
outputs, and analog outputs.
Function 2 POLL
[12 HEX]
To obtain POLL information (as described for Function 1) that applies to Function 2.
Function 2 SET
[13 HEX]
To change values and status of Function 2 as described above for the Function 1 SET
command.
a. If Function 1 is a 3 bar indicator, the
14
POLL command will return the values displayed on bars 1, 2, and 3.
1. Overview of Operation
MI 018-888 – November 2017
Multi-Controller Operation
The host can communicate with up to 30 controllers via each RS-485 port or equivalent
accessory. Each controller is assigned a unique address. See the Configuration chapter of MI
018-885 (Model 762C), MI 018-900 (Model 743CB), or MI 018-889 (Model 762CSA). Since
one of the required elements in any message is the address of the associated controller, the
computer can direct its message to a specific controller, and the computer can identify the
responding controller.
By substituting the global address character (HEX “FF”), the computer can communicate with
all the controllers simultaneously. With this simultaneous communication, every controller in the
network will comply with the request, including any M/743CA, M/760C, and M/761C units
which are connected; however, no reply message will be sent to the computer. Thus, requests for
values would not be sent with a global address.
15
MI 018-888 – November 2017
16
1. Overview of Operation
2. Hardware Considerations
Communication Interface
Host computers, including personal computers, equipped with EIA RS-485 ports or equivalent
accessories can be connected directly to up to 30 controllers per port in a serial multidrop link
fashion. Refer to the manufacturer's instructions for wiring details.
Other computers require an RS-232/RS-485 converter. The converter features a 14-point
terminal block on the RS-485 side that will accommodate three serial multidrop links for
connecting up to a total of 90 controllers. The terminal block is divided into 3 groups of 4
terminals for a total of 12 available terminals. Terminal 14 provides an optional ground
connection, and terminal 13 is the RTS signal which is described in the Signal Conversion
section.
Each group has a pair of (+) terminals and a pair of (–) terminals. In the first group, for example,
terminals 1 and 3 are (+) and terminals 2 and 4 are (–). Terminals 1 and 3 are electrically the same
point, and terminals 2 and 4 are electrically the same point. However, the function of terminals 1
through 4 is to address controllers 1 through 30 only. One or both pairs of terminals may be
utilized for this function at the user's discretion.
Each pair of terminals forms a half-duplex data transmission link that uses a differential mode of
communication. That is, the presence of a “0” or a “1” on the transmission lines is indicated by
the difference between the voltages on the (+) and (–) leads. The controller and the converter
indicate a “1” by asserting the (+) lead positive with respect to the (–) lead. A “0” is indicated by
reversing the polarity.
If the converter is used, a cable must be prepared that will connect the RS-232 connector on the
host to the 25-pin connector on the RS-232 side of the converter. Most host computers will
require a 25-pin connector. The pinout listed below shows all of the pins that may be used by the
host; many applications will require only some of the lines. But all lines are recommended in
order to guarantee success.
Table 2. Host/Converter Connections
RS-232C
Signal Name
Pinout for 25- Pinout for 9Pin RS232
Pin RS232
Port
Port
Converter
Connector
Pin
Protective Ground
1
-
1
Transmitted Data (Computer to Controller)
2
3
2
Received Data (Controller to Computer)
3
2
3
Request to Send (RTS) (Computer-Controlled)
4
7
4
Clear to Send (CTS)
(Converter to Computer)
5
8
5
Data Set Ready (DSR)
(Computer to Converter)
6
6
6
Signal Ground
7
5
7
Received Line Signal Detect (LSD)
(Carrier Detect; Converter to Computer)
8
1
8
17
MI 018-888 – November 2017
2. Hardware Considerations
Table 2. Host/Converter Connections (Continued)
RS-232C
Signal Name
Data Terminal Ready (DTR)
(Computer-Controlled; Converter to Computer)
Pinout for 25- Pinout for 9Pin RS232
Pin RS232
Port
Port
20
22
Converter
Connector
Pin
20
Refer to MI 018-885 (Model 762C) or MI 018-900 (Model 743CB) for further wiring details.
Signal Conversion
If the computer is equipped with an EIA RS-485 port or equivalent accessory, no further
consideration need be given to the RS-232C signals.
If an RS-232/RS-485 converter is utilized, the following discussion applies.
The converter performs electrical conversion between the RS-232C signal levels on the computer
side and the RS-485 signal levels on the controller side. The RS-232 side of the communications
channel can support transmission in both directions simultaneously. The RS-485 side is capable
of supporting data transmission in only one direction at a given time. That is, if the controller is
driving the lines, then the converter cannot, and vice-versa.
The second function performed by the converter, therefore, is to determine the direction in which
data flows on the RS-485 side. This function is performed by the RS-232C RTS signal (Pin 4 in
the converter connector).
When the computer asserts the RTS signal, the converter enables its driver circuit; when the
computer removes the RTS signal, the converter disables its driver, allowing the controller to
transmit data over the communications channel. It is essential that the RTS signal is asserted prior
to the transmission of data to the controller and that it is removed immediately at the end of the
transmission. This is because the controller will respond to a computer message very quickly, and
if the RTS signal is still active, the response is blocked at the converter. If this occurs, the
computer will receive a garbled response or no response at all from the controller.
The converter provides an isolated RTS signal that appears on the RS-485 side of the interface at
terminal 13. This signal is fed through from the RS-232 side where it originates at the host
computer. The isolated RTS signal can be used to control additional isolator or repeater units at
locations further down the communications link.
18
2. Hardware Considerations
MI 018-888 – November 2017
Testing Host Message
To determine if the controller has received a computer message, perform the following steps:
1. Configure the controller W/P TIMEOUT parameter to a small value such as 0.1 min.
(6 seconds). Ensure that W/P FLUNK is configured to “W.”
2. Set the controller to the W mode and observe that the W in the graphics display
begins to flash after 6 seconds.
3. Attempt to transmit a computer message to the controller. If the controller received a
message that specifies its Unit Address (or the Global Address) the W will stop
flashing for 6 seconds. This will occur even if the message contained an error such as a
cyclic redundancy check (CRC) error.
19
MI 018-888 – November 2017
20
2. Hardware Considerations
3. Message Requirements
Elements of a Message
Every message between the computer and controller must conform to the structure defined in
Figure 1. The “data” field is only included in certain types of messages as defined later.
Each element in a message, with the exception of the “data” element, is one character in binary
form. The “data” element, which is the body of the message, may contain one or more characters
in binary form. Each character consists of a start bit, 8 data bits, an optional parity bit, and one
stop bit. For convenience, these elements are shown as hexadecimal numbers in the body of this
instruction.
In this instruction, the name of each message element shown in upper-case letters represents a
standard ASCII communication code character; the name of each element shown in lower-case
letters (except “data” and “CRC”) represents a character whose meaning depends on its location in
the message and the context of the message.
The upper-case characters (DLE and STX, the start-of-message sequence; and DLE and ETX, the
end-of-message sequence) are required with all messages.
The address character (“addr” in Figure 1) contains the unit address of the controller that is being
communicated with. The command code (“cmd” in Figure 1) indicates the type of command
being sent to the controller as specified in the following sections. The response code (“rsp” in
Figure 1) indicates the success or failure of the previous message from the host computer. The
“rsp” codes and the “CRC” characters are described in further detail throughout the remainder of
this document.
21
MI 018-888 – November 2017
3. Message Requirements
Figure 1. Elements of a Typical Message Exchange
ASCII “DATA LINK ESCAPE”
character (10 HEX)
Standard
ASCII
Communication
code characters
ASCII “DATA LINE
ESCAPE” character
(10 HEX)
ASCII “START OF TEXT”
character (02 HEX)
ASCII “END OF
TEXT” character
(03 HEX)
Request
Message DLE STX addr cmd ..data.. DLE
from
Computer
Purpose of
Message
These characters vary with
content of
message.
To
Body of
Address
Message
of
Controller
Error/Status
of Message
DLE STX addr rsp
..data.. DLE
Computer
ETX CRC CRC
To
Controller
Integrity of
Message Check
ETX CRC CRC
Reply
Message
from
Controller
Accuracy of Message Transmission
At the end of every message there are two characters which very accurately protect the remaining
part of the message. These characters are the “CRC” elements (cyclic redundancy check) in the
typical messages in Figure 1. The recipient of the message verifies that these last two characters
agree with the values that would be expected based upon the rest of the message; and in this way
the integrity of the transmission can be determined. The procedure for generating and checking
the “CRC” characters is given in Appendix C.
If the controller receives a message, it then informs the computer that the message integrity either
can or cannot be verified. This error/status signal is the “rsp” (response) element in the typical
controller message in Figure 1.
If there is an error, the “data” element will not be included in the response message. The user's
computer program determines the next step when a transmission error (from either the computer
or controller) is found.
22
3. Message Requirements
MI 018-888 – November 2017
NOTICE
Should the meaning of the message require the ASCII character DLE (which is 10 hexadecimal)
in addition to its use as part of both the start-of-message and end-of-message sequences, the
character must be transmitted as two separate DLE characters to alert the recipient that the
message is not ending. This duplication of the DLE character must occur each time it is used in
this manner.
Details of Messages
Details for each class of message are contained in the applicable section in this instruction. In
addition, Appendix A and Appendix B contain details on the controller data structure, and
Appendix C contains details on the generation of the two transmission verification characters at
the end of every message.
23
MI 018-888 – November 2017
24
3. Message Requirements
4. Function 1 POLL Message Details
The message elements contained in typical POLL messages are shown in Figure 2 through
Figure 4.
The Function 1 POLL command message is sent by the computer to acquire a predefined set of
parameter values and status information. Function 1 can be configured as a controller, an A/M
station, or a 3-bar indicator. The message requests the addressed controller to gather this set of
process information and transmit it to the computer in the response message. The command code
(“cmd” in Figure 1) for a Function 1 POLL message is 0B HEX.
If the POLL message is received without communications errors, the controller sends a response
message containing an affirmative acknowledgment code (00) in the “rsp” position, followed by
the set of process information. If a communications error occurred during transmission, a
response will contain a negative acknowledgment code indicating the error. In this latter case, the
user's program will determine the next step.
The status information returned by the controller will contain the current pertinent data at the
time that the response is sent. It is the responsibility of the computer to consider the fact that this
data may change due to further processing by the controller.
The first element in the “data” portion of the response message is the flag byte (see Figure 3). Bit 0
in the flag byte, the “User Interface Entered” indicator, is set to “1” if the controller
security passcode has been entered (with the controller in the SET mode). This “1” status bit
alerts the computer that the controller configuration may have been changed at the controller
keypad, since the last host acknowledgement.
The computer clears the “User Interface Entered” status bit by entering a “1” in the
“User Interface Acknowledgment” bit in a follow-up SET message (see SET Message
Details).
The set point, measurement, and output values are transmitted by the controller and expressed as
“percent of scale” (the internal format used by the controller). Specifically, the values are
16-bit signed integers with a multiplier of 40. The conversion to engineering units (the values
shown on the controller faceplate) must be performed by the computer. Additional details are
contained in Appendix B.
If Function 1 is a 3-Bar Indicator, the POLL command will return the values displayed on BAR 1,
2, and 3, respectively.
25
MI 018-888 – November 2017
4. Function 1 POLL Message Details
Figure 2. Elements of a Typical Function 1 POLL Message
POLL COMMAND from computer to controller:
DLE
STX
cntlr
addr
0B
DLE
ETX
CRC
CRC
Poll Command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
CRC
Possible error code (HEX):
01 Transmission Error (CRC, Framing,
or Overrun error occurred)
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
ETX
Acknowledgment code
(no error, data follows)
26
CRC
CRC
4. Function 1 POLL Message Details
MI 018-888 – November 2017
Figure 3. Data Portion of Function 1 POLL Message Response
The DATA FIELD contains seven or eight bytes as defined below:
flag
byte
set point value
(Bar 1)
high
low
byte
byte
measurement
value (Bar 2)
high
low
byte
byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
output
value (Bar 3)
low
high
byte
byte
alarm
byte
CONTROLLER 1 (CTLR)
A/M
STN 1
3-BAR
IND 1
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
Same
as
CTLR
Same
as
CTLR
FUNCTION 1 A/M SETTING (0 = MANUAL,
1 = AUTO)
Same
as
CTLR
W/P SETTING (0 = PANEL,
1 = WORKSTATION)
PRIMARY R/L SETTING (0 = LOCAL
1 = REMOTE)
CONTROLLER OUTPUT LIMITED HIGH
(1=TRUE)
CONTROLLER OUTPUT LIMITED LOW
(1=TRUE)
CTLR BYPASS STATE (0 = BYPASS NOT
ACTIVE 1 = BYPASS ACTIVE
ALARM INDICATOR (0 = NO ALARM,
1 = ALARM BYTE1 = ALARM BYTE
FOLLOWS)
"
"
0
Same
as
CTLR
0
(R)
(R)
(R)
(R)
(R)
(R)
Same
as
CTLR
Same
as
CTLR
(R) =
Reserved
27
MI 018-888 – November 2017
4. Function 1 POLL Message Details
The ALARM byte will be transmitted by the controller if the ALARM INDICATOR bit is equal to
one. The format of the ALARM byte is given below:
Figure 4. ALARM Byte in Data Field of Function 1 POLL Message Response
28
BIT #0
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
BIT #1
0 = No ALARM 4 exists
1 = ALARM 4 exists
BIT #2
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
BIT #3
0 = No ALARM 3 exists
1 = ALARM 3 exists
BIT #4
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
BIT #5
0 = No ALARM 2 exists
1 = ALARM 2 exists
BIT #6
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
BIT #7
0 = No ALARM 1 exists
1 = ALARM 1 exists
5. Function 1 SET Message Details
The message elements contained in typical SET messages are shown in Figure 5 through Figure 8.
The SET command message is sent by the computer to provide the controller with the updated
values and status for five specific parameters. The command code (“cmd” in Figure 1) for a
Function 1 SET command is 0C HEX.
If the SET message is received without an error, the controller sends a response message
containing an affirmative acknowledgment code followed by the values and status of these
parameters at the time of the response. This response is the same as the response to a POLL 1
command. If a communications error occurred during transmission, the response will contain a
negative acknowledgment code indicating the error. In this latter case, the user's program will
determine the next step.
The information about the five parameters sent by the controller will contain the current data at
the time of the response. Thus, this data does not indicate the success or failure of any of the
subcommands that are contained in the SET message. These subcommands will be processed by
the controller after the SET message is answered. It is the responsibility of the computer to
consider the fact that changes in the transmitted data may occur due to further processing by the
controller.
The first element in the “data” portion of the response message is the flag byte (see Figure 7). Bit 0
in the flag byte, the “User Interface Entered” indicator, is set to “1” if the controller
security passcode has been entered (with the controller in the SET mode, which is accessed using
the TAG key). This “1” status bit alerts the computer that the controller configuration may have
been changed at the controller keypad, since the last host acknowledgement.
The computer clears the “User Interface Entered” status bit by entering a “1” in the
“User Interface Acknowledgment” bit in a follow-up SET message. If the controller
remains in the SET mode, a POLL message will show that the status bit is still set to “1”. To reset
the status bit to “0”, another SET message must be sent after the operator takes the controller out
of the SET mode.
Commands to change the Function 1 status (A/M or R/L), set point, or output, will only be
accepted when the controller is in the Workstation mode. Commands to change the controller
W/P setting will only be successful if the controller has been configured for Workstation Priority
or for priority Both. For Model 762C, refer to MI 018-885. For Model 743CB Controller, refer
to MI 018-900.
The set point, measurement, and output values are transmitted by the controller and expressed as
“percent of scale” (the internal format used by the controller). Specifically, the values are
16-bit signed integers with an assumed multiplier of 40. The conversion to engineering units (the
values shown on the controller faceplate) must be performed by the computer. Additional details
are contained in Appendix B.
If Function 1 is a 3-Bar Indicator, the Function 1 SET command response will contain the values
displayed in Bars 1, 2 and 3, respectively, the same as the response to a Function 1 POLL
command.
29
MI 018-888 – November 2017
5. Function 1 SET Message Details
Figure 5. Elements of a Typical SET Message (Part 1)
SET COMMAND from computer to controller:
DLE
STX
cntlr
addr
0C
..data..
DLE
ETX
CRC
CRC
Set Command
The DATA Field contains one or three bytes as defined below:
BYTE #1:
BIT #
7 6 5 4 3 2 1 0
CONTROLLER 1
CHANGE INDICATOR:
(0 = NO NEW OUTPUT OR SET POINT,
1 = NEW OUTPUT OR SET PT IS BEING
SPECIFIED VIA BITS 4, 5, & 6
IF INCREMENTAL, OR BYTES
2 AND 3 IF ABSOLUTE)
A/M
STN 1
3-BAR
IND 1
Same
as
CTLR
0
A/M SETTING (0 = MANUAL, 1 = AUTO)
"
USER INTERFACE ACKNOWLEDGMENT:
(0 = NO ACKNOWLEDGMENT:
1 = ACKNOWLEDGMENT)
"
R/L SETTING (0 = LOCAL, 1 = REMOTE)*
"
0
SIZE OF STEP CHANGE:
(0 = SMALL STEP, 1 = LARGE STEP)
"
0
"
OUTPUT VS. SET POINT OR W/P:
BIT 0 = 1, BIT 5 = 0: CHANGE OUTPUT
BIT 0 = 1, BIT 5 = 1: CHANGE SET POINT
BIT 0 = 0, BIT 5 = 0: SELECT PANEL
BIT 0 = 0, BIT 5 = 1: SELECT WORKSTATION
0
DIRECTION OF CHANGE:
(0 = INCREMENT THE SETTING,
1 = DECREMENT THE SETTING
"
0
ALARM ACKNOWLEDGE:
(0 = NO ACKNOWLEDGE,
1 = ACK ALL CURRENT ALARMS)
"
*R/L is ignored if the controller is configured for LOCAL only.
0
Same
as
CTLR
Same
as
CTLR
(CTLR=CONTROLLER)
(If data bytes 2 and 3 are transmitted by the computer it indicates that the output or
set point change is absolute, with the new value specified by bytes 2 and 3 in the form
described in Appendix B. Absolute value changes are checked by the controller and
clamped to -2 and +102%. If data bytes 2 and 3 are not transmitted it indicates that
the incremental change-indicated by bits 4, 5, & 6 should be used. If bit 0 of data
byte 1 is a zero, data bytes 2 and 3 must not be transmitted by the computer.)
30
5. Function 1 SET Message Details
MI 018-888 – November 2017
Figure 6. Elements of a Typical SET Message (Part 2)
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
CRC
Refer to Table 3 for possible error code
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
ETX
CRC
CRC
Acknowledgment code
(no error, data follows)
31
MI 018-888 – November 2017
5. Function 1 SET Message Details
Figure 7. Data Portion of Function 1 SET Message Response
The DATA FIELD contains seven or eight bytes as defined below:
flag
byte
set point value
(Bar 1)
high
low
byte
byte
measurement
value (Bar 2)
high
low
byte
byte
alarm
byte
A/M
STN 1
3-BAR
IND 1
USER INTERFACE ENTERED INDICATOR: Same
as
(0 = NOT ENTERED
CTLR
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
Same
as
CTLR
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
output
value (Bar 3)
low
high
byte
byte
CONTROLLER 1 (CTLR)
PRIMARY A/M SETTING (0 = MANUAL,
1 = AUTO)
"
(R)
W/P SETTING (0 = PANEL,
1 = WORKSTATION)
"
Same
as
CTLR
PRIMARY R/L SETTING (0 = LOCAL
1 = REMOTE)
CONTROLLER OUTPUT LIMITED HIGH
(1=TRUE)
"
(R)
"
(R)
(R)
(R)
(R)
(R)
CONTROLLER OUTPUT LIMITED LOW
(1=TRUE)
CONTROLLER BYPASS (0 = BYPASS
NOT ACTIVE 1 = BYPASS ACTIVE)
Same
Same
ALARM INDICATOR (0 = NO ALARM,
as
as
1 = ALARM BYTE
CTLR
CTLR
FOLLOWS)
(CTLR)=CONTROLLER
32
5. Function 1 SET Message Details
MI 018-888 – November 2017
The ALARM BYTE will be transmitted by the controller if the ALARM INDICATOR bit is
equal to one. The format of the ALARM BYTE is given below:
Figure 8. ALARM Byte in Data Field of Function 1 SET Message Response
BIT #0
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
BIT #1
0 = No ALARM 4 exists
1 = ALARM 4 exists
BIT #2
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
BIT #3
0 = No ALARM 3 exists
1 = ALARM 3 exists
BIT #4
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
BIT #5
0 = No ALARM 2 exists
1 = ALARM 2 exists
BIT #6
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
BIT #7
0 = No ALARM 1 exists
1 = ALARM 1 exists
33
MI 018-888 – November 2017
34
5. Function 1 SET Message Details
6. UPLOAD Message Details
The message elements contained in typical UPLOAD messages are shown in Figure 9.
The UPLOAD command message is sent by the computer to acquire a variable-length data set
from a specified portion of the controller's memory. The “data” portion of the message contains
the absolute address of the starting byte and the total number of bytes desired. The total number
can vary from 1 to 251 decimal (FB HEX). The command code (“cmd” in Figure 1) for an
UPLOAD command is 0E HEX.
If the UPLOAD message is received without an error, and the request is determined valid, the
controller sends a response message containing an affirmative acknowledgment code followed by a
data string containing the desired data. If a communications error occurred during transmission,
the response will contain a negative acknowledgment code indicating the error. In this latter case,
the user's program will determine the next step.
It is the responsibility of the computer to determine the correct location of the desired data in the
memory of the controller. A memory map of the relevant data locations is provided in
Appendix B.
Figure 9. Elements of UPLOAD Message and Response
UPLOAD COMMAND from computer to controller:
DLE
STX
cntlr
addr
0E
mem
addr
(hi)
mem
addr
(lo)
byte
count
DLE
ETX
CRC
(hi)
CRC
(lo)
Upload Command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
(hi)
CRC
(lo)
Refer to Table 3 for possible error
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
ETX
CRC
(hi)
CRC
(lo)
Acknowledgment code
(no error, data follows)
35
MI 018-888 – November 2017
36
6. UPLOAD Message Details
7. DOWNLOAD Message Details
This command enables the computer to dynamically reconfigure a large number of operational
parameters within the controller via the remote link, thus simplifying the process of reconfiguring
the controller. This command bypasses the normal validity checks that are performed on data as it
is entered via the controller's front panel. It is therefore vital that the computer software perform
validity checking prior to the execution of the DOWNLOAD command. This command is
provided for use by sophisticated users and should only be used under the most strictly controlled
conditions. If the controller is reconfigured with an invalid or inconsistent set of data the results
will be indeterminate.
The command code (“cmd” in Figure 1) for a DOWNLOAD command is 0D HEX. Users
wishing to reconfigure the controller parameters without sacrificing the internal security checks
that are performed by the controller should use the WRITE message as described in Chapter 10,
“WRITE Message Details”.
The DOWNLOAD command writes a variable length block of data directly into the specified
memory addresses of the controller. The message contents specify the absolute address of the first
memory byte to be filled. The maximum number of data bytes that can be downloaded in a single
command is 251 decimal (FB HEX). This value is not decreased by any doubled DLE characters
that may need to be transmitted to conform to the communications protocol. That is, 251 “raw”
data bytes can be downloaded, PLUS any doubled DLE characters. The appropriate data byte
content is supplied by the computer. Appendix B describes the format of the data that can be
downloaded.
The DOWNLOAD command is only accepted by the controller when it is in WORK-STATION
mode. It is further recommended that the controller be placed in MANUAL prior to executing a
series of DOWNLOAD commands. This will avoid the possibility of the controller beginning a
control cycle with one set of configuration parameters and ending the cycle with another,
inconsistent set of parameters.
If the DOWNLOAD command is received without communications errors the data is placed into
contiguous locations starting at the specified address, and the controller responds with a message
identifying its own unit number and an acknowledgment code.
37
MI 018-888 – November 2017
7. DOWNLOAD Message Details
Figure 10. Elements of DOWNLOAD Message and Response
DOWNLOAD COMMAND from computer to controller:
DLE
STX
cntlr
addr
0D
mem
addr
(hi)
mem
addr
(lo)
...data...
DLE
ETX
CRC
Download Absolute Command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
CRC
Refer to Table 3 for possible error code
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
DLE
ETX
CRC
CRC
Acknowledgment code
(no error, data follows)
38
CRC
8. Extended POLL Message Details
This command instructs the controller to return the values of computed variables A, B, C, D, E,
and F plus the settings of the contact inputs (CI 1 and CI 2), the contact outputs (CO 1 and CO
2), and the controller outputs (OUT 1 and OUT 2).
The command code (“cmd” in Figure 1) for an Extended POLL command is 11 HEX.
Figure 11. Elements of Extended POLL Message and Response
EXTENDED POLL from computer to controller:
DLE
STX
cntlr
addr
11
DLE
CRC
hi
ETX
CRC
lo
EXTENDED POLL Command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
hi
CRC
lo
Refer to Table 3 for possible error code
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
CRC
hi
ETX
CRC
lo
Acknowledgment code
(no error, data follows)
Data Field:
A
B
C
hi lo
hi lo
byte byte byte byte
D
hi lo
hi lo
byte byte byte byte
E
F
hi lo
byte byte
hi lo
byte byte
>>>
OUT 1
CI1/2
>>>
CO1/2
hi lo
byte byte
OUT 2
hi lo
byte byte
39
MI 018-888 – November 2017
8. Extended POLL Message Details
The computed variables A, B, C, D, E, and F, are transmitted by the controller as “percent of
scale” (the internal format used by the controller). Specifically, the values are 16-bit signed
integers with an assumed multiplier of 40. Additional details are contained in Appendix B.
The status of CI 1 and CI 2 is given as the two least significant bits of a single byte. The same
applies to CO 1 and CO 2.
Contact Inputs 1 and 2:
Contact Outputs 1 and 2:
40
BIT 0 = 0
CI 1 IS OPEN
=1
CI 1 IS CLOSED
BIT 1 = 0
CI 2 IS OPEN
1
CI 2 IS CLOSED
BIT 0 = 0
CO 1 IS OPEN
=1
CO 1 IS CLOSED
BIT 1 = 0
CO 2 IS OPEN
1
CO 2 IS CLOSED
9. READ Message Details
This command is used to obtain the value of a parameter or a sequence of parameters. All of the
parameters that are accessible via the READ command are word values (two bytes in length) and
each parameter has limits which are defined within the controller. Refer to Table 4 in Appendix A.
The values returned by the controller in response to the READ command are in the internal
format that is used by the controller. The values must be converted to standard form by the Host.
Appendix A defines the available parameter numbers and the conversion technique.
The command code (“cmd” in Figure 1) for a READ command is 0F HEX.
The READ command permits variable length requests, since a list of parameters may be given
(e.g. 101, 103, 124, 97). Each parameter number is included in the data portion of the READ
command as a single byte. The parameter numbers are entered in the READ command in hex so
the above example would include 65, 67, 7C, 61. The values of the requested parameters will be
returned in the order in which they were requested (e.g., READ 65, 62, 7B will return parameter
65 first, parameter 62 second, and parameter 7B third). The maximum number of parameters
which can be read by a single command is 125 (decimal).
41
MI 018-888 – November 2017
9. READ Message Details
Figure 12. Elements of READ Message and Response
READ COMMAND from computer to controller:
DLE
cntlr
addr
STX
0F
INDEX INDEX INDEX
............
1
2
INDEX DLE
n
ETX
Read command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
hi
CRC
lo
Possible error code (HEX):
01 Transmission Error
03 No data given with command
04 Index requested too small
(controller is in PANEL mode)
13 Wrong number of data bytes given
with command
RESPONSE from controller to computer, if successful:
DLE
cntlr
addr
STX
hi
byte
00
lo
byte
hi
byte
lo
byte
>>>
....
PARAMETER 1 PARAMETER 2
Acknowledgment code
(no error, data follows)
>>>
....
>>>
42
hi
byte
lo
byte
PARAMETER N
DLE
ETX
CRC
(HI)
CRC
(LO)
>>>
CRC
hi
CRC
lo
10. WRITE Message Details
This command is used to alter the value of a parameter or a sequence of parameters. All of the
parameters that are accessible via the WRITE command are word values (two bytes in length) and
each parameter has limits which are defined within the controller. Refer to Table 4 in
Appendix A.) The values sent to the controller with the WRITE command must be in the
internal format that is used by the controller. The values must be converted to this form by the
computer prior to being sent to the controller. Appendix A defines the allowable parameter
numbers and the conversion technique.
The command code (“cmd” in Figure 1) for a WRITE command is 10 HEX.
The WRITE command permits variable length requests, since a list of parameter numbers may be
given (e.g., F2, F4, CB, 6A). Each parameter number is included in the data portion of the
WRITE command as a single byte. The maximum number of parameters which can be written by
a single command is 83 decimal.
The controller will check the value for each parameter to see if it lies within its defined range
before any parameters within the WRITE command are actually stored and used by the
controller. If any parameter fails range-checking, then no parameter will be written. The
controller will return error information indicating a failure, but will not specify which parameter
failed. The first incorrect parameter found causes the whole command to be terminated. If many
parameters are listed (for WRITE) then the controller will take proportionately longer to respond,
since it must range-check each parameter. The computer software must take this delay into
account and modify any time-out accordingly. The WRITE command is only permitted when
the controller is in WORKSTATION mode.
NOTE
The value of the WRITE command character (“cmd” in Figure 1) is 10 HEX and
therefore, must be transmitted twice in accordance with the DLE-duplication
requirements as outlined under “Accuracy of Message Transmission”.
43
MI 018-888 – November 2017
10. WRITE Message Details
Figure 13. Elements of WRITE Message and Response
WRITE COMMAND from computer to controller:
DLE
>>>
STX
cntlr
addr
INDEX
.....
n
>>>
10
>>>
INDEX VALUE
FOR 2
2
.....
hi
lo
byte byte
>>>
WRITE command
INDEX VALUE
FOR 1
1
hi
lo
byte byte
VALUE
FOR 1
DLE
hi lo
byte byte
ETX
CRC
CRC
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
CRC
Refer to Table 3 for possible error codes.
44
11. Function 2 POLL Message
Details
This command is similar to the Function 1 POLL command, but the second function is POLLed
instead of Function 1. Function 2 can be configured as a controller, an A/M station, or a 3-Bar
indicator.
The command code (“cmd” in Figure 1) for a Function 2 POLL command is 12 HEX.
The A/M and R/L states as well as the setpoint, measurement and output (or Bar1, Bar 2, and Bar
3) values will reflect the status and values for Function 2. Refer to the section on Function 1
POLL for details on structure.
The set point, measurement, and output values are transmitted by the controller and expressed as
“percent of scale” (the internal format used by the controller). Specifically, the values are
16-bit signed integers with a multiplier of 40. The conversion to engineering units (the values
shown on the controller faceplate) must be performed by the computer. If Function 2 is a 3-Bar
indicator the POLL command will return the values displayed on Bars 1, 2, and 3 respectively.
Additional details are contained in Appendix B.
Figure 14. Elements of a Typical Function 2 POLL Message
FUNCTION 2 POLL from computer to controller:
DLE
STX
cntlr
addr
12
DLE
ETX
CRC
CRC
Function 2 POLL Command
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
CRC
Refer to Table 3 for possible error codes.
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
ETX
CRC
CRC
Acknowledgment code
(no error, data follows)
45
MI 018-888 – November 2017
11. Function 2 POLL Message Details
Figure 15. Data Portion of Function 2 POLL Message Response
The DATA FIELD contains seven or eight bytes as defined below:
flag
byte
set point
value (Bar 1)
high
low
byte
byte
measurement
value (Bar 2)
high
low
byte
byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
output
value (Bar 3)
low
high
byte
byte
CONTROLLER 2
alarm
byte
A/M
STN 2
3-BAR
IND 2
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
Same
as
CTLR
Same
as
CTLR
FUNCTION 1 A/M SETTING (0 = MANUAL,
1 = AUTO)
Same
as
CTLR
W/P SETTING (0 = PANEL,
1 = WORKSTATION)
PRIMARY R/L SETTING (0 = LOCAL
1 = REMOTE)
CONTROLLER OUTPUT LIMITED HIGH
(1=TRUE)
CONTROLLER OUTPUT LIMITED LOW
(1=TRUE)
CTLR BYPASS STATE (0 = BYPASS
NOT ACTIVE 1 = BYPASS ACTIVE
ALARM INDICATOR (0 = NO ALARM,
1 = ALARM BYTE FOLLOWS)
"
"
0
Same
as
CTLR
0
(R)
(R)
(R)
(R)
(R)
(R)
Same
as
CTLR
Same
as
CTLR
(R) =Reserved
46
11. Function 2 POLL Message Details
MI 018-888 – November 2017
The ALARM byte will be transmitted by the controller if the ALARM INDICATOR bit is equal
to one. The format of the ALARM byte is given below:
Figure 16. ALARM Byte In Data Field of Function 2 POLL Message Response
BIT #0
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
BIT #1
0 = No ALARM 4 exists
1 = ALARM 4 exists
BIT #2
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
BIT #3
0 = No ALARM 3 exists
1 = ALARM 3 exists
BIT #4
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
BIT #5
0 = No ALARM 2 exists
1 = ALARM 2 exists
BIT #6
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
BIT #7
0 = No ALARM 1 exists
1 = ALARM 1 exists
47
MI 018-888 – November 2017
48
11. Function 2 POLL Message Details
12. Function 2 SET Message Details
This command is similar to the Function 1 SET command except that it operates on Function 2.
Therefore, this command affects the settings of A/M, R/L, OUTPUT and SET POINT of
Function 2.
The command code (“cmd” in Figure 1) for a Function 2 SET command is 13 HEX.
Commands to change the Function 2 status, set point or output will only be successful when the
controller is in WORKSTATION mode. Commands to change the controller W/P setting will
only be successful if the controller is configured for WORKSTATION PRIORITY. For Model 762C,
refer to MI 018-885. For Model 743CB Controller, refer to MI 018-900. For Model 762CSA
Controller, refer to MI 018-889.
49
MI 018-888 – November 2017
12. Function 2 SET Message Details
Figure 17. Elements of a Typical Function 2 SET Message (Part 1)
FUNCTION 2 SET COMMAND from computer to controller:
DLE
STX
cntlr
addr
13
..data..
DLE
ETX
CRC
hi
CRC
lo
Function 2 SET Command
The DATA FIELD contains one or three bytes as defined below:
BYTE # 1
BIT # 7 6 5 4 3 2 1 0
CONTROLLER 2
A/M
STN 2
3-BAR
IND 2
CHANGE INDICATOR (SECONDARY):
(0 = NO NEW OUTPUT OR SET POINT,
1 = NEW OUTPUT OR SET PT IS BEING
SPECIFIED VIA BITS 4, 5, & 6
IF INCREMENTAL, OR BYTES
2 AND 3 IF ABSOLUTE)
Same
as
CTLR
Same
as
CTLR
FUNCTION 2 A/M SETTING (0 = MANUAL,
1 = AUTO)
"
0
USER INTERFACE ACKNOWLEDGMENT:
(0 = NO ACKNOWLEDGMENT,
1 = ACKNOWLEDGMENT)
Same
as
CTLR
FUNCTION 2 R/L SETTING (0 = LOCAL
1 = REMOTE)
SIZE OF STEP CHANGE:
(0 = SMALL STEP, 1 = LARGE STEP)
"
0
"
0
"
OUTPUT VS. SET POINT OR W/P:
BIT 0 = 1, BIT 5 = 0: CHANGE OUTPUT
BIT 0 = 1, BIT 5 = 1: CHANGE SET POINT
BIT 0 = 0, BIT 5 = 0: SELECT PANEL
BIT 0 = 0, BIT 5 = 1: SELECT WORKSTATION
0
"
DIRECTION OF CHANGE:
BIT 0 SET: (0 = INCREMENT THE SETTING
1 = DECREMENT THE SETTING
BIT 0 = CLEAR: NO ACTION
0
ALARM ACKNOWLEDGE:
(0 = NO ACKNOWLEDGE,
1 = ACK ALL CURRENT ALARMS)
Same
as
CTLR
Same
as
CTLR
Same
as
CTLR
CTLR=CONTROLLER
(If data bytes 2 and 3 are transmitted by the computer it indicates that the output or set point
change is absolute, with the new value specified by bytes 2 and 3. If data bytes 2 and 3 are not
transmitted it indicates that the incremental change indicated by bits 4, 5, & 6 should be used.
If bit 0 of data byte 1 is a zero, data bytes 2 and 3 must not be transmitted by the computer.)
50
12. Function 2 SET Message Details
MI 018-888 – November 2017
Figure 18. Elements of a Typical Function 2 SET Message (Part 2)
RESPONSE from controller to computer, if an error occurred:
DLE
STX
cntlr
addr
error
code
DLE
ETX
CRC
hi
CRC
lo
Refer to Table 3 for possible error code
RESPONSE from controller to computer, if successful:
DLE
STX
cntlr
addr
00
..data..
DLE
ETX
CRC
hi
CRC
lo
Acknowledgment code
(no error, data follows)
51
MI 018-888 – November 2017
12. Function 2 SET Message Details
Figure 19. Data Portion of Function 2 SET Message Response
The DATA FIELD contains seven or eight bytes as defined below:
flag
byte
set point value
(Bar1)
high
low
byte
byte
measurement
value (Bar 2)
high
low
byte
byte
The FLAG BYTE is structured as follows:
output
value (Bar 3)
low
high
byte
byte
alarm
byte
A/M
STN 2
3-BAR
IND 2
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST Acknowledgment)
Same
as
CTLR
Same
as
CTLR
FUNCTION 2 A/M SETTING (0 = MANUAL,
1 = AUTO)
"
(R)
W/P SETTING (0 = PANEL,
1 = WORKSTATION)
"
Same
as
CTLR
FUNCTION 2 R/L SETTING (0 = LOCAL
1 = REMOTE)
"
(R)
CONTROLLER OUTPUT LIMITED
HIGH (1=TRUE)
"
(R)
(R)
(R)
(R)
(R)
CONTROLLER 2
BIT # 7 6 5 4 3 2 1 0
CONTROLLER OUTPUT LIMITED
LOW (1=TRUE)
CTLR BYPASS STATE (0 = BYPASS
NOT ACTIVE,1 = BYPASS ACTIVE)
ALARM INDICATOR (0 = NO ALARM,1 =
ALARM BYTE FOLLOWS)
52
Same
as
CTLR
Same
as
CTLR
12. Function 2 SET Message Details
MI 018-888 – November 2017
The ALARM BYTE will be transmitted by the controller if the ALARM INDICATOR bit is
equal to one. The format of the ALARM BYTE is given below:
Figure 20. ALARM Byte in Data Field of Function 2 SET Message Response
BIT #0
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
BIT #1
0 = No ALARM 4 exists
1 = ALARM 4 exists
BIT #2
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
BIT #3
0 = No ALARM 3 exists
1 = ALARM 3 exists
BIT #4
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
BIT #5
0 = No ALARM 2 exists
1 = ALARM 2 exists
BIT #6
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
BIT #7
0 = No ALARM 1 exists
1 = ALARM 1 exists
53
MI 018-888 – November 2017
54
12. Function 2 SET Message Details
13. Error Detection In Messages
Transmission errors in messages can be detected in the following ways:
 The receiving UART in the controller checks each byte received for framing and
overrun errors.
 All messages contain a pair of “CRC” (Cyclic Redundancy Check) characters. The
controller compares these characters with the rest of the message and in this way can
detect communications errors.
 All messages are checked by the controller for valid commands and parameters.
 All messages are checked by the controller for correct start-of-message (DLE and
STX) and end-of-message (DLE and ETX) characters.
Every response from the controller contains a code element. The meaning of this code is found in
the table below. The action taken by the computer when it is notified that an error exists depends
on the user's program.
Table 3. Error Codes
Error Code
(Hex)
Description
00
Acknowledge (no error)
Commands
All
01
Transmission error (CRC, framing, or overrun error occurred)
All
02
Command byte invalid
All
03
No data given with command when data expected
All except POLL
commands
04
The index requested was out of range
READ and WRITE
05
The value given with the index was out of the allowed range
WRITE
06 - 07
Not used
---
08
No permission. Controller is in Panel mode.
DOWNLOAD and
WRITE
13
Wrong number of data bytes given with the command
All except POLL
commands
Not used
---
14 - FF
55
MI 018-888 – November 2017
56
13. Error Detection In Messages
Appendix A. READ/WRITE
Command Parameters
This Appendix details the parameters that can be accessed using the READ and WRITE
commands. Table 4 indicates the parameter number that is used to access the parameter, the
upper and lower range values that are permitted for the parameters, and the conversion technique.
The conversion technique described in the table will convert the value returned by a READ
command into its absolute value; the inverse operation must be performed prior to performing a
WRITE command for the same parameter. For example, if the table indicates “Divide by 40,”
then the computer should multiply the desired value by 40 prior to performing a WRITE
command. All values in the “Conversion Technique” column are in decimal. The lowest and
highest allowed value columns indicate the absolute values (i.e., the value that will be obtained
from converting the results of a READ command). Parameters labeled “READ Only” should not
be modified using the WRITE command.
57
MI 018-888 – November 2017
Appendix A. READ/WRITE Command Parameters
Table 4. READ/WRITE Parameters
Parameter
Number
(Hex)
Description
Highest
Allowed
Value
Conversion
Technique
18 (a)
Logic Definition
N/A
N/A
19 (a)
Strategy Definition
N/A
N/A
1A (a)
Controller 1 Type
N/A
N/A
1B (a)
Controller 1 Status
N/A
N/A
1C
N/A
N/A
1D (a)
Controller 1
Switches
Controller 2 Type
N/A
N/A
1E (a)
Controller 2 Status
N/A
N/A
1F
Controller 2 Switches
N/A
N\A
20
Totalizer 1 Value
(High byte of 3 byte #)
Totalizer 1 Value
(Low 2 byte of 3 byte #)
Totalizer 1 Preset
(High byte of 3 byte #)
Totalizer 1 Preset
(Low 2 byte of 3 byte #)
Totalizer 1 Scale Factor
0
9999999
No Conversion
9999999
No Conversion
0.1
2000
Totalizer 1
Dec. Pt. Position
Totalizer 2 Value
(High byte of 3 byte #)
Totalizer 2 Value
(Lower 2 Bytes of 3 byte #)
0
7
No Conversion
9999999
No Conversion
Totalizer 2 Preset
(High Byte of 3 byte #)
Totalizer 2 Preset
(Lower 2 Bytes of 3 byte #)
0
9999999
No Conversion
Totalizer 2 Scale
Factor
Totalizer 2
Dec. Pt. Position
Split Point Value
0.1
2000
0
7
No Conversion
0
100
No Conversion
Controller 1
SPLAG
Controller 2
SPLAG
0
1
Divide by 100
0
1
Divide by 100
21
22
23
24 (a)
25 (a)
26
27
28
29
2A (a)
2B (a)
2C
2D
2E
58
Lowest
Allowed
Value
0
0
0
0
0
0
Appendix A. READ/WRITE Command Parameters
MI 018-888 – November 2017
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
Lowest
Allowed
Value
Description
Highest
Allowed
Value
Conversion
Technique
Controller 2,
Faceplate Derivative Term
Controller 2
Remote setpoint bias
Controller 2(preload)
Batch
Controller 2,
Proportional Band
(READ ONLY)
Controller 2,
Integral Term
(READ ONLY)
Controller 2,
Derivative Term
Controller 2,
EXACT Noiseband
Controller 2,
EXACT Maximum
Wait Time (WMAX)
Controller 2,
EXACT Damping
(DMP)
Controller 2, EXACT
Overshoot (OVR)
Controller 2, EXACT
Derivative Factor (DFCT)
0.0
100.0
Divide by 150
-99.9
100.0
Divide by 40
-99.9
100.0
Divide by 40
1
8000
No Conversion
0.007
200.0
Divide by 150
0.0
100.0
Divide by 150
0.1
30.0
Divide by 40
0.1
200.0
Divide by 150
0.1
1.0
Divide by 100
0.0
1.00
Divide by 100
1.25
100.0
Divide by 100
3A
Controller 2, EXACT
Derivative Factor (DFCT)
0.0
4.0
Divide by 100
3B
Controller 2, EXACT
Output Cycling Limit (LIM)
2.0
80.0
Divide by 40
3C
Controller 2, EXACT
Bump size for Pretune (BMP)
-50.0
50.0
Divide by 40
2f
30
31
32
33
34
35
36
37
38
39
59
MI 018-888 – November 2017
Appendix A. READ/WRITE Command Parameters
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
Description
Highest
Allowed
Value
Conversion
Technique
5F
60
61
62
CONSTANT 'G'
CONSTANT 'H'
CONSTANT 'I'
CONSTANT 'J'
-99.9
-99.9
-99.9
-99.9
102.0
102.0
102.0
102.0
Divide by 40
Divide by 40
Divide by 40
Divide by 40
63
Controller 1, Faceplate
Proportional Band
Controller 1, Faceplate Integral
Term
Controller 1, Faceplate
Derivative Term
Controller 1, Bias for P, P+D
1
8000
0.007
200.0
No Conversion
Required
Divide by 150
0.000
100.0
Divide by 150
-99.9
100.0
Divide by 40
0.007
Controller 1,
Balance for P, P+D
-99.9
Controller 1, Preload for
Standard Batch
Controller 1, Proportional Band 1
(READ Only)
200.0
Divide by 150
100.0
Divide by 40
8000
No Conversion
Required
64
65
66
67
68
69
6A
Controller 1, Integral Term
(READ Only),
0.007
200.0
Divide by 150
6B
Controller 1, Derivative Term
(READ Only),
0.000
100.0
Divide by 150
6C
0.1
Controller 1, EXACT Noise
Band (NB),
Controller 1, EXACT Maximum 0.1
Wait Time (WMAX)
30.0
Divide by 40
200.0
Divide by 150
Controller 1, EXACT DAMPING 0.10
(DMP)
Controller 1, EXACT Overshoot 0.0
(OVR)
1.00
Divide by 100
1.00
Divide by 100
6D
6E
6F
60
Lowest
Allowed
Value
Appendix A. READ/WRITE Command Parameters
MI 018-888 – November 2017
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
Lowest
Allowed
Value
Description
Highest
Allowed
Value
Conversion
Technique
1.25
Controller 1, EXACT Change
Limit (CLM)
Controller 1, EXACT Derivative 0.00
Factor (DFCT)
EXACT High
2.0
Frequency Limit (LMT)
100.0
Divide by 100
4.00
Divide by 100
80.0
Divide by 40
73
Controller 1, EXACT Bump Size -50.0
for Pretune (BMP)
50.0
Divide by 40
74
Controller 2 Faceplate
Proportional Band
Controller 2 Faceplate
Integral Term
1
8000
0.007
200.0
No Conversion
Required
Divide by 150
76
Controller 2, Bias for P, P+D
-99.9
100.0
Divide by 40
77
Controller 2 Balance for P, P+D 0.007
200.0
Divide by 150
78
79
7A
ALARM 1 - Level 1
ALARM 1 - Level 2
ALARM 1 - Deadband
-99.9
-99.9
0.0
102.0
102.0
100.0
Divide by 40
Divide by 40
Divide by 40
7B
7C
7D
ALARM 2 - Level 1
ALARM 2 - Level 2
ALARM 2 - Deadband
-99.9
-99.9
0.0
102.0
102.0
100.0
Divide by 40
Divide by 40
Divide by 40
7E
7F
80
ALARM 3 - Level 1
ALARM 3 - Level 2
ALARM 3 - Deadband
-99.9
-99.9
0.0
102.0
102.0
100.0
Divide by 40
Divide by 40
Divide by 40
81
82
83
ALARM 4 - Level 1
ALARM 4 - Level 2
ALARM 4 - Deadband
-99.9
-99.9
0.0
102.0
102.0
100.0
Divide by 40
Divide by 40
Divide by 40
84
Input “A”
Filter Time
Input “A” Input Bias
Input “A” Gain
Input “A”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
Input “B”
Filter Time
Input “B” Input Bias
Input “B” Gain
Input “B”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
70
71
72
75
85
86
87
88
89
8A
8B
61
MI 018-888 – November 2017
Appendix A. READ/WRITE Command Parameters
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
A1
A2
A3
62
Description
Lowest
Allowed
Value
Highest
Allowed
Value
Conversion
Technique
Input “C”
Filter Time
Input “C” Input Bias
Input “C” Gain
Input “C”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
Input “D”
Filter Time
Input “D” Input Bias
Input “D” Gain
Input “D”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
Input “E”
Filter Time
Input “E” Input Bias
Input “E” Gain
Input “E”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
Input “F”
Filter Time
Input “F” Input Bias
Input “F” Gain
Input “F”
Output Bias
0.00
10.00
Divide by 150
-99.9
-9.999
-99.9
100.0
9.999
100.0
Divide by 40
Divide by 1000
Divide by 40
Controller 1 Set Point
High Limit
Controller 1 Set Point
Low Limit
Controller 1 Output
High Limit
Controller 1 Output
Low Limit
Controller 2 Set Point
High Limit
Controller 2 Set Point
Low Limit
Controller 2 High
Limit
Controller 2 Output
Low Limit
-15.0
102.0
Divide by 40
-15.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
-15.0
102.0
Divide by 40
-15.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
Appendix A. READ/WRITE Command Parameters
MI 018-888 – November 2017
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
B5
B6
B7
B8
B9
BA
BB
BC
BD
C5
C6
C7
C8
C9
CA
CB
CC
CD
D1
D2
D3
D4
D5
D6
D7
D8
D9
DC
DD
DE
DF
Lowest
Allowed
Value
Description
CHAR1 -- Number
of Points
CHAR 1 -- X1
CHAR 1 -- X2
CHAR 1 -- X3
CHAR 1 -- X4
CHAR 1 -- X5
CHAR 1 -- X6
CHAR 1 -- X7
CHAR 1 -- X8
CHAR 1 -- X9
CHAR 1 -- Y1
CHAR 1 -- Y2
CHAR 1 -- Y3
CHAR 1 -- Y4
CHAR 1 -- Y5
CHAR 1 -- Y6
CHAR 1 -- Y7
CHAR 1 -- Y8
CHAR 1 -- Y9
CHAR 2 -- Number of
Points
CHAR 2 -- X1
CHAR 2 -- X2
CHAR 2 -- X3
CHAR 2 -- X4
CHAR 2 -- X5
CHAR 2 -- X6
CHAR 2 -- X7
CHAR 2 -- X8
CHAR 2 -- Y1
CHAR 2 -- Y2
CHAR 2 -- Y3
CHAR 2 -- Y4
CHAR 2 -- Y5
CHAR 2 -- Y6
CHAR 2 -- Y7
CHAR 2 -- Y8
CHAR 2 -- Y9
Dynamic Compensator
Dead Time
Dynamic Compensator
Lead-Lag Gain
Dynamic Compensator
Lead-Lag Bias
Dynamic Compensator
Lead-Lag Filter
Time
Highest
Allowed
Value
Conversion
Technique
2
16
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
2
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
0.00
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
100.0
200.00
No Conversion
Required
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
No Conversion
Required
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 150
0.000
9.999
Divide by 1000
-99.9
102.0
Divide by 40
0.00
200.0
Divide by 150
63
MI 018-888 – November 2017
Appendix A. READ/WRITE Command Parameters
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
Description
Highest
Allowed
Value
Conversion
Technique
E0
Workstation Address
0
99
E1
Workstation Flunk
Timeout
0
200.0
No Conversion
Required
Divide by 150
E2
Controller 1 Ratio
Controller Bias
Controller 1 Ratio
Controller Range
-99.9
102.0
Divide by 40
1
5
No Conversion
Required
E4
Controller 2 Ratio Bias
-99.9
102.0
Divide by 40
E5
Controller 2 Ratio Range
1
5
E6
Controller 1
Remote Set Point Bias
-99.9
100.0
No Conversion
Required
Divide by 40
E7
Controller 1
Output Startup Value
-2.0
102.0
Divide by 40
E8
Controller 2
Output Status Value
-2.0
102.0
Divide by 40
E9
Analog Input 1 Zero
Calibration Value
(READ Only)
Analog Input 1 Full
Scale Calibration
Value (READ Only)
N/A
N/A
No Conversion
Required
N/A
N/A
No Conversion
Required
Analog Input 2 Zero
Calibration Value
(READ Only)
Analog Input 2 Full
Scale Calibration
Value (READ Only)
N/A
N/A
No Conversion
Required
N/A
N/A
No Conversion
Required
Analog Input 3 Zero
Calibration Value
(READ Only)
Analog Input 3 Full
Scale Calibration
Value (READ Only)
N/A
N/A
No Conversion
Required
N/A
N/A
No Conversion
Required
Analog Input 4 Zero
Calibration Value
(READ Only)
Analog Input 4 Full
Scale Calibration
Value (READ Only)
N/A
N/A
No Conversion
Required
N/A
N/A
No Conversion
Required
E3
EA
EB
EC
ED
EE
EF
F0
64
Lowest
Allowed
Value
Appendix A. READ/WRITE Command Parameters
MI 018-888 – November 2017
Table 4. READ/WRITE Parameters (Continued)
Parameter
Number
(Hex)
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
Lowest
Allowed
Value
Description
Highest
Allowed
Value
Conversion
Technique
Frequency Input 1
Zero Calibration
Value
Frequency Input 1
Full Scale
Calibration Value
0
9999
No Conversion
Required
0
9999
No Conversion
Required
Frequency Input 2
Zero Calibration
Value
Frequency Input 2
Full Scale
Calibration Value
0
9999
No Conversion
Required
0
9999
No Conversion
Required
Analog Output 1 Zero
Calibration Value
Analog Output 1 Full
Scale Calibration
Value
0
1500
3500
4010
No Conversion
Required
No Conversion
Required
Analog Output 2 Zero
Calibration Value
Analog Output 2 Full
Scale Calibration
Value
0
1500
3500
4010
Controller 2 Local Set
Point (READ Only)
Controller 1 Local Set
Point (READ Only)
-2.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
Controller 2 Calculated
Output (READ Only)
Controller 1 Calculated
Output (READ Only)
-2.0
102.0
Divide by 40
-2.0
102.0
Divide by 40
Controller 2 Ratio Gain
Controller 1 Ratio Gain
-2.0
-2.0
102.0
102.0
Divide by 40
Divide by 40
No Conversion
Required
No Conversion
Required
a. Read Only Parameters
65
MI 018-888 – November 2017
66
Appendix A. READ/WRITE Command Parameters
Appendix B. Controller Data
Structure
Controller Data Structure
A significant amount of information is available within the memory of the controller. The details
in this Appendix enable the user to access this data using the UPLOAD and DOWNLOAD
commands. Analysis of the data returned by the controller in response to POLL 1, SET 1,
EXTENDED POLL, POLL 2, and SET 2 commands is also explained below.
To use the data stored in the controller's memory, you need to know where the data is stored and
the form in which the data is stored. The controller configuration is stored in a manner which
compresses as much information as possible into the available storage space. For this reason a
number of configuration options are stored within a field comprising a single bit position or only
a few bits. Table 7 gives details for all of the configurable options that are available. Bit numbers
within a byte are specified as “BIT 7” (the most significant bit) through “BIT 0” (the least
significant bit).
NOTICE
Use the DOWNLOAD command with caution. The controller will accept user-specified
information even if the information is invalid and generates an invalid or inconsistent
configuration.
Special care should be exercised when modifying parameters that occupy bit positions alongside
other bits that are not being modified. The proper technique in this situation is to Upload the
information that occupies the byte(s) of interest, mask off the bit positions that are to be changed,
perform a logical “OR” with the bits that are to be set, and then Download the resulting value. All
bits whose values are not specified in Table 7 are RESERVED FOR FUTURE USE and should be
set to zero if the related byte value is Downloaded. Parameters specified as “READ ONLY” should
never be Downloaded in an operational environment, but may be Downloaded in an off-line
environment in order to duplicate an existing memory module.
Table 5 and Table 6 indicate the byte values that relate to a number of parameters in the
configuration. The selection of any listed option is specified by Downloading the related byte
value to the proper address. Table 7 details the actual configuration parameters, their locations
within the memory of the controller and the conversion technique. The conversion technique
specified indicates the operation that should be performed prior to Uploading a value. The inverse
operation should be performed before a parameter is Downloaded.
Data Obtained Using POLL and SET Messages
Details on the various types of POLL and SET messages and their responses are covered in their
applicable sections. The values of the set point, measurement, output, and computed variables are
returned in “raw” form. That is, the values have not been scaled or converted to engineering units
(where applicable). The returned values are 16-bit integers with an assumed multiplier of 40.
67
MI 018-888 – November 2017
Appendix B. Controller Data Structure
The first step in the conversion process is to divide the returned value by 40, yielding a value that
can range from -2 to +102. This value represents “percent of scale”, and is the final result for the
output and computed variable values.
The set point and measurement values can be scaled according to the configured lower-range
value (LRV) and upper-range value (URV) for the engineering units using the equation below:
 C   URV – LRV 
V = ------------------------------------------------ + LRV
100
where:
V
C
LRV
URV
= Controller faceplate value for set point or measurement
= Percent-of-scale value
= Lower-range value
= Upper-range value
The value (V) calculated using this equation is the value displayed on the faceplate of the
controller, as long as this value is within the display limits. These limits are -999 to +9999 for
linear signals and -999.9 to +9999 for temperature-input signals. The configured values for LRV
and URV can be determined by the procedure outlined in the READ CONFIG Parameters
section.
Note that the values returned by all POLL and SET messages represent the state of the controller
at the time that the response was sent. There is no assurance that this response data will remain
unchanged during the current control cycle of the controller.
For example, if a SET message requests the controller to increment the set point to an
out-of-range value, the response data will show the updated value as if it had really been changed
to the requested out-of-range value. When the control cycle detects the out-of-range request, the
actual new set point value will be forced to fit within the allowable limit. A subsequent POLL
message will show that the increment has been limited to the normal limit for the set point. The
duration of the control cycle of the controller is normally 100 milliseconds, while the
communications response is transmitted as soon as possible after a message is received. A positive
message acknowledgment (ACK) indicates only that the data was received without a
communication error, not that the data was analyzed by the control algorithm and deemed
correct.
Table 5. Gate Input List
Name
Selection
True State
Value
(Hex)
Cl 1
Contact Input 1
Closed
14
Cl 2
Contact Input 2
Closed
15
ALARM 1
State of Alarm 1
In Alarm
20
ALARM 2
State of Alarm 2
In Alarm
21
ALARM 3
State of Alarm 3
In Alarm
22
ALARM 4
State of Alarm 4
In Alarm
23
C1 A/M
State of Automatic or Manual, Controller 1
Automatic
31
C1 R/L
State of Remote or Local, Controller 1
Remote
33
C2 A/M
State of Automatic or Manual, Controller 2
Automatic
41
68
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 5. Gate Input List (Continued)
Name
C2 R/L
Selection
State of Remote or Local, Controller 2
Value
(Hex)
True State
Remote
43
W/P
State of Workstation or Panel
Workstation
27
COMMFAIL
Communications Timeout
Timed Out
26
C1 EXACT
State of EXACT, Controller 1
Enabled
30
C2 EXACT
State of EXACT, Controller 2
Enabled
40
TOTAL 1
State of Totalizer 1
Totalizer reached preset
value or counted down to
zero
24
TOTAL 2
State of Totalizer 2
Totalizer reached preset
value or counted down to
zero
25
AUTOSEL
Auto Select Output State
False = C2 output;
True = C1
12
GATE 0
Output of Gate 0
True
0
GATE 1
Output of Gate 1
True
1
GATE 2
Output of Gate 2
True
2
GATE 3
Output of Gate 3
True
3
GATE 4
Output of Gate 4
True
4
GATE 5
Output of Gate 5
True
5
GATE 6
Output of Gate 6
True
6
GATE 7
Output of Gate 7
True
7
GATE 8
Output of Gate 8
True
10
GATE 9
Output of Gate 9
True
11
ON
Fixed State Input
Always
17
OFF
Fixed State Input
Never
16
NONE
Function Switch Not Used
N/A
96
NOTE
A switch assignment other than NONE has priority over the W/P, A/M, and R/L keys
and the communication link. For example, if C1 A/M is assigned through Gate 1, the
A/M key or a supervisory host command to change A/M status is ignored.
Table 6. Signal Distribution List
Selection
Signal
Value
(HEX)
A
Conditioned Analog Input IN1
41H
B
Conditioned Analog Input IN2
42
C
Conditioned Analog Input IN3
43
D
Conditioned Analog Input IN4
44
E
Conditioned Input F1
45
F
Conditioned Input F2
46
G
Constant, adjustable
47
H
Constant, adjustable
48
I
Constant, adjustable
49
69
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 6. Signal Distribution List (Continued)
Selection
Signal
J
Constant, adjustable
4A
C1 MEAS
Controller 1 Measurement
4D
C1 LOCSP
Controller 1 Local Set point
4C
C1 REMSP
Controller 1 Remote Set point
52
C1 SETP
Controller 1 Active Set point
53
C1 OUT
Controller 1 Output
4F
C2 MEAS
Controller 2 Measurement
4E
C2 LOCSP
Controller 2 Local Set point
4B
C2 REMSP
Controller 2 Remote Set point
51
C2 SETP
Controller 2 Active Set Point
54
C2 OUT
Controller 2 Output
50
ASEL OUT
Selected Output of Auto Selector
3F
AOUT 1
Analog Output 1
36
AOUT 2
Analog Output 2
37
CALC 1
Result of Calculation 1
58
CALC 2
Result of Calculation 2
59
CALC 3
Result of Calculation 3
5A
IN1
Analog Input 1
30
IN2
Analog Input 2
31
IN3
Analog Input 3
32
IN4
Analog Input 4
33
F1
Frequency Input 1
34
F2
Frequency Input 2
35
TOTAL 1
Totalizer 1 Accumulated Value (a)
56
TOTAL 2
Totalizer 2 Accumulated Value (a)
57
100 PCT
Constant, fixed at 100 percent
5B
0 PCT
Constant, fixed at 0 percent
5C
NONE
No Source
00
a. Lower two bytes of 3-byte number
70
Value
(HEX)
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions
Parameter Description
State of EXACT Tuning Algorithm (READ
Only) Controller 1
Parameter Address
(HEX)
44F
Conversion Technique
Decimal Value:
0 = QUIET
1 = LOCATE 1
2 = VERIFY 1
3 = LOCATE 2
4 = VERIFY 2
5 = LOCATE 3
6 = VERIFY 3
7 = ADAPT
8 = ADAPT
9 = SETTLE
10 = OFF
11 = MANUAL
12 = INACTIVE
EXACT Tuning Algorithm Entry (READ Only) 450
Controller 1
Decimal Value:
101 - 1 PEAK
106 - 2 PEAKS
107 - 3 PEAKS
114 - 1 PEAK
103 - 2 PEAKS
105 - 3 PEAKS
102 - DAMPED
109 - DAMPED
113 - DAMPED
110 - SUSPECT
111 - SUSPECT
112 - SUSPECT
151 - FAST
153 - SP CHANGE
154 - OOR
155 - CLAMPED
156 - INIT
EXACT PK1, Controller 1, (READ Only)
449-44A
Divide by 40
EXACT PK2, Controller 1, (READ Only)
44B-44C
Divide by 40
EXACT PK3, Controller 1, (READ Only)
44D-44E
Divide by 40
EXACT TPK1, Controller 1, (READ Only)
443-444
Divide by 150
EXACT TPK2, Controller 1, (READ Only)
445-446
Divide by 150
EXACT TPK3, Controller 1, (READ Only)
447-448
Divide by 150
EXACT (READ Only)
-----
ERR1 - Error Term
449-49A
-----
ERR2 - Error Term for
Current Cycle
49B-49F
-----
ERR3 - Error Term for
Previous Cycle
4A0-4A1
-----
71
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
State of EXACT Tuning Algorithm (READ
Only) Controller 2
Parameter Address
(HEX)
64F
Decimal Value:
0 = QUIET
1 = LOCATE 1
2 = VERIFY 1
3 = LOCATE 2
4 = VERIFY 2
5 = LOCATE 3
6 = VERIFY 3
7 = ADAPT
8 = ADAPT
9 = SETTLE
10 = OFF
11 = MANUAL
12 = INACTIVE
EXACT Tuning Algorithm Entry (READ Only) 650
Controller 2
Decimal Value:
101 - 1 PEAK
106 - 2 PEAKS
107 - 3 PEAKS
114 - 1 PEAK
103 - 2 PEAKS
105 - 3 PEAKS
102 - DAMPED
109 - DAMPED
113 - DAMPED
110 - SUSPECT
111 - SUSPECT
112 - SUSPECT
151 - FAST
153 - SP CHANGE
154 - OOR
155 - CLAMPED
156 - INIT
EXACT PK1, Controller 2, (READ Only)
649-64A
Divide by 40
EXACT PK2, Controller 2, (READ Only)
64B-64C
Divide by 40
EXACT PK3, Controller 2, (READ Only)
64D-64E
Divide by 40
EXACT TPK1, Controller 2, (READ Only)
643-644
Divide by 150
EXACT TPK2, Controller 2, (READ Only)
645-646
Divide by 150
EXACT TPK3, Controller 2, (READ Only)
647-648
Divide by 150
EXACT (READ Only)
72
Conversion Technique
-----
ERR1 - Error Term
699-69A
-----
ERR2 - Error Term for
Current Cycle
69B-69F
-----
ERR3 - Error Term for
Previous Cycle
6A0-6A1
-----
Contact Output States (READ Only)
DCB Bits 0,1
Bit 0 = 0 is CO1 OPEN
= 1 is CO1 CLOSED
Bit 1 = 0 is CO2 OPEN
= 1 is CO2 CLOSED
Calibrated Value for Analog Input #1(READ
Only)
200-201
Divide by 40
Calibrated Value for Analog Input #2 (READ 202-203
Only)
Divide by 40
Calibrated Value for Analog Input #3 (READ 204-205
Only)
Divide by 40
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
Calibrated Value for Analog Input #4 (READ 206-207
Only)
Divide by 40
Calculated Value for Variable “A” (READ
Only)
20C-20D
Divide by 40
Calculated Value for Variable “B” (READ
Only)
20E-20F
Divide by 40
Calculated Value for Variable “C” (READ
Only)
210-211
Divide by 40
Calculated Value for Variable “D” (READ
Only)
212-213
Divide by 40
Calculated Value for Variable “E” (READ
Only)
214-215
Divide by 40
Calculated Value for Variable “F” (READ
Only)
216-217
Divide by 40
Contact Input States (READ Only)
249 BITS 4, 5
Bit 4 = 0 is CI1 OPEN
= 1 is CI1 CLOSED
Bit 5 = 0 is CI2 OPEN
1 is CI2 CLOSED
Computed Value for CALC1 (READ Only)
21C-21D
Divide by 40
Computed Value for CALC2 (READ Only)
21E-21F
Divide by 40
Computed Value for CALC3 (READ Only)
220-221
Divide by 40
Gate 0 State (READ Only)
248 BIT 0
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 1 State (READ Only)
248 BIT 1
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 2 State (READ Only)
248 BIT 2
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 3 State (READ Only)
248 BIT 3
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 4 State (READ Only)
248 BIT 4
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 5 State (READ Only)
248 BIT 5
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 6 State (READ Only)
248 BIT 6
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 7 State (READ Only)
248 BIT 7
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 8 State (READ Only)
249 BIT 8
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Gate 9 State (READ Only)
249 BIT 9
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
73
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
74
Parameter Address
(HEX)
Conversion Technique
Pretune State
04CF
Decimal Value:
0 = OFF
1 = ON/IN AUTO
2 = SMALL 1 (READ Only)
3 = WIAT 2 (READ Only)
4 = PID 3 (READ Only)
5 = NB 4 (READ Only)
6 = FINISH (READ Only)
7 = INC (READ Only)
8 = NOISE (READ Only)
VARIABLE “A” -- FUNCTION
1003 BITS 3,2,1,0
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE “B” -- FUNCTION
1003 BITS 7,6,5,4
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE “C” -- FUNCTION
1004 BITS 3,2,1,0
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE “D” -- FUNCTION
1004 BITS 7,6,5,4
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE “E” -- FUNCTION
1005 BITS 3,2,1,0
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE “F” -- FUNCTION
1005 BITS 7,6,5,4
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
VARIABLE A, FILTER
1006-1007
Divide By 150
VARIABLE A, BIAS
1008-1009
Divide By 40
VARIABLE A, GAIN
100A-100B
Divide By 1000
VARIABLE A, OUTBIAS
100C-100D
Divide By 40
VARIABLE B, FILTER
100E-100F
Divide By 150
VARIABLE B, BIAS
1010-1011
Divide By 40
VARIABLE B, GAIN
1012-1013
Divide By 1000
VARIABLE B, OUTBIAS
1014-1015
Divide By 40
VARIABLE C, FILTER
1016-1017
Divide By 150
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
VARIABLE C, BIAS
Parameter Address
(HEX)
1018-1019
Conversion Technique
Divide By 40
VARIABLE C, GAIN
101A-101B
Divide By 1000
VARIABLE C, OUTBIAS
101C-101D
Divide By 40
VARIABLE D, FILTER
101E-101F
Divide By 150
VARIABLE D, BIAS
1020-1021
Divide By 40
VARIABLE D, GAIN
1022-1023
Divide By 1000
VARIABLE D, OUTBIAS
1024-1025
Divide By 40
VARIABLE E, FILTER
1026-1027
Divide By 150
VARIABLE E, BIAS
1028-1029
Divide By 40
VARIABLE E, GAIN
102A-102B
Divide By 1000
VARIABLE E, OUTBIAS
102C-102D
Divide By 40
VARIABLE F, FILTER
102E-102F
Divide By 150
VARIABLE F, BIAS
1030-1031
Divide By 40
VARIABLE F, GAIN
1032-1033
Divide By 1000
VARIABLE F, OUTBIAS
1034-1035
Divide By 40
GATE 0 TYPE
1036 BIT 0
Binary Value:
0 = “DIRECT”
1 = “NOT”
GATE 1 TYPE
1036 BIT 1
Binary Value:
0 = “DIRECT”
1 = “NOT”
GATE 2 TYPE
1036 BIT 2
Binary Value:
0 = “DIRECT”
1 = “NOT”
GATE 3 TYPE
1036 BIT 3
Binary Value:
0 = “DIRECT”
1 = “NOT”
GATE 4 TYPE
1036 BIT 4
Binary Value:
0 = “DIRECT”
1 = “NOT”
GATE 0 INPUT SELECTION
1037
Select From GATE INPUT LIST
GATE 1 INPUT SELECTION
1038
Select From GATE INPUT LIST
GATE 2 INPUT SELECTION
1039
Select From GATE INPUT LIST
GATE 3 INPUT SELECTION
103A
Select From GATE INPUT LIST
GATE 4 INPUT SELECTION
103B
Select From GATE INPUT LIST
GATE 5 TYPE
103C BITS 3,2,1,0
Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
GATE 5 INPUT 1 SELECTION
103D
Select From GATE INPUT LIST
GATE 5 INPUT 2 SELECTION
103E
Select From GATE INPUT LIST
GATE 6 TYPE
103F BITS 3,2,1,0
Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
75
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
GATE 6 INPUT 1 SELECTION
76
Parameter Address
(HEX)
1040
Conversion Technique
Select From GATE INPUT LIST
GATE 6 INPUT 2 SELECTION
1041
Select From GATE INPUT LIST
GATE 7 TYPE
1042 BITS 3,2,1,0
Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
GATE 7 INPUT 1 SELECTION
1043
Select From GATE INPUT LIST
GATE 7 INPUT 2 SELECTION
1044
Select From GATE INPUT LIST
GATE 8 TYPE
1045 BITS 3,2,1,0
Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
GATE 8 INPUT 1 SELECTION
1046
Select From GATE INPUT LIST
GATE 8 INPUT 2 SELECTION
1047
Select From GATE INPUT LIST
GATE 9 TYPE
1048 BITS 3,2,1,0
Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
GATE 9 INPUT 1 SELECTION
1049
Select From GATE INPUT LIST
GATE 9 INPUT 2 SELECTION
104A
Select From GATE INPUT LIST
SHOW TUNE C1
104B BIT 6
0 = NO, 1 = YES
SHOW C1 LIMITS
104B BIT 5
0 = NO, 1 = YES
SHOW TUNE C2
104B BIT 4
0 = NO, 1 = YES
SHOW C2 LIMITS
104B BIT 3
0 = NO, 1 = YES
SHOW ALARMS
104B BIT 2
0 = NO, 1 = YES
SHOW CONSTS
104B BIT 1
0 = NO, 1 = YES
SHOW TOTALS
104B BIT 0
0 = NO, 1 = YES
CONTACT OUTPUT 1 SOURCE
104C
Select From GATE INPUT LIST
CONTACT OUTPUT 2 SOURCE
104D
Select From GATE INPUT LIST
EXTERNAL ALARM ACKNOWLEDGE
SOURCE
104E
Select From GATE INPUT LIST
CALC1 STRING (a)
104F-1057
ASCII String
CALC 2 STRING (a)
1058-1060
ASCII String
CALC3 STRING (a)
1061-1067
ASCII String
DYNAMIC LEAD/LAG IMPULSE TYPE
106A BITS 1,0
00 = NONE
01 = NEGATIVE IMPULSE
10 = POSITIVE IMPULSE
11 = BIPOLAR IMPULSE
DYNAMIC COMPENSATOR ON/OFF
SWITCH
106A BIT 2
0 = OFF
1 = ON
FREQUENCY VS. PULSE SELECTION
106A BIT 3
0 = FREQUENCY
1 = PULSED
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
W/P FLUNK
106A BITS 5,4
00 = LAST /P
10 = FLUNK TO “P”
11 = FLUNK TO “W”
W/P PRIORITY
106A BITS 7,6
10 = WORKSTATION
01 = PANEL
11 = BOTH
LEAD LAG FOLLOW SWITCH
106B
Select From SIGNAL DISTRIBUTION LIST
DEADTIME FOLLOW SWITCH
106C
Select From SIGNAL DISTRIBUTION LIST
DYNAMIC COMPENSATOR DEADTIME
106D-106E
DIVIDE BY 150
DYNAMIC COMPENSATOR LEADLAG
GAIN
106F-1070
DIVIDE BY 1000
DYNAMIC COMPENSATOR LEADLAG
BIAS
1071-1072
DIVIDE BY 40
DYNAMIC COMPENSATOR LEADLAG
FILTER TIME
1073-1074
DIVIDE BY 150
WORKSTATION ENABLE
1075 BIT 7
0 = OFF
1 = ON
W/P STARTUP STATE
1075 BIT 6
0 = PANEL
1 = WORKSTATION
WORKSTATION PARITY
1075 BITS 5,4
00 = NONE
01 = ODD PARITY
10 = EVEN PARITY
WORKSTATION BAUD RATE
1075 BITS 3,2,1,0
0011 = 2400 BAUD
0100 = 4800 BAUD
0110 = 9600 BAUD
1000 = 19.2 KBAUD
WORKSTATION ADDRESS
1076-1077
No Conversion Required
W/P TIMEOUT VALUE
1078-1079
DIVIDE BY 150
WORKSTATION FUNCTION SWITCH
107A
See Table 5
CONTROLLER 1 A/M FUNCTION SWITCH 107B
Select From GATE INPUT LIST
CONTROLLER 1 R/L SETPT SWITCH
107C
Select From GATE INPUT LIST
CONTROLLER 1 REMOTE SETPT LOCAL 107D
TRACKING FUNCTION SWITCH
Select From GATE INPUT LIST
CONTROLLER 1 MEASUREMENT
TRACKING FUNCTION SWITCH
107E
Select From GATE INPUT LIST
CONTROLLER 1 OUTPUT TRACKING
FUNCTION SWITCH
107F
Select From GATE INPUT LIST
CONTROLLER 1 OUTPUT HIGH LIMIT
FUNCTION SWITCH
1080
Select From GATE INPUT LIST
CONTROLLER 1 OUTPUT LOW LIMIT
FUNCTION SWITCH
1081
Select From GATE INPUT LIST
CONTROLLER 1 SPT STARTUP
1082 BIT 6
0 = LOCAL
1 = REMOTE
CONTROLLER 1 SPT FORMAT
1082 BITS 3,2,1,0
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
CONTROLLER 1 A/M STARTUP STATE
1083 BIT 6
1 = AUTO
0 = MANUAL
77
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
CONTROLLER 1 FLUNK STATE
1083 BITS 5,4
00 = LAST A/M
10 = MANUAL
11 = AUTO
CONTROLLER 1 MEASUREMENT
FORMAT
1083 BITS 3,2,1,0
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
CONTROLLER 1 OUTPUT STARTUP
SELECTION
1084 BIT 6
0 = LAST VALUE
1 = VALUE
CONTROLLER 1 OUTPUT MODIFIER
(OUT_MOD)
1084 BITS 5,4
00 = NOIMODIFIER
01 = OUTMUL
10 = OUTSUM
CONTROLLER 1 OUTPUT FORMAT
1084 BITS 3,2,1,0
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
CONTROLLER 1 RATIO SOURCE
1085 BIT 7
0 = FACEPLATE
1 = ROUTED
CONTROLLER 1 RATIO GAIN SOURCE
1085 BITS
6,5,4,3,2,1,0
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 OUPUT MODIFIER
SIGNAL
1086
Select From SIGNAL DISTRIBUTION LIST
[ANALOG OUPUT SIGNAL SOURCE]
[Select From SIGNAL DISTRIBUTION
LIST]
CONTROLLER 1 OUTPUT TRACKING
SIGNAL
1087
Select From SIGNAL DISTRIBUTION LIST
[1ST BYTE OF 3 BAR IND1 TAG]
[1087-108F]
[ASCII]
CONTROLLER 1 EXTERNAL RESET
1088
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 OUTPUT HIGH LIMIT
SIGNAL
1089
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 OUTPUT LOW LIMIT
SIGNAL
108A
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 FACEPLATE “P” VALUE
108B-108C
No Conversion Required
CONTROLLER 1 FACEPLATE “I” VALUE
108D-108E
DIVIDE BY 150
CONTROLLER 1 FACEPLATE “D” VALUE
108F-1090
DIVIDE BY 150
BIAS FOR P, PD CONTROLLER 1
1091-1092
[1ST BYTE OF 3 BAR INDICATOR 1 TAG 2] [1091-1099]
78
Conversion Technique
DIVIDE BY 40
[ASCII]
BALANCE FOR P, PD CONTROLLER 1
1093-1094
DIVIDE BY 150
PRELOAD FOR BATCH CONTROLLER 1
1095-1096
DIVIDE BY 40
SETPOINT LAG (SPLAG) CONTROLLER 1 1097-1098
DIVIDE BY 100
RATIO BIAS CONTROLLER 1
DIVIDE BY 40
1099-109A
RATIO RANGE CONTROLLER 1
109B-109C
No Conversion Required
CONTROLLER 1 SETPOINT HIGH LIMIT
109D-109E
DIVIDE BY 40
[1ST BYTE OF 3 BAR INDICATOR TAG 3]
[109D-10A5]
[ASCII]
CONTROLLER 1 SETPOINT LOW LIMIT
109F-10A0
DIVIDE BY 40
CONTROLLER 1 OUTPUT HIGH LIMIT
10A1-10A2
DIVIDE BY 40
CONTROLLER 1 OUTPUT LOW LIMIT
10A3-10A4
DIVIDE BY 40
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 1 REMOTE SETPOINT
BIAS
10A5-10A6
DIVIDE BY 40
CONTROLLER 1 OUTPUT STARTUP
VALUE
10A7-10A8
DIVIDE BY 40
CONTROLLER 1 REMOTE SETPOINT
SOURCE
10A9
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 MEASUREMENT SOUCE 10AA
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 DISPLAY TOP LINE
VARIABLE
10AB
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 OUTBAR SOURCE
10AC
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 1 TYPE
10AD BITS 7-0 (See BIT
BIT
conversion
7 Panel only
2 Bias and Balance Used
Techniques
6 Uses-Totalizer 1 I Only Controller
5 I Term Used 0 D Term Used
4 P Term Used 0 Indicator Panel
3 EXACT Used
CONTROLLER 1 SETPOINT TYPE
10AE BITS 7, 6
00 = Local Setpoint
01 = Remote/Local Setpoint
11 = Ratio Setpoint
CONTROLLER 1 BATCH
10AE BIT 5
0 = Off
1 = On
CONTROLLER 1 ACTION
10AE BIT 4
0 = Increase/Decrease
1 = Increase/Increase
CONTROLLER 1 NON-LINEARITY
10AE BITS 3, 2
00 = Off
01 = Characterizer 2
10 = Characterizer 1
CONTROLLER 1 BYPASS
10AE BITS 1, 0
00 = Off
10 = On
CONTROLLER 1 TAG DISPLAY LOOPTAG
(b)
10B0-10B8
ASCII String (Bit 7 of the character at 1051
must be = 0, otherwise, the TAG DISPLAY
line is being used to display a VARIABLE
instead of a LOOPTAG)
CONTROLLER 1 TAG DISPLAY -- ASCII
VERSUS VARIABLE (b)
10AF BIT 7
Binary Value:
0 = ASCII
1 = Variable
CONTROLLER 1 TAG DISPLAY -- SCALING 10AF BIT 6
TYPE (b)
Binary Value:
0 = Linear
1 = Temperature
CONTROLLER 1 TAG DISPLAY -TEMPERATURE SCALE (b)
10AF BIT 5
Binary Value:
0 = Degrees F
1 = Degrees C
CONTROLLER 1 TAG DISPLAY -TEMPERATURE SOURCE
10AF BITS 3,2,1,0
Binary Value:
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
CONTROLLER 1 TAG DISPLAY -- UNITS
STRING (b)
10B0-10B3
ASCII String
79
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
80
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 1 TAG DISPLAY -ENGINEERING UNITS UPPER RANGE
VALUE (b)
10B4-10B6
16-bit signed mantissa at 10B4-10B6.
Number of decimal places at 1058.
Example: 1056 = FF HEX
1057 = F1 HEX
1058 = 03 HEX
Mantissa is FFF1 HEX, which is -15
decimal. Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 1 TAG DISPLAY -ENGINEERING UNITS LOWER RANGE
VALUE (b)
10B7-10B9
16-bit signed mantissa at 10B7-10B9.
Number of decimal places at 105B.
Example: 1059 = FF HEX
105A = F1 HEX
105B = 03 HEX
Mantissa is FFF1 HEX, which is -15
decimal. Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 1 SPT, MEAS DEGREES
10BA BIT 5
0 = Degrees F
1 = Degrees C
CONTROLLER 1 5P, MEAS TYPE
10BA BIT 6
0 = Temperature
1 = Linear
CONTROLLER 1 SP, MEAS TEMP
10BA BITS 3,2,1,0
0000 = N/A
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
CONTROLLER 1 PH DISPLAY
10BA BIT 4
0 = OFF
1 = ON
CONTROLLER 1 SPT, MEAS, UNITS
10BB-10BE
ASCII
CONTROLLER 1 SPT, MEAS, UPPER
RANGE VALUE
10BF-10C1
16-bit signed mantissa at 10BF-10C1.
Number of decimal places at 10C1.
Example: 10BF = FF HEX
10C0 = F1 HEX
10C1 = 03 HEX
Mantissa is FFF1 which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 1 SPT, MEAS, LOWER
RANGE VALUE
10C2-10C4
16-bit signed mantissa at 10C2-10C4.
Number of decimal places at 10C1.
Example: 10C2 = FF HEX
10C3 = F1 HEX
10CA = 03 HEX
Mantissa is FFF1 which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 1 RATIO UNITS
10C6-10C9
ASCII
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 1 RATIO UPPER RANGE
VALUE
10CA-10CC
16-bit signed mantissa at 10CA-10CC.
Number of decimal places at 10CC.
Example: 10CA = FF HEX
10CB = F1 HEX
10C1 = 03 HEX
Mantissa is FFF1 which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 1 RATIO LOWER RANGE
VALUE
10CD-10CF
16-bit signed mantissa at 10CD-10CF.
Number of decimal places at 10CF.
See above Example.
CONTROLLER 1 MEAS ALARM DISPLAY
10D0 BIT 1
0 = NO
1 = YES
CONTROLLER 1 OUT ALARM DSPLAY
10D0 BIT 0
0 = NO
1 = YES
CONTROLLER 1 EXACT SWITCH
10D1
See Table 5
[FIRST BYTE OF TOTALIZER 1 TAG]
[10D1-10D9]
[ASCII]
CONTROLLER 1 PBAND VALUE
10D2-10D3
No Conversion Required
CONTROLLER 1 I TERM
10D4-10D5
DIVIDE BY 150
CONTROLLER 1 D TERM
10D6-10D7
DIVIDE BY 150
CONTROLLER 1 EXACT NB
10D8-10D9
DIVIDE BY 40
CONTROLLER 1 EXACT WMAY
10DA-10DB
DIVIDE BY 150
[TOTALIZER 1 SCALE FACTOR]
[10DA-10DB]
[No Conversion Required]
CONTROLLER 1 EXACT DMP
10DC-10DD
DIVIDE BY 100
[TOTALIZER1 DECIMAL POINT POSITION] [10DD]
[N= number of decimal positions, where
N=0 through 7]
CONTROLLER 1 EXACT OVR
10DE-10DF
DIVIDE BY 100
[TOTALIZER 1 SOURCE]
[10DE]
[Select from SIGNAL DISTRIBUTION
LIST]
[TOTALIZER 1 COUNT DIRECTION]
[10DF BIT 0]
[0 =count up, 1 =count down]
CONTROLLER 1 EXACT CLM
10E0-10E1
DIVIDE BY 100
[TOTALIZER 1 HOLD SWITCH]
[10E0]
[Select from GATE INPUT LIST]
[TOTALIZER 1 RESET SWITCH]
[10E1]
[Select from GATE INPUT LIST]
CONTROLLER 1 EXACT DKC
10E2-10E3
DIVIDE BY 100
[TOTALIZER 1 TOTAL]
[10E2-10E4]
[No Conversion Required]
CONTROLLER 1 EXACT LMT
10E4-10E5
DIVIDE BY 40
[TOTALIZER 1 PRESET]
[10E5-10E7]
[No Conversion Required]
CONTROLLER 1 EXACT BMP
10E6-10E7
DIVIDE BY 40
CONSTANT 1, G
10E8-10E9
DIVIDE BY 40
CONSTANT 2, H
10EA-10EB
DIVIDE BY 40
CONSTANT 3, I
10EC-10ED
DIVIDE BY 40
CONSTANT 4, J
10EE-10EF
DIVIDE BY 40
ANALOG INPUT 1 ZERO
10F0-10F1
No Conversion Required
ANALOG INPUT 1 FULL SCALE
10F2-10F3
No Conversion Required
ANALOG INPUT 2 ZERO
10F4-10F5
No Conversion Required
ANALOG INPUT 2 FULL SCALE
10F6-10F7
No Conversion Required
ANALOG INPUT 3 ZERO
10F8-10F9
No Conversion Required
81
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
82
Parameter Address
(HEX)
Conversion Technique
ANALOG INPUT 3 FULL SCALE
10FA-10FB
No Conversion Required
ANALOG INPUT 4 ZERO
10FC-10FD
No Conversion Required
ANALOG INPUT 4 FULL SCALE
10FE-10FF
No Conversion Required
FREQUENCY INPUT 1 ZERO
1100-1101
No Conversion Required
FREQUENCY INPUT 1 FULL SCALE
1102-1103
No Conversion Required
FREQUENCY INPUT 2 ZERO
1104-1105
No Conversion Required
FREQUENCY INPUT 2 FULL SCALE
1106-1107
No Conversion Required
ANALOG OUTPUT 1 ZERO
1108-1109
No Conversion Required
ANALOG OUTPUT 1 FULL SCALE
110A-110B
No Conversion Required
ANALOG OUTPUT 2 ZERO
110C-110D
No Conversion Required
ANALOG OUTPUT 2 FULL SCALE
110E-110F
No Conversion Required
CONTROLLER 2 A/M FUNCTION SWITCH 1110
Select from GATE INPUT LIST
CONTROLLER 2 R/L SETPT SWITCH
1111
Select from GATE INPUT LIST
CONTROLLER 2 REMOTE SETPT LOCAL 1112
TRACKING FUNCTION SWITCH
Select from GATE INPUT LIST
CONTROLLER 2 MEASUREMENT
TRACKING FUNCTION SWITCH
1113
Select from GATE INPUT LIST
OUTPUT TRACKING FUNCTION SWITCH
1114
Select from GATE INPUT LIST
CONTROLLER 2 OUTPUT HIGH LIMIT
FUNCTION SWITCH
1115
Select from GATE INPUT LIST
CONTROLLER 2 OUTPUT LOW LIMIT
FUNCTION SWITCH
1116
Select from GATE INPUT LIST
CONTROLLER 2 SPT STARTUP
1117 BIT 6
0 = LOCAL
1 = REMOTE
CONTROLLER 2 SPT FORMAT
1117 BITS 3,2,1,0
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
CONTROLLER 2 A/M STARTUP STATE
1118 BIT 6
1 = AUTO
0 = MANUAL
CONTROLLER 2 A/M FLUNK STATE
1118 BITS 5,4
00 = LAST A/M
10 = MANUAL
11 = AUTO
CONTROLLER 2 MEASUREMENT
FORMAT
1118 BITS 3,2,1,0
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
CONTROLLER 2 OUTPUT STARTUP
SELECTION
1119 BIT 6
0 = LAST VALUE
1 = VALUE
CONTROLLER 2 OUTPUT MODIFIER
(OUT_MOD)
1119 BITS 5,4
00 = NOMODIFIER
01 = OUTMUL
10 = OUTSUM
CONTROLLER 2 RATIO SOURCE
111A BIT 7
0 = FACEPLATE
1 = ROUTED
CONTROLLER 2 RATIO GAIN SOURCE
111A BITS
6,5,4,3,2,1,0
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 2 OUTPUT MODIFIER
SIGNAL
111B
Select From SIGNAL DISTRIBUTION LIST
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
[ANALOG OUTPUT SIGNAL SOURCE]
Conversion Technique
[Select From SIGNAL DISTRIBUTION
LIST]
CONTROLLER 2 OUTPUT TRACKING
SIGNAL
111C
Select From SIGNAL DISTRIBUTION LIST
[FIRST BYTE OF 3 BAR IND2 TAG]
[111C-1124]
[ASCII]
CONTROLLER 2 EXTERNAL RESET
111D
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 2 OUTPUT HIGH LIMIT
SIGNAL
111E
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 2 OUTPUT LOW LIMIT
SIGNAL
111F
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 2 FACEPLATE “P” VALUE
1120-1121
No Conversion Required
CONTROLLER 2 FACEPLATE “I” VALUE
1122-1123
DIVIDE BY 150
CONTROLLER 2 FACEPLATE “D” VALUE
1124-1125
DIVIDE BY 150
BIAS FOR P, PD CONTROLLER 2
1126-1127
DIVIDE BY 40
[FIRST BYTE OF 3 BAR INDICATOR 2 TAG [1126-112E]
2]
[ASCII]
BALANCE FOR P, PD CONTROLLER 2
1128-1129
DIVIDE BY 150
PRELOAD FOR BATCH CONTROLLER 2
112A-112B
SETPOINT LAG (SPLAG) CONTROLLER 2 112C-112D
DIVIDE BY 40
DIVIDE BY 100
RATIO BIAS CONTROLLER 2
112E-112F
DIVIDE BY 40
RATIO RANGE CONTROLLER 2
1130-1131
No Conversion Required
CONTROLLER 2 SETPOINT HIGH LIMIT
1132-1133
DIVIDE BY 40
[FIRST BYTE OF 3 BAR INDICATOR 2 TAG [1132-113A]
3]
[ASCII]
CONTROLLER 2 SETPOINT LOW LIMIT
DIVIDE BY 40
1134-1135
CONTROLLER 2 OUTPUT HIGH LIMIT
1136-1137
DIVIDE BY 40
CONTROLLER 2 OUTPUT LOW LIMIT
1138-1139
DIVIDE BY 40
CONTROLLER 2 REMOTE SETPOINT
BIAS
113A-113B
DIVIDE BY 40
CONTROLLER 2 OUTPUT STARTUP
VALUE
113C-113D
DIVIDE BY 40
CONTROLLER 2 REMOTE SETPOINT
SOURCE
113E
Select from SIGNAL DISTRIBUTION LIST
CONTROLLER 2 MEASUREMENT
SOURCE
113F
Select from SIGNAL DISTRIBUTION LIST
CONTROLLER 2 DISPLAY TOP LINE
VARIABLE
1140
Select from SIGNAL DISTRIBUTION LIST
CONTROLLER 2 OUTBAR SOURCE
1141
Select from SIGNAL DISTRIBUTION LIST
CONTROLLER 2 TYPE
1142
BITS 7-0
(See conversion
technique)
BIT
BIT
7 Panel Only
2 Bias and Balance Used
6 Uses Totalizer 1 I Only Controller
5 I Term Used 0 D Term Used
4 P Term Used 0 Indicator Panel
3 EXACT Used
CONTROLLER 2 SETPOINT TYPE
1143 BITS 7, 6
00 = Local Setpoint
01 = Remote/Local Setpoint
11 = Ratio Setpoint
CONTROLLER 2 BATCH
1143 BIT 5
0 = Off
1 = On
83
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
84
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 2 ACTION
1143 BIT 4
0 = Increase/Decrease
1 = Increase/Increase
CONTROLLER 2 NON-LINEARITY
1143 BITS 3, 2
00 = Off
01 = Characterizer 2
10 = Characterizer 1
CONTROLLER 2 BYPASS
1143 BITS 1, 0
00 = Off
10 = On
CONTROLLER 2 TAG DISPLAY LOOPTAG
(c)
1144-114C
ASCII String (Bit 7 of the character at 1051
must be = 0, otherwise the TAG DISPLAY
line is being used to display a VARIABLE
instead of a LOOPTAG)
CONTROLLER 2 TAG DISPLAY -- ASCII
VERSUS VARIABLE (c)
1144 BIT 7
Binary Value:
0 = ASCII
1 = Variable
CONTROLLER 2 TAG DISPLAY -- SCALING 1144 BIT 6
TYPE (c)
Binary Value:
0 = Linear
1 = Temperature
CONTROLLER 2 TAG DISPLAY -TEMPERATURE SCALE (c)
1144 BIT 5
Binary Value:
0 = Degrees F
1 = Degrees C
CONTROLLER 2 TAG DISPLAY -TEMPERATURE SOURCE
1144 BITS 3,2,1,0
Binary Value:
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
CONTROLLER 2 TAG DISPLAY -- UNITS
STRING (c)
1145-1148
ASCII String
CONTROLLER 2 TAG DISPLAY -ENGINEERING UNITS UPPER RANGE
VALUE (c)
1149-114B
16-bit signed mantissa at 1056-1057.
Number of decimal places at 1058.
Example: 1056 = FF HEX
1057 = F1 HEX
1058 = 03 HEX
Mantissa is FFF1 HEX, which is -15
decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 2 TAG DISPLAY -ENGINEERING UNITS LOWER RANGE
VALUE (c)
114C-114E
16-bit signed mantissa at 1059-105A.
Number of decimal places at 105B.
Example: 1059 = FF HEX
105A = F1 HEX
105B = 03 HEX
Mantissa is FFF1 HEX, which is -15
decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 2 SPT, MEAS DEGREES
114F BIT 5
0 = Degrees F
1 = Degrees C
CONTROLLER 2 SP, MEAS TYPE
114F BIT 6
0 = Temperature
1 = Linear
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 2 SP, MEAS TEMP
114F BITS 3,2,1,0
0000 = N/A
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
CONTROLLER 2 PH DISPLAY
114F BIT 4
0 = OFF
1 = ON
CONTROLLER 2 SPT, MEAS UNITS
1150-1153
ASCII
CONTROLLER 2 SPT, MEAS UPPER
RANGE VALUE
1154-1156
16-bit signed mantissa at 10BF-10C1.
Number of decimal places at 10C1.
Example: 10BF = FF HEX
10C0 = F1 HEX
10C1 = 03 HEX
Mantissa is FFF1, which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 2 SPT, MEAS LOWER
RANGE VALUE
1157-1159
16-bit signed mantissa at 10C2-10C4.
Number of decimal places at 10C4.
Example: 10C2 = FF HEX
10C3 = F1 HEX
10C4 = 03 HEX
Mantissa is FFF1, which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 2 RATIO UNITS
115B-115E
ASCII
CONTROLLER 2 RATIO UPPER RANGE
VALUE
115F-1161
16-bit signed mantissa at 10CA-10CC.
Number of decimal places at 10CC.
Example: 10CA = FF HEX
10CB = F1 HEX
10CC = 03 HEX
Mantissa is FFF1, which is -15 decimal.
Exponent: 10-3 = 0.001
Value = (-15)*(0.001)
= -0.015
CONTROLLER 2 RATIO LOWER RANGE
VALUE
1162-1164
16-bit signed mantissa at 10CD-10CF.
Number of decimal places at 10CF
See above Example.
CONTROLLER 2 MEAS ALARM DISPLAY
1165 BIT 1
0 = NO
1 = YES
CONTROLLER 2 OUT ALARM DISPLAY
1165 BIT 0
0 = NO
1 = YES
CONTROLLER 2 EXACT SWITCH
1166
See Table 5.
[FIRST BYTE OF TOTALIZER 2 TAG]
[1166-116E]
[ASCII]
CONTROLLER 2 PBAND VALUE
1167-1168
No Conversion Required
CONTROLLER 2 I TERM
1169-116A
DIVIDE BY 150
CONTROLLER 2 D TERM
116B-116C
DIVIDE BY 150
CONTROLLER 2 EXACT NB
116D-116E
DIVIDE BY 40
CONTROLLER 2 EXACT WMAY
116F-1170
DIVIDE BY 150
[TOTALIZER 2 SCALE FACTOR]
[116F-1170]
[No Conversion Required]
CONTROLLER 2 EXACT DMP
1171-1172
DIVIDE BY 100
85
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
Conversion Technique
[TOTALIZER 2 DECIMAL POINT POSITION] [1172]
[N= number of decimal positions, where
N=0 through 7]
CONTROLLER 2 EXACT OVR
1173-1174
DIVIDE BY 100
[TOTALIZER 2 SOURCE]
[1173]
[Select from SIGNAL DISTRIBUTION
LIST]
[TOTALIZER 2 COUNT DIRECTION]
[1174 BIT 4]
[0 = count up
1 = count down]
CONTROLLER 2 EXACT CLM
1175-1176
DIVIDE BY 100
[TOTALIZER 2 HOLD SWITCH]
[1175]
[Select from GATE INPUT LIST]
[TOTALIZER 2 RESET SWITCH]
[1176]
[Select from GATE INPUT LIST]
CONTROLLER 2 EXACT DKC
1177-1178
DIVIDE BY 100
[TOTALIZER 2 TOTAL]
[1177-1179]
[No Conversion Required]
CONTROLLER 2 EXACT LMT
1179-117A
DIVIDE BY 40
[TOTALIZER 2 PRESET]
[117A-117C]
[No Conversion Required]
CONTROLLER 2 EXACT BMP
117B-117C
DIVIDE BY 40
STRATEGY
117D
GROUP 1 ENABLED
117D BIT 0
1 = ENABLED
GROUP 2 ENABLED
117D BIT 1
1 = ENABLED
CASCADE
117D BIT 2
1 = CASCADE
AUTOSEC
117D BIT 3
1 = AUTOSEC
SPLIT RANGE
117D BIT 4
1 = SPLIT (RANGE)
SMOOTH CHANGE
SPLIT RANGE, ANALOG OUTPUT, AUTO
SELECTION CONFIGURATION
LO_REVERSE
117D BIT 7
117E
117E BIT 0
1 = LO REVERSE
HI_REVERSE
117E BIT 1
1 = HI REVERSE
AOUT1_REVERSE
117E BIT 2
1 = AOUT1 REVERSED
AOUT2_REVERSE
117E BIT 3
1 = AOUT2 REVERSED
HI_SELECT
117E BIT 4
1 = HIGH AUTO SELECT
GATE_SELECT
117E BIT 5
1 = GATE AUTO SELECT
HIDE _CTL
117E BIT 6
1 = SUPPRESS READ CONTROL
SINGLE_MA
117E BIT 7
1 = AUTO SELECT TRACKING ENABLED
117F
See Table 6.
SPLIT RANGE SPLIT POINT
1180
[No Conversion Required]
SPLIT RANGE DEADBAND
1181
[Divide by 10]
ALARM 1 FORM
1182
BIT
7 PERMISSIVE
6 LATCHING
5 DEV4 ROC2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR   (1=HIGH LIMIT ALARM
0 L2_DIR  (0=LOW LIMIT ALARM
AOUT2 SIGNAL SOURCE
86
Parameter Address
(HEX)
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
ALARM 2 FORM
1183
BIT
7 PERMISSIVE
6 LATCHING
5 DEV4 ROC2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR   (1=HIGH LIMIT ALARM
0 L2_DIR  (0=LOW LIMIT ALARM
ALARM 3 FORM
1184
BIT
7 PERMISSIVE
6 LATCHING
5 DEV4 ROC2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR   (1=HIGH LIMIT ALARM
0 L2_DIR  (0=LOW LIMIT ALARM
ALARM 4 FORM
1185
BIT
7 PERMISSIVE
6 LATCHING
5 DEV4 ROC2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR   (1=HIGH LIMIT ALARM
0 L2_DIR  (0=LOW LIMIT ALARM
ALARM 1 ALARMED SIGNAL
1186
See Table 6.
ALARM 1 REFERENCED SIGNAL (DEV
ALM)
1187
See Table 6.
ALARM 2 ALARMED SIGNAL
1188
See Table 6.
ALARM 2 REFERENCED SIGNAL (DEV
ALM)
1189
See Table 6.
ALARM 3 ALARMED SIGNAL
118A
See Table 6.
ALARM 3 REFERENCED SIGNAL (DEV
ALM)
118B
See Table 6.
ALARM 4 ALARMED SIGNAL
118C
See Table 6.
ALARM 4 REFERENCED SIGNAL (DEV
ALM)
118D
See Table 6.
ALARM 1 LEVEL 1
118E-118F
DIVIDE BY 40
ALARM 1 LEVEL 2
1190-1191
DIVIDE BY 40
ALARM 1 DEADBAND
1192-1193
DIVIDE BY 40
ALARM 2 LEVEL 1
1194-1195
DIVIDE BY 40
ALARM 2 LEVEL 2
1196-1197
DIVIDE BY 40
ALARM 2 DEADBAND
1198-1199
DIVIDE BY 40
ALARM 3 LEVEL 1
119A-119B
DIVIDE BY 40
ALARM 3 LEVEL 2
119C-119D
DIVIDE BY 40
ALARM 3 DEADBAND
119E-119F
DIVIDE BY 40
ALARM 4 LEVEL 1
11A0-11A1
DIVIDE BY 40
ALARM 4 LEVEL 2
11A2-11A3
DIVIDE BY 40
ALARM 4 DEADBAND
11A4-11A5
DIVIDE BY 40
CHAR BLK 1 -- NUMBER OF PTS
11A6-11A7
DIVIDE BY 40
CHAR BLK 1 -- PT 01, X COORD
11A8-11A9
DIVIDE BY 40
CHAR BLK 1 -- PT 02, X COORD
11AA-11AB
DIVIDE BY 40
87
MI 018-888 – November 2017
Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
88
Parameter Address
(HEX)
Conversion Technique
CHAR BLK 1 -- PT 03, X COORD
11AC-11AD
DIVIDE BY 40
CHAR BLK 1 -- PT 04, X COORD
11AE-11AF
DIVIDE BY 40
CHAR BLK 1 -- PT 05, X COORD
11B0-11B1
DIVIDE BY 40
CHAR BLK 1 -- PT 06, X COORD
11B2-11B3
DIVIDE BY 40
CHAR BLK 1 -- PT 07, X COORD
11B4-11B5
DIVIDE BY 40
CHAR BLK 1 -- PT 08, X COORD
11B6-11B7
DIVIDE BY 40
CHAR BLK 1 -- PT 09, X COORD
11B8-11B9
DIVIDE BY 40
CHAR BLK 1 -- PT 01, Y COORD
11BA-11BB
DIVIDE BY 40
CHAR BLK 1 -- PT 02, Y COORD
11BC-11BD
DIVIDE BY 40
CHAR BLK 1 -- PT 03, Y COORD
11BE-11BF
DIVIDE BY 40
CHAR BLK 1 -- PT 04, Y COORD
11C0-11C1
DIVIDE BY 40
CHAR BLK 1 -- PT 05, Y COORD
11C2-11C3
DIVIDE BY 40
CHAR BLK 1 -- PT 06, Y COORD
11C4-11C5
DIVIDE BY 40
CHAR BLK 1 -- PT 07, Y COORD
11C6-11C7
DIVIDE BY 40
CHAR BLK 1 -- PT 08, Y COORD
11C8-11C9
DIVIDE BY 40
CHAR BLK 1 -- PT 09, Y COORD
11CA-11CB
DIVIDE BY 40
CHAR BLK 2 -- NUMBER OF PTS
11CC-11CD
No Conversion Required
CHAR BLK 2 -- PT 01, X COORD
11CE-11CF
DIVIDE BY 40
CHAR BLK 2 -- PT 02, X COORD
11D0-11D1
DIVIDE BY 40
CHAR BLK 2 -- PT 03, X COORD
11D2-11D3
DIVIDE BY 40
CHAR BLK 2 -- PT 04, X COORD
11D4-11D5
DIVIDE BY 40
CHAR BLK 2 -- PT 05, X COORD
11D6-11D7
DIVIDE BY 40
CHAR BLK 2 -- PT 06, X COORD
11D8-11D9
DIVIDE BY 40
CHAR BLK 2 -- PT 07, X COORD
11DA-11DB
DIVIDE BY 40
CHAR BLK 2 -- PT 08, X COORD
11DC-11DD
DIVIDE BY 40
CHAR BLK 2 -- PT 09, X COORD
11DE-11DF
DIVIDE BY 40
CHAR BLK 2 -- PT 01, Y COORD
11E0-11E1
DIVIDE BY 40
CHAR BLK 2 -- PT 02, Y COORD
11E2-11E3
DIVIDE BY 40
CHAR BLK 2 -- PT 03, Y COORD
11E4-11E5
DIVIDE BY 40
CHAR BLK 2 -- PT 04, Y COORD
11E6-11E7
DIVIDE BY 40
CHAR BLK 2 -- PT 05, Y COORD
11E8-11E9
DIVIDE BY 40
CHAR BLK 2 -- PT 06, Y COORD
11EA-11EB
DIVIDE BY 40
CHAR BLK 2 -- PT 07, Y COORD
11EC-11ED
DIVIDE BY 40
CHAR BLK 2 -- PT 08, Y COORD
11EE-11EF
DIVIDE BY 40
CHAR BLK 2 -- PT 09, Y COORD
11F0-11F1
DIVIDE BY 40
CONTROLLER 2 LOCAL SETPOINT
11F2-11F3
DIVIDE BY 40
Appendix B. Controller Data Structure
MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
Conversion Technique
CONTROLLER 1 LOCAL SETPOINT
11F4-11F5
DIVIDE BY 40
CONTROLLER 2 OUTPUT
11F6-11F7
DIVIDE BY 40
CONTROLLER 1 OUTPUT
11F8-11F9
DIVIDE BY 40
CONTROLLER 2 RATIO GAIN
11FA-11FB
DIVIDE BY 40
CONTROLLER 1 RATIO GAIN
11FC-11FD
DIVIDE BY 40
a. For download must conform to calculation function rules [] Denotes alternative use of memory location.
b. The configuration area at 10AF-10B8 has two different forms depending upon the current configuration. If bit 7 of the
value at 10AF is a zero, the tag display line is being used to display an ASCII character string. If instead, bit 7 of the
value at 10AF is a one, the tag display line is being used to display a variable. The configuration area will either contain
nine ASCII characters or the display-variable descriptor as defined in the following entries.
c. The configuration area at 1144-114C has two different forms depending upon the current configuration. If bit 7 of the
value at 1144 is a zero, the tag display line is being used to display an ASCII character string. If instead, bit 7 of the
value at 1144 is a one, the tag display line is being used to display a variable. The configuration area will either contain
nine ASCII characters or the display-variable descriptor as defined in the following entries.
89
MI 018-888 – November 2017
90
Appendix B. Controller Data Structure
Appendix C. Cyclic Redundancy
Check
This section describes two procedures used to generate the integrity-of-message check (Cyclic
Redundancy Check, CRC) characters that appear at the end of every message.
Polynomial Method
The CRC-16 code is used to protect all messages that are sent or received by the controller. The
CRC-16 code generates 16 bits of redundant information from the data that is being transmitted.
The data protection characteristics of the CRC-16 code result from the fact that each bit making
up the message affects the value of a sequence of bits in the generated CRC characters. Moreover,
the value of these characters is dependent upon the order in which the message bits are
transmitted. That is, encoding the binary value 00001111 does not yield the same CRC
characters as encoding the binary value 11110000.
The CRC characters are generated by examining the message one bit at a time and conditionally
performing a logical Exclusive-Or (XOR) of the Generator Polynomial with the current CRC
value. For CRC-16 the generator polynomial is:
X16 + X12 + X5 + X0
The coefficients of the terms of the generator polynomial form a string of seventeen (17) zeroes
and ones as follows:
1 00010000 00100001 = 11021 (HEX)
When the value shown above (11021 HEX) is XOR'd into the CRC, four bits in the CRC are
“flipped.” For a communications error to escape detection, a very specific pattern of bits must be
altered without affecting the intervening bits.
The CRC characters are generated by the following algorithm:
1. Initialize the 17 bits of the CRC to zero.
2. Get the next data byte to be encoded. If no more bytes are to be encoded, go to Step 8.
3. Shift the data byte left by one bit into a holding area. Shift in a zero on the right.
4. Shift the 17 CRC bits left by one bit with a zero inserted on the right.
5. Compare the bit in the holding area with the most-significant bit of the CRC. If the
values are equal, go to Step 7.
6. Update the CRC value by performing an XOR with the value 11021 HEX.
7. If all eight data bits of the current byte have been examined go to Step 2, otherwise go
to Step 3.
8. Throw away the most-significant bit of the accumulated CRC, leaving 16 CRC bits.
91
MI 018-888 – November 2017
Appendix C. Cyclic Redundancy Check
The protocol further specifies that the CRC is not accumulated for the start-of-message elements
(DLE-STX), the second DLE character in a doubled pair in the “data” element, and the DLE of
the end-of-message elements (DLE-ETX).
NOTE
The ETX character is accumulated as part of the CRC.
Any device that communicates with the controller must strictly adhere to the CRC generating
specifications or the computer will respond with a Negative Acknowledgment (NAK) and ignore
the contents of the received message. It is also important to note that the protocol requires that all
message characters that are equal to the ASCII “DLE” character (10 HEX), including those that
occur within the CRC portion of the message, must be duplicated (see “Example 3: Upload
Command to Controller Address 01”, below). This ensures that the DLE-STX and DLE-ETX
character sequences will never be misidentified due to the occurrence of special characters within
the CRC.
The following examples illustrate the complete content of messages that could be transmitted to
the controller. All numbers are in hexadecimal. Note the occurrence of doubled DLE characters in
“Example 2: Upload Command to Controller Address 01” and “Example 3: Upload Command
to Controller Address 01”.
Example 1: Poll Message to Controller Address 01
DLE
STX
cntlr
addr
Poll
cmd
DLE
ETX
CRC
high
byte
CRC
low
byte
(10)
(02)
(01)
(0B)
(10)
(03)
(DB)
(A9)
Example 2: Upload Command to Controller Address 01
Upload five (5) bytes beginning with address 1000 (HEX):
92
DLE
STX
cntlr
addr
Upload
cmd
Upload
addr
(high)
Doubled
DLE
char
Upload
addr
(low)
(10)
(02)
(01)
(0E)
(10)
(10)
(00)
Upload
byte
count
DLE
X
ETX
CRC
high
byte
CRC
low
byte
(05)
(10)
(03)
(5E)
(39)
Appendix C. Cyclic Redundancy Check
MI 018-888 – November 2017
Example 3: Upload Command to Controller Address 01
Upload eleven (11 decimal or 0B hexadecimal) bytes beginning with address 002B (HEX):
DLE
STX
cntlr
addr
Upload
cmd
Upload
addr
(high)
Upload
addr
(low)
Upload
byte
count
(10)
(02)
(01)
(0E)
(00)
(2B)
(0B)
DLE
ETX
CRC
high
byte
Doubled
DLE
char
CRC
low
byte
(10)
(03)
(10)
(10)
(A6)
Lookup Table Method
An alternate method for calculating the CRC value of an incoming (or outgoing) message is to use
a lookup table. This table contains the calculated CRC for each of the 256 possible values of a
byte. It is then much easier to do a lookup on the CRC value of each incoming byte and apply it
to the generation of the CRC value of the complete message.
CRC Table Generation
The lookup table, called 'crc table', is generated using the following algorithm:
NOTE
There are two intermediate tables used in this algorithm.
lo nibble val — holds the CRC values of the 16 possible numbers that may be stored in the low
nibble of a byte (0X00 through 0X0F)
hi nibble val — holds the CRC values of the 16 possible numbers that may be stored in the high
nibble of a byte (0X00, 0X10, ... 0XF0)
func build crc table
begin
for each possible nibble value
(0 <= i <= 0x0F)
set lo nibble val[i] <- i * 1021
set hi nibble val[i] <- (i left shifted by 4) * 1021
set hi nibble val[i] <- hi nibble val[i] .xor.
lo nibble val[i]
endfor
for each possible byte value (0 <= i <= 0xFF)
set ln
<- low nibble of i
93
MI 018-888 – November 2017
set hn
Appendix C. Cyclic Redundancy Check
<- high nibble of i
set crc table[i] <- lo nibble val[ln] .xor.
hi nibble val[hn]
endfor
end build crc table
CRC Table Usage
The following algorithm illustrates how to use the lookup table to generate the unique CRC for a
complete message:
NOTE
This algorithm expects a pointer to the first byte of the message as well as a count of
the number of bytes in the message. Remember, this message MUST include the
trailing ETX character.
func calc crc
begin
set crc value <- 0 (crc value need only be 16 bits)
for each byte in the message
set msb <- high order byte of the current crc value
set lsb <- low order byte of the current crc value
set index
<- current byte .xor. msb
set crc value <- crc table[index] .xor. (lsb left shifted by 8)
endfor
return crc value
end calc crc
Calculated CRC Table
The following table was calculated using the build crc table algorithm described above:
Table 8. CRC Lookup Table
94
[00] = 0000
[01] = 1021
[02] = 2042
[03] = 3063
[04] = 4084
[05] = 50A5
[06] = 60C6
[07] = 70E7
[08] = 8108
[09] = 9129
[0A] = A14A
[0B] = B16B
[0C] = C18C
[0D] = D1AD
[0E] = E1CE
[0F] = F1EF
[10] = 1231
[11] = 0210
[12] = 3273
[13] = 2252
[14] = 52B5
[15] = 4294
[16] = 72F7
[17] = 62D6
[18] = 9339
[19] = 8318
[1A] = B37B
[1B] = A35A
[1C] = D3BD
[1D] = C39C
[1E] = F3FF
[1F] = E3DE
[20] = 2462
[21] = 3443
[22] = 0420
[23] = 1401
[24] = 64E6
[25] = 74C7
[26] = 44A4
[27] = 5485
[28] = A56A
[29] = B54B
[2A] = 8528
[2B] = 9509
Appendix C. Cyclic Redundancy Check
MI 018-888 – November 2017
Table 8. CRC Lookup Table (Continued)
[2C] = E5EE
[2D] = F5CF
[2E] = C5AC
[2F] = D58D
[30] = 3653
[31] = 2672
[32] = 1611
[33] = 0630
[34] = 76D7
[35] = 66F6
[36] = 5695
[37] = 46B4
[38] = B75B
[39] = A77A
[3A] = 9719
[3B] = 8738
[3C] = F7DF
[3D] = E7FE
[3E] = D79D
[3F] = C7BC
[40] = 48C4
[41] = 58E5
[42] = 6886
[43] = 78A7
[44] = 0840
[45] = 1861
[46] = 2802
[47] = 3823
[48] = C9CC
[49] = D9ED
[4A] = E98E
[4B] = F9AF
[4C] = 8948
[4D] = 9969
[4E] = A90A
[4F] = B92B
[50] = 5AF5
[51] = 4AD4
[52] = 7AB7
[53] = 6A96
[54] = 1A71
[55] = 0A50
[56] = 3A33
[57] = 2A12
[58] = DBFD
[59] = CBDC
[5A] = FBBF
[5B] = EB9E
[5C] = 9B79
[5D] = 8B58
[5E] = BB3B
[5F] = AB1A
[60] = 6CA6
[61] = 7C87
[62] = 4CE4
[63] = 5CC5
[64] = 2C22
[65] = 3C03
[66] = 0C60
[67] = 1C41
[68] = EDAE
[69] = FD8F
[6A] = CDEC
[6B] = DDCD
[6C] = AD2A
[6D] = BD0B
[6E] = 8D68
[6F] = 9D49
[70] = 7E97
[71] = 6EB6
[72] = 5ED5
[73] = 4EF4
[74] = 3E13
[75] = 2E32
[76] = 1E51
[77] = 0E70
[78] = FF9F
[79] = EFBE
[7A] = DFDD
[7B] = CFFC
[7C] = BF1B
[7D] = AF3A
[7E] = 9F59
[7F] = 8F78
[80] = 9188
[81] = 81A9
[82] = B1CA
[83] = A1EB
[84] = D10C
[85] = C12D
[86] = F14E
[87] = E16F
[88] = 1080
[89] = 00A1
[8A] = 30C2
[8B] = 20E3
[8C] = 5004
[8D] = 4025
[8E] = 7046
[8F] = 6067
[90] = 83B9
[91] = 9398
[92] = A3FB
[93] = B3DA
[94] = C33D
[95] = D31C
[96] = E37F
[97] = F35E
[98] = 02B1
[99] = 1290
[9A] = 22F3
[9B] = 32D2
[9C] = 4235
[9D] = 5214
[9E] = 6277
[9F] = 7256
[A0] = B5EA
[A1] = A5CB
[A2] = 95A8
[A3] = 8589
[A4] = F56E
[A5] = E54F
[A6] = D52C
[A7] = C50D
[A8] = 34E2
[A9] = 24C3
[AA] = 14A0
[AB] = 0481
[AC] = 7466
[AD] = 6447
[AE] = 5424
[AF] = 4405
[B0] = A7DB
[B1] = B7FA
[B2] = 8799
[B3] = 97B8
[B4] = E75F
[B5] = F77E
[B6] = C71D
[B7] = D73C
[B8] = 26D3
[B9] = 36F2
[BA] = 0691
[BB] = 16B0
[BC] = 6657
[BD] = 7676
[BE] = 4615
[BF] = 5634
[C0] = D94C
[C1] = C96D
[C2] = F90E
[C3] = E92F
[C4] = 99C8
[C5] = 89E9
[C6] = B98A
[C7] = A9AB
[C8] = 5844
[C9] = 4865
[CA] = 7806
[CB] = 6827
[CC] = 18C0
[CD] = 08E1
[CF] = 28A3
-
[D0] = CB7D
[D1] = DB5C
[D2] = EB3F
[D3] = FB1E
[D4] = 8BF9
[D5] = 9BD8
[D6] = ABBB
[D7] = BB9A
[D8] = 4A75
[D9] = 5A54
[DA] = 6A37
[DB] = 7A16
[DC] = 0AF1
[DD] = 1AD0
[DE] = 2AB3
[DF] = 3A92
[E0] = FD2E
[E1] = ED0F
[E2] = DD6C
[E3] = CD4D
95
MI 018-888 – November 2017
Appendix C. Cyclic Redundancy Check
Table 8. CRC Lookup Table (Continued)
[E4] = BDAA
[E5] = AD8B
[E6] = 9DE8
[E7] = 8DC9
[E8] = 7C26
[E9] = 6C07
[EA] = 5C64
[EB] = 4C45
[EC] = 3CA2
[ED] = 2C83
[EE] = 1CE0
[EF] = 0CC1
[F0] = EF1F
[F1] = FF3E
[F2] = CF5D
[F3] = DF7C
[F4] = AF9B
[F5] = BFBA
[F6] = 8FD9
[F7] = 9FF8
[F8] = 6E17
[F9] = 7E36
[FA] = 4E55
[FB] = 5E74
[FC] = 2E93
[FD] = 3EB2
[FE] = 0ED1
[FF] = 1EF0
Example
The following is an example of CRC generation of the following POLL message using the lookup
table:
DLE
STX
ADR
CMD
DLE
ETX
CRC
CRC
(10)
(02)
(01)
(0B)
(10)
(03)
(DB)
(A9)
(n)
(n)
(n)
(n)
(n)
(n)
(n)
(n)
Of the above messages, only the address (ADR) byte, command (CMD) byte and end-of-text
(ETX) byte are required for proper CRC generation.
Calculation:
Input Byte = 0x01
start crc val = 0
msb
lsb
index
=0
=0
=1
end crc val = 1021
Input Byte = 0x0B
start crc val = 1021
msb
lsb
index
= 10
= 21
= 1B
end crc val = 825A
Input Byte = 0x03
start crc val = 825A
msb
lsb
96
= 82
= 5A
Appendix C. Cyclic Redundancy Check
index
MI 018-888 – November 2017
= 81
end crc val = DBA9
Final result = DBA9
Implementation
The following functions are from the C programming language and are implementations of the
build crc table and calc crc algorithms:
/*
* Definitions
*/
#define CRC CONST
#define low nibble(x)
#define hi nibble(x)
0x1021
(x & 0x0F)
((x & 0xF0) >> 4)
/*
* Global variables
*/
unsigned int crc table[256]; /* lookup table for every possible byte */
/*
* Functions
*/
static void build crc table()
{
register int i;
/* general purpose counter */
unsigned int lo nibble val[16]; /* temporary table which will
hold the CRC characters of the
values 00 .. 0F */
unsigned int hi nibble val[16]; /* temporary table which will
hold the CRC characters of the
values 10, 20, .. F0 */
for( i=0; i<16; i++ )
{
lo nibble val[i] = i * CRC CONST;
hi nibble val[i] = ((i << 4) * CRC CONST) ^ lo nibble val[i];
97
MI 018-888 – November 2017
Appendix C. Cyclic Redundancy Check
}
for( i=0; i<256; i++ )
{
crc table[i] = lo nibble val[ low nibble(i) ] ^
hi nibble val[ hi nibble(i) ];
}
} /* end of build crc table */
static unsigned int CHK CRC( data, len )
unsigned char *data;
int
len;
/* pointer to the message */
/* length of the message in bytes */
{
int i; /* general purpose register */
register unsigned int crc val = 0; /* working crc value counter*/
register unsigned int lsb;
/* least significant byte
of the 'crc value' */
register unsigned int msb;
/* most significant byte
of the 'crc value' */
int index;
/* Process all bytes of the message */
for( i=0; i<len; i++ )
{
msb = (crc val & 0xFF00) >> 8;
lsb = (crc val & 0x00FF);
crc val = crc table[(*data++ ^ msb)] ^(lsb << 8);
}
return( crc val );
} /* end of CHK CRC() */
98
Appendix C. Cyclic Redundancy Check
MI 018-888 – November 2017
99
MI 018-888 – November 2017
ISSUE DATES
MAY 1995
OCT 1995
APR 1997
MAR 1998
NOV 2017
Vertical lines to the right of text or illustrations indicate areas changed at last issue date.
Schneider Electric Systems USA, Inc.
38 Neponset Avenue
Foxboro, MA 02035
United States of America
http://www.schneider-electric.com
Copyright 1995-2017 Schneider Electric Systems
Global Customer Support
USA, Inc. All rights reserved.
Inside U.S.: 1-866-746-6477
Outside U.S.: 1-508-549-2424
https://pasupport.schneider-electric.com Schneider Electric, Foxboro, SINGLE STATION
MICRO, and FIELD STATION MICRO are
trademarks of Schneider Electric Systems USA,
Inc., its subsidiaries, and affiliates. All other
trademarks are the property of their respective
owners.
®
1117
Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Download PDF

advertisement