Schneider Electric 762C/743CB Serial Communications Instruction Sheet
Advertisement
Advertisement
Instruction
762C/743CB Serial Communications
Guide
MI 018-888
November 2017
®
MI 018-888 – November 2017
2
Contents
3
MI 018-888 – November 2017 Contents
4
Figures
4 ALARM Byte in Data Field of Function 1 POLL Message Response...................................28
16 ALARM Byte In Data Field of Function 2 POLL Message Response ..................................47
5
MI 018-888 – November 2017 Figures
6
Tables
7
MI 018-888 – November 2017 Tables
8
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 Important Information
10
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 Preface
12
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
0B H EX ] (a)
Function 1
0C H EX ]
READ
0F H EX ]
WRITE
10 H EX ]
UPLOAD
0E H EX ]
DOWNLOAD
0D H EX ]
POLL
SET
Extended POLL
[ 11 H EX ]
Function 2 POLL
[ 12 H EX ]
Function 2 SET
[ 13 H EX ]
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.
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.
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.
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.
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.
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
To obtain the current values of the conditioned analog and frequency inputs, contact outputs, and analog outputs.
To obtain POLL information (as described for Function 1) that applies to Function 2.
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 POLL command will return the values displayed on bars 1, 2, and 3.
14
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 1. Overview of Operation
16
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
Protective Ground
Transmitted Data (Computer to Controller)
Received Data (Controller to Computer)
Request to Send (RTS) (Computer-Controlled)
Clear to Send (CTS)
(Converter to Computer)
Data Set Ready (DSR)
(Computer to Converter)
Signal Ground
Received Line Signal Detect (LSD)
(Carrier Detect; Converter to Computer)
Pinout for 25-
Pin RS232
Port
3
4
1
2
5
Pinout for 9-
Pin RS232
Port
2
7
-
3
8
6
7
8
6
5
1
Converter
Connector
Pin
3
4
1
2
5
6
7
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-
Pin RS232
Port
20
Pinout for 9-
Pin RS232
Port
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 2. Hardware Considerations
20
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.
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
Standard
ASCII
Communication code characters
ASCII “DATA LINK ESCAPE” character (10 HEX)
ASCII “START OF TEXT” character (02 HEX)
ASCII “DATA LINE
ESCAPE” character
(10 HEX)
ASCII “END OF
TEXT” character
(03 HEX)
Request
Message from
Computer
DLE STX addr cmd ..data.. DLE ETX CRC CRC
To
Controller
Purpose of
Message
Integrity of
Message Check
These characters vary with content of message.
Address
of
Controller
Body of
Message
Error/Status
of Message
To
Computer
DLE STX addr rsp ..data.. DLE 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 3. Message Requirements
24
4. Function 1 POLL Message Details
The message elements contained in typical POLL messages are shown in Figure 2 through
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.
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
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 CRC CRC
Acknowledgment code
(no error, data follows)
26
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 high byte low byte high byte low byte output value (Bar 3) high byte low byte alarm byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
CONTROLLER 1 (CTLR)
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
A/M
STN 1
Same as
CTLR
3-BAR
IND 1
Same as
CTLR
FUNCTION 1 A/M SETTING (0 = MANUAL,
1 = AUTO)
Same as
CTLR
0
W/P SETTING (0 = PANEL,
1 = WORKSTATION) "
PRIMARY R/L SETTING (0 = LOCAL
1 = REMOTE)
CONTROLLER OUTPUT LIMITED HIGH
(1=TRUE)
"
(R)
CONTROLLER OUTPUT LIMITED LOW
(R)
(1=TRUE)
CTLR BYPASS STATE (0 = BYPASS NOT
ACTIVE 1 = BYPASS ACTIVE
(R)
ALARM INDICATOR (0 = NO ALARM,
1 = ALARM BYTE1 = ALARM BYTE
FOLLOWS)
Same as
CTLR
(R) =
Reserved
Same as
CTLR
0
(R)
(R)
(R)
Same as
CTLR
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
BIT #0
BIT #1
BIT #2
BIT #3
BIT #4
BIT #5
BIT #6
BIT #7
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
0 = No ALARM 4 exists
1 = ALARM 4 exists
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
0 = No ALARM 3 exists
1 = ALARM 3 exists
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
0 = No ALARM 2 exists
1 = ALARM 2 exists
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
0 = No ALARM 1 exists
1 = ALARM 1 exists
28
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.
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
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
Same as
CTLR
3-BAR
IND 1
0
A/M SETTING (0 = MANUAL, 1 = AUTO)
USER INTERFACE ACKNOWLEDGMENT:
(0 = NO ACKNOWLEDGMENT:
1 = ACKNOWLEDGMENT)
R/L SETTING (0 = LOCAL, 1 = REMOTE)*
"
"
0
Same
as
CTLR
" 0
SIZE OF STEP CHANGE:
(0 = SMALL STEP, 1 = LARGE STEP)
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
DIRECTION OF CHANGE:
(0 = INCREMENT THE SETTING,
"
1 = DECREMENT THE SETTING
"
"
ALARM ACKNOWLEDGE:
(0 = NO ACKNOWLEDGE,
1 = ACK ALL CURRENT ALARMS)
*R/L is ignored if the controller is configured for LOCAL only.
0
0
0
" 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 byte low byte measurement value (Bar 2) high byte low byte output value (Bar 3) high byte low byte alarm byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
CONTROLLER 1 (CTLR)
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
A/M
STN 1
Same as
CTLR
3-BAR
IND 1
Same as
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)
"
CONTROLLER OUTPUT LIMITED LOW
(1=TRUE)
CONTROLLER BYPASS (0 = BYPASS
NOT ACTIVE 1 = BYPASS ACTIVE)
ALARM INDICATOR (0 = NO ALARM,
1 = ALARM BYTE
FOLLOWS)
(R)
(R)
Same as
CTLR
(R)
(R)
(R)
Same as
CTLR
(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
BIT #2
BIT #3
BIT #4
BIT #5
BIT #6
BIT #7
0 = No ALARM 4 exists
1 = ALARM 4 exists
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
0 = No ALARM 3 exists
1 = ALARM 3 exists
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
0 = No ALARM 2 exists
1 = ALARM 2 exists
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
0 = No ALARM 1 exists
1 = ALARM 1 exists
33
MI 018-888 – November 2017 5. Function 1 SET Message Details
34
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
Figure 9. Elements of UPLOAD Message and Response
DLE
UPLOAD COMMAND from computer to controller:
STX cntlr addr
0E mem addr
(hi) mem addr
(lo) byte count
DLE ETX
CRC CRC
(hi) (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)
Acknowledgment code
(no error, data follows)
CRC
(lo)
35
MI 018-888 – November 2017 6. UPLOAD Message Details
36
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,
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
DLE
DOWNLOAD COMMAND from computer to controller:
STX cntlr addr
0D mem addr
(hi) mem addr
(lo)
...data...
DLE ETX CRC 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
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 ETX
CRC CRC
hi 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 ETX
Data Field:
Acknowledgment code
(no error, data follows)
CRC CRC
hi lo
A B C D hi lo hi lo hi lo hi lo byte byte byte byte byte byte byte byte
>>>
>>>
CI1/2 CO1/2
OUT 1 hi lo byte byte
E hi lo byte byte
OUT 2 hi lo byte byte
F 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:
BIT 0 = 0
= 1
BIT 1 = 0
1
BIT 0 = 0
= 1
BIT 1 = 0
1
CI 1 IS OPEN
CI 1 IS CLOSED
CI 2 IS OPEN
CI 2 IS CLOSED
CO 1 IS OPEN
CO 1 IS CLOSED
CO 2 IS OPEN
CO 2 IS CLOSED
40
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
DLE STX
READ COMMAND from computer to controller: cntlr addr
0F
INDEX
1
INDEX
2
INDEX n
DLE ETX
CRC CRC
hi lo
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
04
13
No data given with command
Index requested too small
(controller is in PANEL mode)
Wrong number of data bytes given with command
RESPONSE from controller to computer, if successful:
DLE STX cntlr addr
00 hi lo hi lo byte byte byte byte
>>>
2
....
>>>
>>>
....
hi byte lo byte
PARAMETER N
Acknowledgment code
(no error, data follows)
DLE ETX
CRC
(HI)
>>>
CRC
(LO)
42
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
DLE STX
WRITE COMMAND from computer to controller: cntlr addr
10
INDEX
1
VALUE
FOR 1 hi lo byte byte
INDEX
2
VALUE
FOR 2 hi lo byte byte
.....
>>>
>>>
WRITE command
>>>
>>>
.....
INDEX n
VALUE
FOR 1 hi lo byte byte
DLE 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
Acknowledgment code
(no error, data follows)
CRC CRC
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 byte low byte measurement value (Bar 2) high byte low byte high byte low byte alarm byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
CONTROLLER 2
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST ACKNOWLEDGMENT)
A/M
STN 2
Same as
CTLR
FUNCTION 1 A/M SETTING (0 = MANUAL,
1 = AUTO)
Same as
CTLR
W/P SETTING (0 = PANEL,
1 = WORKSTATION) "
"
3-BAR
IND 2
Same as
CTLR
0
Same as
CTLR
0 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
(R)
(R)
(R)
(R)
(R)
(R)
ALARM INDICATOR (0 = NO ALARM,
1 = ALARM BYTE FOLLOWS)
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
BIT #1
BIT #2
BIT #3
BIT #4
BIT #5
BIT #6
BIT #7
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
0 = No ALARM 4 exists
1 = ALARM 4 exists
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
0 = No ALARM 3 exists
1 = ALARM 3 exists
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
0 = No ALARM 2 exists
1 = ALARM 2 exists
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
0 = No ALARM 1 exists
1 = ALARM 1 exists
47
MI 018-888 – November 2017 11. Function 2 POLL Message Details
48
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 CRC
hi lo
Function 2 SET Command
The DATA FIELD contains one or three bytes as defined below:
BYTE # 1
CONTROLLER 2
BIT # 7 6 5 4 3 2 1 0
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)
FUNCTION 2 A/M SETTING (0 = MANUAL,
1 = AUTO)
USER INTERFACE ACKNOWLEDGMENT:
(0 = NO ACKNOWLEDGMENT,
1 = ACKNOWLEDGMENT)
FUNCTION 2 R/L SETTING (0 = LOCAL
1 = REMOTE)
SIZE OF STEP CHANGE:
(0 = SMALL STEP, 1 = LARGE STEP)
A/M
STN 2
Same as
CTLR
"
Same as
CTLR
"
"
3-BAR
IND 2
Same as
CTLR
0
Same as
CTLR
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
" 0
1 = DECREMENT THE SETTING
BIT 0 = CLEAR: NO ACTION
ALARM ACKNOWLEDGE:
(0 = NO ACKNOWLEDGE,
1 = ACK ALL CURRENT ALARMS)
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
Acknowledgment code
(no error, data follows)
CRC CRC
hi lo
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 byte low byte measurement value (Bar 2) high byte low byte output value (Bar 3) high byte low byte alarm byte
The FLAG BYTE is structured as follows:
BIT # 7 6 5 4 3 2 1 0
CONTROLLER 2
USER INTERFACE ENTERED INDICATOR:
(0 = NOT ENTERED
1 = ENTERED SUBSEQUENT TO LAST
HOST Acknowledgment)
A/M 3-BAR
STN 2 IND 2
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)
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)
"
"
(R)
Same as
CTLR
(R)
(R)
(R)
(R) (R)
Same as
CTLR
52
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
BIT #1
BIT #2
BIT #3
BIT #4
BIT #5
BIT #6
BIT #7
(only valid if bit #1 = 1)
0 = ALARM 4 is LEVEL 2 alarm
1 = ALARM 4 is LEVEL 1 alarm
0 = No ALARM 4 exists
1 = ALARM 4 exists
(only valid if bit #3 = 1)
0 = ALARM 3 is LEVEL 2 alarm
1 = ALARM 3 is LEVEL 1 alarm
0 = No ALARM 3 exists
1 = ALARM 3 exists
(only valid if bit #5 = 1)
0 = ALARM 2 is LEVEL 2 alarm
1 = ALARM 2 is LEVEL 1 alarm
0 = No ALARM 2 exists
1 = ALARM 2 exists
(only valid if bit #7 = 1)
0 = ALARM 1 is LEVEL 2 alarm
1 = ALARM 1 is LEVEL 1 alarm
0 = No ALARM 1 exists
1 = ALARM 1 exists
53
MI 018-888 – November 2017 12. Function 2 SET Message Details
54
13. Error Detection In Messages
Transmission errors in messages can be detected in the following ways:
The receiving overrun errors.
UART in the controller checks each byte received for framing and
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)
00
01
02
03
Description
Acknowledge (no error)
Transmission error (CRC, framing, or overrun error occurred)
Command byte invalid
No data given with command when data expected
04
05
06 - 07
08
13
14 - FF
The index requested was out of range
The value given with the index was out of the allowed range
Not used
No permission. Controller is in Panel mode.
Wrong number of data bytes given with the command
Not used
Commands
All
All
All
All except POLL commands
READ and WRITE
WRITE
- - -
DOWNLOAD and
WRITE
All except POLL commands
- - -
55
MI 018-888 – November 2017 13. Error Detection In Messages
56
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
2C
2D
2E
1F
20
21
22
23
26
27
Parameter
Number
(Hex)
18 (a)
1C
28
29
Table 4. READ/WRITE Parameters
Description
Logic Definition
Strategy Definition
Controller 1 Type
Controller 1 Status
Controller 1
Switches
Controller 2 Type
Controller 2 Status
Controller 2 Switches
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
Totalizer 1
Dec. Pt. Position
Totalizer 2 Value
(High byte of 3 byte #)
Totalizer 2 Value
(Lower 2 Bytes of 3 byte #)
Totalizer 2 Preset
(High Byte of 3 byte #)
Totalizer 2 Preset
(Lower 2 Bytes of 3 byte #)
Totalizer 2 Scale
Factor
Totalizer 2
Dec. Pt. Position
Split Point Value
Controller 1
SPLAG
Controller 2
SPLAG
0
0
0
0
0.1
0
0
0
0
0
0.1
0
0
0
N/A
0
N/A
N/A
N/A
N/A
N/A
Lowest
Allowed
Value
N/A
N/A
2000
7
100
1
1
Highest
Allowed
Value
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N\A
9999999
9999999
2000
7
9999999
9999999
Conversion
Technique
No Conversion
No Conversion
No Conversion
No Conversion
No Conversion
No Conversion
No Conversion
Divide by 100
Divide by 100
58
Appendix A. READ/WRITE Command Parameters MI 018-888 – November 2017
34
35
36
2f
30
Parameter
Number
(Hex)
31
32
33
37
38
39
3A
3B
3C
Table 4. READ/WRITE Parameters (Continued)
Description
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)
Controller 2, EXACT
Derivative Factor (DFCT)
Controller 2, EXACT
Output Cycling Limit (LIM)
0.007
0.1
0.0
1.25
0.0
2.0
Controller 2, EXACT
Bump size for Pretune (BMP)
-50.0
0.0
Lowest
Allowed
Value
-99.9
-99.9
1
0.0
0.1
0.1
100.0
Highest
Allowed
Value
100.0
100.0
8000
200.0
100.0
30.0
200.0
1.0
1.00
100.0
4.0
80.0
50.0
Conversion
Technique
Divide by 150
Divide by 40
Divide by 40
No Conversion
Divide by 150
Divide by 150
Divide by 40
Divide by 150
Divide by 100
Divide by 100
Divide by 100
Divide by 100
Divide by 40
Divide by 40
59
MI 018-888 – November 2017 Appendix A. READ/WRITE Command Parameters
65
66
67
68
69
5F
60
61
62
Parameter
Number
(Hex)
63
64
6A
6B
6C
6D
6E
6F
Table 4. READ/WRITE Parameters (Continued)
Description
CONSTANT 'G'
CONSTANT 'H'
CONSTANT 'I'
CONSTANT 'J'
Controller 1, Faceplate
Proportional Band
Controller 1, Faceplate Integral
Term
Controller 1, Faceplate
Derivative Term
Controller 1, Bias for P, P+D
1
0.007
0.000
-99.9
Lowest
Allowed
Value
-99.9
-99.9
-99.9
-99.9
Controller 1,
Balance for P, P+D
Controller 1, Preload for
Standard Batch
Controller 1, Proportional Band
(READ Only)
0.007
-99.9
1
0.007
Controller 1, Integral Term
(READ Only),
Controller 1, Derivative Term
(READ Only),
0.000
Controller 1, EXACT Noise
Band (NB),
Controller 1, EXACT Maximum
Wait Time (WMAX)
0.1
0.1
Controller 1, EXACT DAMPING
(DMP)
Controller 1, EXACT Overshoot
(OVR)
0.10
0.0
100.0
100.0
200.0
100.0
8000
102.0
102.0
102.0
102.0
Highest
Allowed
Value
8000
200.0
200.0
100.0
30.0
200.0
1.00
1.00
Conversion
Technique
Divide by 40
Divide by 40
Divide by 40
Divide by 40
No Conversion
Required
Divide by 150
Divide by 150
Divide by 40
Divide by 150
Divide by 40
No Conversion
Required
Divide by 150
Divide by 150
Divide by 40
Divide by 150
Divide by 100
Divide by 100
60
Appendix A. READ/WRITE Command Parameters MI 018-888 – November 2017
7E
7F
80
81
82
83
84
78
79
7A
7B
7C
7D
85
86
87
88
89
8A
8B
74
75
76
77
70
Parameter
Number
(Hex)
71
72
Table 4. READ/WRITE Parameters (Continued)
Description
Controller 1, EXACT Change
Limit (CLM)
Controller 1, EXACT Derivative
Factor (DFCT)
EXACT High
Frequency Limit (LMT)
1.25
0.00
2.0
Lowest
Allowed
Value
100.0
Highest
Allowed
Value
4.00
80.0
Conversion
Technique
Divide by 100
Divide by 100
Divide by 40
73 50.0
Divide by 40 Controller 1, EXACT Bump Size for Pretune (BMP)
-50.0
Controller 2 Faceplate
Proportional Band
Controller 2 Faceplate
Integral Term
Controller 2, Bias for P, P+D
1
0.007
-99.9
Controller 2 Balance for P, P+D 0.007
ALARM 1 - Level 1
ALARM 1 - Level 2
ALARM 1 - Deadband
ALARM 2 - Level 1
ALARM 2 - Level 2
ALARM 2 - Deadband
ALARM 3 - Level 1
ALARM 3 - Level 2
ALARM 3 - Deadband
ALARM 4 - Level 1
ALARM 4 - Level 2
ALARM 4 - Deadband
Input “A”
Filter Time
Input “A” Input Bias
Input “A” Gain
Input “A”
Output Bias
Input “B”
Filter Time
Input “B” Input Bias
Input “B” Gain
Input “B”
Output Bias
-99.9
-99.9
0.0
-99.9
-99.9
0.0
-99.9
-99.9
0.0
-99.9
-99.9
0.0
0.00
-99.9
-9.999
-99.9
0.00
-99.9
-9.999
-99.9
102.0
102.0
100.0
102.0
102.0
100.0
102.0
102.0
100.0
102.0
102.0
100.0
10.00
100.0
9.999
100.0
10.00
100.0
9.999
100.0
8000
200.0
100.0
200.0
No Conversion
Required
Divide by 150
Divide by 40
Divide by 150
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
Divide by 40
Divide by 1000
Divide by 40
Divide by 150
Divide by 40
Divide by 1000
Divide by 40
61
MI 018-888 – November 2017 Appendix A. READ/WRITE Command Parameters
A0
A1
A2
A3
9C
9D
9E
9F
90
91
92
93
94
95
96
97
98
99
9A
9B
8C
Parameter
Number
(Hex)
8D
8E
8F
Table 4. READ/WRITE Parameters (Continued)
Description
Input “C”
Filter Time
Input “C” Input Bias
Input “C” Gain
Input “C”
Output Bias
Input “D”
Filter Time
Input “D” Input Bias
Input “D” Gain
Input “D”
Output Bias
Input “E”
Filter Time
Input “E” Input Bias
Input “E” Gain
Input “E”
Output Bias
0.00
Lowest
Allowed
Value
-99.9
-9.999
-99.9
0.00
-99.9
-9.999
-99.9
0.00
-99.9
-9.999
-99.9
10.00
Highest
Allowed
Value
100.0
9.999
100.0
10.00
100.0
9.999
100.0
10.00
100.0
9.999
100.0
0.00
-99.9
-9.999
-99.9
10.00
100.0
9.999
100.0
Input “F”
Filter Time
Input “F” Input Bias
Input “F” Gain
Input “F”
Output Bias
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
-15.0
-2.0
-2.0
-15.0
-15.0
-2.0
-2.0
102.0
102.0
102.0
102.0
102.0
102.0
102.0
102.0
Conversion
Technique
Divide by 150
Divide by 40
Divide by 1000
Divide by 40
Divide by 150
Divide by 40
Divide by 1000
Divide by 40
Divide by 150
Divide by 40
Divide by 1000
Divide by 40
Divide by 150
Divide by 40
Divide by 1000
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
62
Appendix A. READ/WRITE Command Parameters MI 018-888 – November 2017
DD
DE
DF
D5
D6
D7
D8
D1
D2
D3
D4
D9
DC
C6
C7
C8
C9
CA
CB
CC
CD
AD
B5
B6
B7
B8
B9
BA
BB
A5
A6
A7
A8
A9
AA
AB
AC
BC
BD
C5
A4
Parameter
Number
(Hex) 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
Table 4. READ/WRITE Parameters (Continued)
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
0.00
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
-99.9
0.000
-99.9
0.00
2
-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
Lowest
Allowed
Value
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
9.999
102.0
200.0
16
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
Highest
Allowed
Value
Conversion
Technique
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
Divide by 1000
Divide by 40
Divide by 150
63
MI 018-888 – November 2017 Appendix A. READ/WRITE Command Parameters
E4
E5
E6
E0
Parameter
Number
(Hex)
E1
E2
E3
E7
E8
E9
EA
EB
EC
ED
EE
EF
F0
Table 4. READ/WRITE Parameters (Continued)
Description
Workstation Address
Workstation Flunk
Timeout
Controller 1 Ratio
Controller Bias
Controller 1 Ratio
Controller Range
Controller 2 Ratio Bias
Controller 2 Ratio Range
Controller 1
Remote Set Point Bias
Controller 1
Output Startup Value
Controller 2
Output Status Value
Analog Input 1 Zero
Calibration Value
(READ Only)
Analog Input 1 Full
Scale Calibration
Value (READ Only)
Analog Input 2 Zero
Calibration Value
(READ Only)
Analog Input 2 Full
Scale Calibration
Value (READ Only)
Analog Input 3 Zero
Calibration Value
(READ Only)
Analog Input 3 Full
Scale Calibration
Value (READ Only)
Analog Input 4 Zero
Calibration Value
(READ Only)
Analog Input 4 Full
Scale Calibration
Value (READ Only)
0
0
-99.9
1
-99.9
1
-99.9
-2.0
-2.0
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Lowest
Allowed
Value
99
200.0
Highest
Allowed
Value
102.0
5
102.0
5
100.0
102.0
102.0
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Conversion
Technique
No Conversion
Required
Divide by 150
Divide by 40
No Conversion
Required
Divide by 40
No Conversion
Required
Divide by 40
Divide by 40
Divide by 40
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
64
Appendix A. READ/WRITE Command Parameters MI 018-888 – November 2017
Table 4. READ/WRITE Parameters (Continued)
F1
F5
F6
F7
F8
Parameter
Number
(Hex)
F2
F3
F4
Description
Frequency Input 1
Zero Calibration
Value
Frequency Input 1
Full Scale
Calibration Value
Frequency Input 2
Zero Calibration
Value
Frequency Input 2
Full Scale
Calibration Value
Analog Output 1 Zero
Calibration Value
Analog Output 1 Full
Scale Calibration
Value
Analog Output 2 Zero
Calibration Value
Analog Output 2 Full
Scale Calibration
Value
F9
FA
FB
FC
Controller 2 Local Set
Point (READ Only)
Controller 1 Local Set
Point (READ Only)
Controller 2 Calculated
Output (READ Only)
Controller 1 Calculated
Output (READ Only)
FD
FE
Controller 2 Ratio Gain
Controller 1 Ratio Gain a. Read Only Parameters
0
0
0
0
0
3500
0
3500
-2.0
-2.0
-2.0
-2.0
-2.0
-2.0
Lowest
Allowed
Value
9999
Highest
Allowed
Value
9999
9999
9999
1500
4010
1500
4010
102.0
102.0
102.0
102.0
102.0
102.0
Conversion
Technique
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
No Conversion
Required
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
65
MI 018-888 – November 2017 Appendix A. READ/WRITE Command Parameters
66
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
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:
68
V =
C URV LRV
100
–
+ LRV where: V = Controller faceplate value for set point or measurement
C = Percent-of-scale value
LRV = Lower-range value
URV = 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.
Cl 1
Cl 2
ALARM 1
ALARM 2
ALARM 3
ALARM 4
C1 A/M
C1 R/L
C2 A/M
Name
Table 5. Gate Input List
Selection True State
Contact Input 1
Contact Input 2
State of Alarm 1
State of Alarm 2
Closed
Closed
In Alarm
In Alarm
State of Alarm 3
State of Alarm 4
In Alarm
In Alarm
State of Automatic or Manual, Controller 1 Automatic
State of Remote or Local, Controller 1 Remote
State of Automatic or Manual, Controller 2 Automatic
Value
(Hex)
22
23
31
33
41
14
15
20
21
Appendix B. Controller Data Structure MI 018-888 – November 2017
I
E
F
G
H
C
D
A
B
Table 5. Gate Input List (Continued)
C2 R/L
W/P
COMMFAIL
C1 EXACT
C2 EXACT
TOTAL 1
Name
TOTAL 2
AUTOSEL
GATE 0
GATE 1
GATE 2
GATE 3
GATE 4
GATE 5
GATE 6
GATE 7
GATE 8
GATE 9
ON
OFF
NONE
Selection
State of Remote or Local, Controller 2
State of Workstation or Panel
Communications Timeout
State of EXACT, Controller 1
State of EXACT, Controller 2
State of Totalizer 1
State of Totalizer 2
Auto Select Output State
Output of Gate 0
Output of Gate 1
Output of Gate 2
Output of Gate 3
Output of Gate 4
Output of Gate 5
Output of Gate 6
Output of Gate 7
Output of Gate 8
Output of Gate 9
Fixed State Input
Fixed State Input
Function Switch Not Used
True State
True
True
True
True
True
True
True
True
True
True
Always
Never
N/A
Remote
Workstation
Timed Out
Enabled
Enabled
Totalizer reached preset value or counted down to zero
Totalizer reached preset value or counted down to zero
False = C2 output;
True = C1
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.
Value
(Hex)
43
27
26
30
40
24
25
12
6
7
4
5
2
3
0
1
10
11
17
16
96
Table 6. Signal Distribution List
Selection
Conditioned Analog Input IN1
Conditioned Analog Input IN2
Conditioned Analog Input IN3
Conditioned Analog Input IN4
Conditioned Input F1
Conditioned Input F2
Constant, adjustable
Constant, adjustable
Constant, adjustable
Signal
Value
(HEX)
45
46
47
48
49
41H
42
43
44
69
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 6. Signal Distribution List (Continued)
Selection
CALC 3
IN1
IN2
IN3
IN4
F1
F2
TOTAL 1
TOTAL 2
100 PCT
0 PCT
NONE
J
C1 MEAS
C1 LOCSP
C1 REMSP
C1 SETP
C1 OUT
C2 MEAS
C2 LOCSP
C2 REMSP
C2 SETP
C2 OUT
ASEL OUT
AOUT 1
AOUT 2
CALC 1
CALC 2 a. Lower two bytes of 3-byte number
Signal
Constant, adjustable
Controller 1 Measurement
Controller 1 Local Set point
Controller 1 Remote Set point
Controller 1 Active Set point
Controller 1 Output
Controller 2 Measurement
Controller 2 Local Set point
Controller 2 Remote Set point
Controller 2 Active Set Point
Controller 2 Output
Selected Output of Auto Selector
Analog Output 1
Analog Output 2
Result of Calculation 1
Result of Calculation 2
Result of Calculation 3
Analog Input 1
Analog Input 2
Analog Input 3
Analog Input 4
Frequency Input 1
Frequency Input 2
Totalizer 1 Accumulated Value (a)
Totalizer 2 Accumulated Value (a)
Constant, fixed at 100 percent
Constant, fixed at 0 percent
No Source
Value
(HEX)
33
34
35
56
5A
30
31
32
57
5B
5C
00
36
37
58
59
51
54
50
3F
53
4F
4E
4B
4A
4D
4C
52
70
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
EXACT Tuning Algorithm Entry (READ Only)
Controller 1
EXACT PK1, Controller 1, (READ Only)
EXACT PK2, Controller 1, (READ Only)
EXACT PK3, Controller 1, (READ Only)
EXACT TPK1, Controller 1, (READ Only)
EXACT TPK2, Controller 1, (READ Only)
EXACT TPK3, Controller 1, (READ Only)
EXACT (READ Only)
ERR1 - Error Term
ERR2 - Error Term for
Current Cycle
ERR3 - Error Term for
Previous Cycle
Parameter Address
(HEX)
44F
450
449-44A
44B-44C
44D-44E
443-444
445-446
447-448
449-49A
49B-49F
4A0-4A1 -----
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
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
Divide by 40
Divide by 40
Divide by 40
Divide by 150
Divide by 150
Divide by 150
-----
-----
-----
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
EXACT Tuning Algorithm Entry (READ Only)
Controller 2
EXACT PK1, Controller 2, (READ Only)
EXACT PK2, Controller 2, (READ Only)
EXACT PK3, Controller 2, (READ Only)
EXACT TPK1, Controller 2, (READ Only)
EXACT TPK2, Controller 2, (READ Only)
EXACT TPK3, Controller 2, (READ Only)
EXACT (READ Only)
ERR1 - Error Term
ERR2 - Error Term for
Current Cycle
ERR3 - Error Term for
Previous Cycle
Contact Output States (READ Only)
Parameter Address
(HEX)
64F
650
649-64A
64B-64C
64D-64E
643-644
645-646
647-648
699-69A
69B-69F
6A0-6A1
DCB Bits 0,1
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
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
Divide by 40
Divide by 40
Divide by 40
Divide by 150
Divide by 150
Divide by 150
-----
-----
-----
-----
Conversion Technique
Bit 0 = 0 is CO1 OPEN
= 1 is CO1 CLOSED
Bit 1 = 0 is CO2 OPEN
= 1 is CO2 CLOSED
Divide by 40 Calibrated Value for Analog Input #1(READ
Only)
Calibrated Value for Analog Input #2 (READ
Only)
200-201
202-203
Calibrated Value for Analog Input #3 (READ
Only)
204-205
Divide by 40
Divide by 40
72
Appendix B. Controller Data Structure MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX) Conversion Technique
Divide by 40 Calibrated Value for Analog Input #4 (READ
Only)
206-207
20C-20D Calculated Value for Variable “A” (READ
Only)
Calculated Value for Variable “B” (READ
Only)
20E-20F
210-211 Calculated Value for Variable “C” (READ
Only)
Calculated Value for Variable “D” (READ
Only)
Calculated Value for Variable “E” (READ
Only)
Calculated Value for Variable “F” (READ
Only)
Contact Input States (READ Only)
212-213
214-215
216-217
249 BITS 4, 5
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Divide by 40
Computed Value for CALC1 (READ Only)
Computed Value for CALC2 (READ Only)
Computed Value for CALC3 (READ Only)
Gate 0 State (READ Only)
Gate 1 State (READ Only)
Gate 2 State (READ Only)
Gate 3 State (READ Only)
Gate 4 State (READ Only)
Gate 5 State (READ Only)
Gate 6 State (READ Only)
Gate 7 State (READ Only)
Gate 8 State (READ Only)
Gate 9 State (READ Only)
21C-21D
21E-21F
220-221
248 BIT 0
248 BIT 1
248 BIT 2
248 BIT 3
248 BIT 4
248 BIT 5
248 BIT 6
248 BIT 7
249 BIT 8
249 BIT 9
Bit 4 = 0 is CI1 OPEN
= 1 is CI1 CLOSED
Bit 5 = 0 is CI2 OPEN
1 is CI2 CLOSED
Divide by 40
Divide by 40
Divide by 40
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
Binary Value:
0 = OFF (OPEN)
1 = ON (CLOSED)
73
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Parameter Description
Pretune State
VARIABLE A, FILTER
VARIABLE A, BIAS
VARIABLE A, GAIN
VARIABLE A, OUTBIAS
VARIABLE B, FILTER
VARIABLE B, BIAS
VARIABLE B, GAIN
VARIABLE B, OUTBIAS
VARIABLE C, FILTER
Table 7. Configuration Descriptions (Continued)
VARIABLE “A” -- FUNCTION
VARIABLE “B” -- FUNCTION
VARIABLE “C” -- FUNCTION
VARIABLE “D” -- FUNCTION
VARIABLE “E” -- FUNCTION
VARIABLE “F” -- FUNCTION
Parameter Address
(HEX) Conversion Technique
04CF
1003 BITS 3,2,1,0 Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1003 BITS 7,6,5,4
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)
Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1004 BITS 3,2,1,0 Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1004 BITS 7,6,5,4 Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1005 BITS 3,2,1,0 Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1005 BITS 7,6,5,4 Binary Value:
0000 = “LINEAR”
0001 = “SQUARE ROOT”
0010 = “SQUARED”
0100 = “CHAR 1"
1000 = “CHAR 2"
1006-1007
1008-1009
100A-100B
100C-100D
Divide By 150
Divide By 40
Divide By 1000
Divide By 40
100E-100F
1010-1011
1012-1013
1014-1015
1016-1017
Divide By 150
Divide By 40
Divide By 1000
Divide By 40
Divide By 150
74
Appendix B. Controller Data Structure MI 018-888 – November 2017
Parameter Description
VARIABLE C, BIAS
VARIABLE C, GAIN
VARIABLE C, OUTBIAS
VARIABLE D, FILTER
VARIABLE D, BIAS
VARIABLE D, GAIN
VARIABLE D, OUTBIAS
VARIABLE E, FILTER
VARIABLE E, BIAS
VARIABLE E, GAIN
VARIABLE E, OUTBIAS
VARIABLE F, FILTER
VARIABLE F, BIAS
VARIABLE F, GAIN
VARIABLE F, OUTBIAS
GATE 0 TYPE
GATE 1 TYPE
GATE 2 TYPE
GATE 3 TYPE
GATE 4 TYPE
Table 7. Configuration Descriptions (Continued)
GATE 0 INPUT SELECTION
GATE 1 INPUT SELECTION
GATE 2 INPUT SELECTION
GATE 3 INPUT SELECTION
GATE 4 INPUT SELECTION
GATE 5 TYPE
GATE 5 INPUT 1 SELECTION
GATE 5 INPUT 2 SELECTION
GATE 6 TYPE
Parameter Address
(HEX) Conversion Technique
1018-1019
101A-101B
101C-101D
101E-101F
1020-1021
1022-1023
1024-1025
1026-1027
1028-1029
102A-102B
102C-102D
102E-102F
1030-1031
1032-1033
1034-1035
1036 BIT 0
Divide By 40
Divide By 1000
Divide By 40
Divide By 150
Divide By 40
Divide By 1000
Divide By 40
Divide By 150
Divide By 40
Divide By 1000
Divide By 40
Divide By 150
Divide By 40
Divide By 1000
Divide By 40
Binary Value:
0 = “DIRECT”
1 = “NOT”
1036 BIT 1
1036 BIT 2
1036 BIT 3
1036 BIT 4
Binary Value:
0 = “DIRECT”
1 = “NOT”
Binary Value:
0 = “DIRECT”
1 = “NOT”
Binary Value:
0 = “DIRECT”
1 = “NOT”
Binary Value:
0 = “DIRECT”
1 = “NOT”
1037
1038
1039
103A
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
103B Select From GATE INPUT LIST
103C BITS 3,2,1,0 Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
103D
103E
Select From GATE INPUT LIST
Select From GATE INPUT LIST
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
GATE 6 INPUT 2 SELECTION
GATE 7 TYPE
GATE 7 INPUT 1 SELECTION
GATE 7 INPUT 2 SELECTION
GATE 8 TYPE
GATE 8 INPUT 1 SELECTION
GATE 8 INPUT 2 SELECTION
GATE 9 TYPE
GATE 9 INPUT 1 SELECTION
GATE 9 INPUT 2 SELECTION
SHOW TUNE C1
SHOW C1 LIMITS
SHOW TUNE C2
SHOW C2 LIMITS
SHOW ALARMS
SHOW CONSTS
SHOW TOTALS
CONTACT OUTPUT 1 SOURCE
CONTACT OUTPUT 2 SOURCE
EXTERNAL ALARM ACKNOWLEDGE
SOURCE
CALC1 STRING (a)
DYNAMIC LEAD/LAG IMPULSE TYPE
DYNAMIC COMPENSATOR ON/OFF
SWITCH
FREQUENCY VS. PULSE SELECTION
Parameter Address
(HEX) Conversion Technique
1040
1041
Select From GATE INPUT LIST
Select From GATE INPUT LIST
1042 BITS 3,2,1,0 Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
1043
1044
Select From GATE INPUT LIST
Select From GATE INPUT LIST
1045 BITS 3,2,1,0 Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
1046
1047
Select From GATE INPUT LIST
Select From GATE INPUT LIST
1048 BITS 3,2,1,0 Binary Value:
0001 = “OR”
1001 = “NOR”
0100 = “AND”
1100 = “NAND”
0010 = “XOR”
1010 = “XNOR”
1049
104A
104B BIT 6
104B BIT 5
Select From GATE INPUT LIST
Select From GATE INPUT LIST
0 = NO, 1 = YES
0 = NO, 1 = YES
104B BIT 4
104B BIT 3
104B BIT 2
104B BIT 1
104B BIT 0
104C
104D
104E
0 = NO, 1 = YES
0 = NO, 1 = YES
0 = NO, 1 = YES
0 = NO, 1 = YES
0 = NO, 1 = YES
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
104F-1057
1058-1060
1061-1067
106A BITS 1,0
106A BIT 2
106A BIT 3
ASCII String
ASCII String
ASCII String
00 = NONE
01 = NEGATIVE IMPULSE
10 = POSITIVE IMPULSE
11 = BIPOLAR IMPULSE
0 = OFF
1 = ON
0 = FREQUENCY
1 = PULSED
76
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
W/P PRIORITY
LEAD LAG FOLLOW SWITCH
DEADTIME FOLLOW SWITCH
DYNAMIC COMPENSATOR DEADTIME
DYNAMIC COMPENSATOR LEADLAG
GAIN
DYNAMIC COMPENSATOR LEADLAG
BIAS
DYNAMIC COMPENSATOR LEADLAG
FILTER TIME
WORKSTATION ENABLE
106A BITS 5,4
106A BITS 7,6
106B
106C
106D-106E
106F-1070
1071-1072
1073-1074
00 = LAST /P
10 = FLUNK TO “P”
11 = FLUNK TO “W”
10 = WORKSTATION
01 = PANEL
11 = BOTH
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
DIVIDE BY 150
DIVIDE BY 1000
DIVIDE BY 40
DIVIDE BY 150
W/P STARTUP STATE
WORKSTATION PARITY
WORKSTATION BAUD RATE
CONTROLLER 1 SPT FORMAT
CONTROLLER 1 A/M STARTUP STATE
1075 BIT 7
1075 BIT 6
0 = OFF
1 = ON
0 = PANEL
1 = WORKSTATION
1075 BITS 5,4 00 = NONE
01 = ODD PARITY
10 = EVEN PARITY
1075 BITS 3,2,1,0 0011 = 2400 BAUD
0100 = 4800 BAUD
0110 = 9600 BAUD
1000 = 19.2 KBAUD
WORKSTATION ADDRESS
W/P TIMEOUT VALUE
1076-1077
1078-1079
WORKSTATION FUNCTION SWITCH 107A
CONTROLLER 1 A/M FUNCTION SWITCH 107B
107C
107D
CONTROLLER 1 R/L SETPT SWITCH
CONTROLLER 1 REMOTE SETPT LOCAL
TRACKING FUNCTION SWITCH
CONTROLLER 1 MEASUREMENT
TRACKING FUNCTION SWITCH
CONTROLLER 1 OUTPUT TRACKING
FUNCTION SWITCH
107E
107F
CONTROLLER 1 OUTPUT HIGH LIMIT
FUNCTION SWITCH
CONTROLLER 1 OUTPUT LOW LIMIT
FUNCTION SWITCH
CONTROLLER 1 SPT STARTUP
1080
1081
No Conversion Required
DIVIDE BY 150
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
Select From GATE INPUT LIST
1082 BIT 6
1082 BITS 3,2,1,0 0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
1083 BIT 6
0 = LOCAL
1 = REMOTE
1 = AUTO
0 = MANUAL
77
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 1 FLUNK STATE
CONTROLLER 1 MEASUREMENT
FORMAT
CONTROLLER 1 OUTPUT STARTUP
SELECTION
CONTROLLER 1 OUTPUT MODIFIER
(OUT_MOD)
CONTROLLER 1 OUTPUT FORMAT
CONTROLLER 1 RATIO SOURCE
CONTROLLER 1 RATIO GAIN SOURCE
CONTROLLER 1 OUPUT MODIFIER
SIGNAL
[ANALOG OUPUT SIGNAL SOURCE]
Parameter Address
(HEX) Conversion Technique
1083 BITS 5,4 00 = LAST A/M
10 = MANUAL
11 = AUTO
1083 BITS 3,2,1,0 0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
1084 BIT 6 0 = LAST VALUE
1 = VALUE
1084 BITS 5,4
1084 BITS 3,2,1,0 0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
1085 BIT 7
00 = NOIMODIFIER
01 = OUTMUL
10 = OUTSUM
0 = FACEPLATE
1 = ROUTED
Select From SIGNAL DISTRIBUTION LIST 1085 BITS
6,5,4,3,2,1,0
1086 Select From SIGNAL DISTRIBUTION LIST
[Select From SIGNAL DISTRIBUTION
LIST]
Select From SIGNAL DISTRIBUTION LIST CONTROLLER 1 OUTPUT TRACKING
SIGNAL
[1ST BYTE OF 3 BAR IND1 TAG]
CONTROLLER 1 EXTERNAL RESET
CONTROLLER 1 OUTPUT HIGH LIMIT
SIGNAL
CONTROLLER 1 OUTPUT LOW LIMIT
SIGNAL
1087
[1087-108F]
1088
1089
108A
CONTROLLER 1 FACEPLATE “P” VALUE 108B-108C
CONTROLLER 1 FACEPLATE “I” VALUE 108D-108E
CONTROLLER 1 FACEPLATE “D” VALUE 108F-1090
BIAS FOR P, PD CONTROLLER 1 1091-1092
[1ST BYTE OF 3 BAR INDICATOR 1 TAG 2] [1091-1099]
BALANCE FOR P, PD CONTROLLER 1 1093-1094
PRELOAD FOR BATCH CONTROLLER 1 1095-1096
SETPOINT LAG (SPLAG) CONTROLLER 1 1097-1098
RATIO BIAS CONTROLLER 1
RATIO RANGE CONTROLLER 1
1099-109A
109B-109C
CONTROLLER 1 SETPOINT HIGH LIMIT 109D-109E
[1ST BYTE OF 3 BAR INDICATOR TAG 3] [109D-10A5]
CONTROLLER 1 SETPOINT LOW LIMIT
CONTROLLER 1 OUTPUT HIGH LIMIT
CONTROLLER 1 OUTPUT LOW LIMIT
109F-10A0
10A1-10A2
10A3-10A4
[ASCII]
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
No Conversion Required
DIVIDE BY 150
DIVIDE BY 150
DIVIDE BY 40
[ASCII]
DIVIDE BY 150
DIVIDE BY 40
DIVIDE BY 100
DIVIDE BY 40
No Conversion Required
DIVIDE BY 40
[ASCII]
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
78
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
CONTROLLER 1 OUTPUT STARTUP
VALUE
10A5-10A6
10A7-10A8
CONTROLLER 1 REMOTE SETPOINT
SOURCE
10A9
CONTROLLER 1 MEASUREMENT SOUCE 10AA
CONTROLLER 1 DISPLAY TOP LINE
VARIABLE
10AB
CONTROLLER 1 OUTBAR SOURCE
CONTROLLER 1 TYPE
CONTROLLER 1 SETPOINT TYPE
DIVIDE BY 40
DIVIDE BY 40
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
10AC
10AD BITS 7-0 (See conversion
Techniques
10AE BITS 7, 6
Select From SIGNAL DISTRIBUTION LIST
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
00 = Local Setpoint
01 = Remote/Local Setpoint
11 = Ratio Setpoint
CONTROLLER 1 BATCH
CONTROLLER 1 ACTION
CONTROLLER 1 NON-LINEARITY
CONTROLLER 1 BYPASS
CONTROLLER 1 TAG DISPLAY LOOPTAG
(b)
CONTROLLER 1 TAG DISPLAY -- ASCII
CONTROLLER 1 TAG DISPLAY -- SCALING
CONTROLLER 1 TAG DISPLAY --
CONTROLLER 1 TAG DISPLAY --
TEMPERATURE SOURCE
CONTROLLER 1 TAG DISPLAY -- UNITS
10AE BIT 5
10AE BIT 4
10AE BITS 3, 2
10AE BITS 1, 0
10B0-10B8
10AF BIT 7
10AF BIT 6
10AF BIT 5
0 = Off
1 = On
0 = Increase/Decrease
1 = Increase/Increase
00 = Off
01 = Characterizer 2
10 = Characterizer 1
00 = Off
10 = On
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)
Binary Value:
0 = ASCII
1 = Variable
Binary Value:
0 = Linear
1 = Temperature
Binary Value:
0 = Degrees F
1 = Degrees C
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
10B0-10B3 ASCII String
79
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 1 TAG DISPLAY --
ENGINEERING UNITS UPPER RANGE
CONTROLLER 1 TAG DISPLAY --
ENGINEERING UNITS LOWER RANGE
CONTROLLER 1 SPT, MEAS DEGREES
CONTROLLER 1 5P, MEAS TYPE
CONTROLLER 1 SP, MEAS TEMP
CONTROLLER 1 PH DISPLAY
CONTROLLER 1 SPT, MEAS, UNITS
CONTROLLER 1 SPT, MEAS, UPPER
RANGE VALUE
CONTROLLER 1 SPT, MEAS, LOWER
RANGE VALUE
CONTROLLER 1 RATIO UNITS
Parameter Address
(HEX) Conversion Technique
10B4-10B6
10B7-10B9
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
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
10BA BIT 5
10BA BIT 6
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
10BA BIT 4
10BB-10BE
10BF-10C1
0 = OFF
1 = ON
ASCII
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
10C2-10C4
0 = Degrees F
1 = Degrees C
0 = Temperature
1 = Linear
10C6-10C9
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
ASCII
80
Appendix B. Controller Data Structure MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 1 RATIO UPPER RANGE
VALUE
CONTROLLER 1 RATIO LOWER RANGE
VALUE
Parameter Address
(HEX)
10CA-10CC
10CD-10CF
CONTROLLER 1 MEAS ALARM DISPLAY 10D0 BIT 1
CONTROLLER 1 OUT ALARM DSPLAY 10D0 BIT 0
CONTROLLER 1 EXACT SWITCH
[FIRST BYTE OF TOTALIZER 1 TAG]
CONTROLLER 1 PBAND VALUE
CONTROLLER 1 I TERM
CONTROLLER 1 D TERM
CONTROLLER 1 EXACT NB
CONTROLLER 1 EXACT WMAY
[TOTALIZER 1 SCALE FACTOR]
10D1
[10D1-10D9]
10D2-10D3
10D4-10D5
10D6-10D7
10D8-10D9
10DA-10DB
[10DA-10DB]
CONTROLLER 1 EXACT DMP 10DC-10DD
[TOTALIZER1 DECIMAL POINT POSITION] [10DD]
CONTROLLER 1 EXACT OVR
[TOTALIZER 1 SOURCE]
[TOTALIZER 1 COUNT DIRECTION]
CONTROLLER 1 EXACT CLM
[TOTALIZER 1 HOLD SWITCH]
[TOTALIZER 1 RESET SWITCH]
CONTROLLER 1 EXACT DKC
[TOTALIZER 1 TOTAL]
CONTROLLER 1 EXACT LMT
[TOTALIZER 1 PRESET]
CONTROLLER 1 EXACT BMP
CONSTANT 1, G
CONSTANT 2, H
CONSTANT 3, I
CONSTANT 4, J
ANALOG INPUT 1 ZERO
ANALOG INPUT 1 FULL SCALE
ANALOG INPUT 2 ZERO
ANALOG INPUT 2 FULL SCALE
ANALOG INPUT 3 ZERO
10DE-10DF
[10DE]
[10DF BIT 0]
10E0-10E1
[10E0]
[10E1]
10E2-10E3
[10E2-10E4]
10E4-10E5
[10E5-10E7]
10E6-10E7
10E8-10E9
10EA-10EB
10EC-10ED
10EE-10EF
10F0-10F1
10F2-10F3
10F4-10F5
10F6-10F7
10F8-10F9
Conversion Technique
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
16-bit signed mantissa at 10CD-10CF.
Number of decimal places at 10CF.
See above Example.
0 = NO
1 = YES
0 = NO
1 = YES
[ASCII]
No Conversion Required
DIVIDE BY 150
DIVIDE BY 150
DIVIDE BY 40
DIVIDE BY 150
[No Conversion Required]
DIVIDE BY 100
[N= number of decimal positions, where
N=0 through 7]
DIVIDE BY 100
[Select from SIGNAL DISTRIBUTION
LIST]
[0 =count up, 1 =count down]
DIVIDE BY 100
[Select from GATE INPUT LIST]
[Select from GATE INPUT LIST]
DIVIDE BY 100
[No Conversion Required]
DIVIDE BY 40
[No Conversion Required]
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
81
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
Parameter Address
(HEX)
ANALOG INPUT 3 FULL SCALE
ANALOG INPUT 4 ZERO
ANALOG INPUT 4 FULL SCALE
FREQUENCY INPUT 1 ZERO
FREQUENCY INPUT 1 FULL SCALE
FREQUENCY INPUT 2 ZERO
FREQUENCY INPUT 2 FULL SCALE
ANALOG OUTPUT 1 ZERO
10FA-10FB
10FC-10FD
10FE-10FF
1100-1101
1102-1103
1104-1105
1106-1107
1108-1109
ANALOG OUTPUT 1 FULL SCALE
ANALOG OUTPUT 2 ZERO
110A-110B
110C-110D
ANALOG OUTPUT 2 FULL SCALE 110E-110F
CONTROLLER 2 A/M FUNCTION SWITCH 1110
CONTROLLER 2 R/L SETPT SWITCH
CONTROLLER 2 REMOTE SETPT LOCAL
TRACKING FUNCTION SWITCH
1111
1112
CONTROLLER 2 MEASUREMENT
TRACKING FUNCTION SWITCH
1113
OUTPUT TRACKING FUNCTION SWITCH 1114
CONTROLLER 2 OUTPUT HIGH LIMIT
FUNCTION SWITCH
1115
1116 CONTROLLER 2 OUTPUT LOW LIMIT
FUNCTION SWITCH
CONTROLLER 2 SPT STARTUP 1117 BIT 6
CONTROLLER 2 SPT FORMAT
CONTROLLER 2 A/M STARTUP STATE
CONTROLLER 2 A/M FLUNK STATE
CONTROLLER 2 MEASUREMENT
FORMAT
CONTROLLER 2 OUTPUT STARTUP
SELECTION
CONTROLLER 2 OUTPUT MODIFIER
(OUT_MOD)
CONTROLLER 2 RATIO SOURCE
CONTROLLER 2 RATIO GAIN SOURCE
1117 BITS 3,2,1,0
1118 BIT 6
1118 BITS 5,4
1118 BITS 3,2,1,0
1119 BIT 6
1119 BITS 5,4
111A BIT 7
Conversion Technique
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
No Conversion Required
Select from GATE INPUT LIST
Select from GATE INPUT LIST
Select from GATE INPUT LIST
Select from GATE INPUT LIST
Select from GATE INPUT LIST
Select from GATE INPUT LIST
Select from GATE INPUT LIST
0 = LOCAL
1 = REMOTE
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
1 = AUTO
0 = MANUAL
00 = LAST A/M
10 = MANUAL
11 = AUTO
0000 = LINEAR
0001 = SQUARE ROOT
0010 = SQUARED
0100 = CHAR 1
1000 = CHAR 2
0 = LAST VALUE
1 = VALUE
00 = NOMODIFIER
01 = OUTMUL
10 = OUTSUM
0 = FACEPLATE
1 = ROUTED
Select From SIGNAL DISTRIBUTION LIST
CONTROLLER 2 OUTPUT MODIFIER
SIGNAL
111A BITS
6,5,4,3,2,1,0
111B Select From SIGNAL DISTRIBUTION LIST
82
Appendix B. Controller Data Structure MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
[ANALOG OUTPUT SIGNAL SOURCE]
CONTROLLER 2 SETPOINT TYPE
CONTROLLER 2 BATCH
Parameter Address
(HEX) Conversion Technique
[Select From SIGNAL DISTRIBUTION
LIST]
Select From SIGNAL DISTRIBUTION LIST CONTROLLER 2 OUTPUT TRACKING
SIGNAL
[FIRST BYTE OF 3 BAR IND2 TAG]
CONTROLLER 2 EXTERNAL RESET
CONTROLLER 2 OUTPUT HIGH LIMIT
SIGNAL
CONTROLLER 2 OUTPUT LOW LIMIT
SIGNAL
111C
[111C-1124]
111D
111E
111F
CONTROLLER 2 FACEPLATE “P” VALUE 1120-1121
CONTROLLER 2 FACEPLATE “I” VALUE 1122-1123
CONTROLLER 2 FACEPLATE “D” VALUE 1124-1125
BIAS FOR P, PD CONTROLLER 2 1126-1127
[FIRST BYTE OF 3 BAR INDICATOR 2 TAG
2]
[1126-112E]
BALANCE FOR P, PD CONTROLLER 2 1128-1129
PRELOAD FOR BATCH CONTROLLER 2 112A-112B
SETPOINT LAG (SPLAG) CONTROLLER 2 112C-112D
RATIO BIAS CONTROLLER 2 112E-112F
RATIO RANGE CONTROLLER 2 1130-1131
CONTROLLER 2 SETPOINT HIGH LIMIT 1132-1133
[FIRST BYTE OF 3 BAR INDICATOR 2 TAG
3]
[1132-113A]
CONTROLLER 2 SETPOINT LOW LIMIT
CONTROLLER 2 OUTPUT HIGH LIMIT
CONTROLLER 2 OUTPUT LOW LIMIT
CONTROLLER 2 REMOTE SETPOINT
BIAS
1134-1135
1136-1137
1138-1139
113A-113B
CONTROLLER 2 OUTPUT STARTUP
VALUE
CONTROLLER 2 REMOTE SETPOINT
SOURCE
CONTROLLER 2 MEASUREMENT
SOURCE
CONTROLLER 2 DISPLAY TOP LINE
VARIABLE
CONTROLLER 2 OUTBAR SOURCE
CONTROLLER 2 TYPE
113C-113D
113E
113F
1140
1141
1142
BITS 7-0
(See conversion technique)
1143 BITS 7, 6
1143 BIT 5
[ASCII]
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
Select From SIGNAL DISTRIBUTION LIST
No Conversion Required
DIVIDE BY 150
DIVIDE BY 150
DIVIDE BY 40
[ASCII]
DIVIDE BY 150
DIVIDE BY 40
DIVIDE BY 100
DIVIDE BY 40
No Conversion Required
DIVIDE BY 40
[ASCII]
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
Select from SIGNAL DISTRIBUTION LIST
Select from SIGNAL DISTRIBUTION LIST
Select from SIGNAL DISTRIBUTION LIST
Select from SIGNAL DISTRIBUTION LIST
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
00 = Local Setpoint
01 = Remote/Local Setpoint
11 = Ratio Setpoint
0 = Off
1 = On
83
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 2 ACTION
CONTROLLER 2 NON-LINEARITY
CONTROLLER 2 BYPASS
CONTROLLER 2 TAG DISPLAY LOOPTAG
(c)
CONTROLLER 2 TAG DISPLAY -- ASCII
CONTROLLER 2 TAG DISPLAY -- SCALING
CONTROLLER 2 TAG DISPLAY --
CONTROLLER 2 TAG DISPLAY --
TEMPERATURE SOURCE
CONTROLLER 2 TAG DISPLAY -- UNITS
CONTROLLER 2 TAG DISPLAY --
ENGINEERING UNITS UPPER RANGE
Parameter Address
(HEX)
1143 BIT 4
1143 BITS 3, 2
1143 BITS 1, 0
1144-114C
1144 BIT 7
1144 BIT 6
1144 BIT 5
1144 BITS 3,2,1,0
1145-1148
1149-114B
Conversion Technique
0 = Increase/Decrease
1 = Increase/Increase
00 = Off
01 = Characterizer 2
10 = Characterizer 1
00 = Off
10 = On
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)
Binary Value:
0 = ASCII
1 = Variable
Binary Value:
0 = Linear
1 = Temperature
Binary Value:
0 = Degrees F
1 = Degrees C
Binary Value:
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
ASCII String
CONTROLLER 2 TAG DISPLAY --
ENGINEERING UNITS LOWER RANGE
CONTROLLER 2 SPT, MEAS DEGREES
CONTROLLER 2 SP, MEAS TYPE
114C-114E
114F BIT 5
114F BIT 6
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
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
0 = Degrees F
1 = Degrees C
0 = Temperature
1 = Linear
84
Appendix B. Controller Data Structure MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 2 SP, MEAS TEMP
CONTROLLER 2 PH DISPLAY
CONTROLLER 2 SPT, MEAS UNITS
CONTROLLER 2 SPT, MEAS UPPER
RANGE VALUE
CONTROLLER 2 SPT, MEAS LOWER
RANGE VALUE
CONTROLLER 2 RATIO UNITS
CONTROLLER 2 RATIO UPPER RANGE
VALUE
CONTROLLER 2 RATIO LOWER RANGE
VALUE
CONTROLLER 2 MEAS ALARM DISPLAY 1165 BIT 1
CONTROLLER 2 OUT ALARM DISPLAY
CONTROLLER 2 EXACT SWITCH
[FIRST BYTE OF TOTALIZER 2 TAG]
CONTROLLER 2 PBAND VALUE
CONTROLLER 2 I TERM
CONTROLLER 2 D TERM
CONTROLLER 2 EXACT NB
CONTROLLER 2 EXACT WMAY
[TOTALIZER 2 SCALE FACTOR]
CONTROLLER 2 EXACT DMP
Parameter Address
(HEX)
114F BITS 3,2,1,0
114F BIT 4
1150-1153
1154-1156
1157-1159
115B-115E
115F-1161
1162-1164
1165 BIT 0
1166
[1166-116E]
1167-1168
1169-116A
116B-116C
116D-116E
116F-1170
[116F-1170]
1171-1172
Conversion Technique
0000 = N/A
0001 = IEC 100
0010 = SAMA 100
0011 = T/C J
0100 = T/C K
0101 = T/C E
0 = OFF
1 = ON
ASCII
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
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
ASCII
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
16-bit signed mantissa at 10CD-10CF.
Number of decimal places at 10CF
See above Example.
0 = NO
1 = YES
0 = NO
1 = YES
[ASCII]
No Conversion Required
DIVIDE BY 150
DIVIDE BY 150
DIVIDE BY 40
DIVIDE BY 150
[No Conversion Required]
DIVIDE BY 100
85
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Table 7. Configuration Descriptions (Continued)
Parameter Address
Parameter Description
[TOTALIZER 2 DECIMAL POINT POSITION] [1172]
(HEX)
CONTROLLER 2 EXACT OVR
[TOTALIZER 2 SOURCE]
[TOTALIZER 2 COUNT DIRECTION]
CONTROLLER 2 EXACT CLM
[TOTALIZER 2 HOLD SWITCH]
[TOTALIZER 2 RESET SWITCH]
CONTROLLER 2 EXACT DKC
[TOTALIZER 2 TOTAL]
CONTROLLER 2 EXACT LMT
[TOTALIZER 2 PRESET]
CONTROLLER 2 EXACT BMP
STRATEGY
GROUP 1 ENABLED
GROUP 2 ENABLED
CASCADE
AUTOSEC
SPLIT RANGE
SMOOTH CHANGE
SPLIT RANGE, ANALOG OUTPUT, AUTO
SELECTION CONFIGURATION
LO_REVERSE
HI_REVERSE
AOUT1_REVERSE
AOUT2_REVERSE
HI_SELECT
GATE_SELECT
HIDE _CTL
SINGLE_MA
AOUT2 SIGNAL SOURCE
SPLIT RANGE SPLIT POINT
SPLIT RANGE DEADBAND
ALARM 1 FORM
1173-1174
[1173]
[1174 BIT 4]
1175-1176
[1175]
[1176]
1177-1178
[1177-1179]
1179-117A
[117A-117C]
117B-117C
117D
117D BIT 0
117D BIT 1
117D BIT 2
117D BIT 3
117D BIT 4
117D BIT 7
117E
117E BIT 0
117E BIT 1
117E BIT 2
117E BIT 3
117E BIT 4
117E BIT 5
117E BIT 6
117E BIT 7
117F
1180
1181
1182
Conversion Technique
[N= number of decimal positions, where
N=0 through 7]
DIVIDE BY 100
[Select from SIGNAL DISTRIBUTION
LIST]
[0 = count up
1 = count down]
DIVIDE BY 100
[Select from GATE INPUT LIST]
[Select from GATE INPUT LIST]
DIVIDE BY 100
[No Conversion Required]
DIVIDE BY 40
[No Conversion Required]
DIVIDE BY 40
1 = ENABLED
1 = ENABLED
1 = CASCADE
1 = AUTOSEC
1 = SPLIT (RANGE)
1 = LO REVERSE
1 = HI REVERSE
1 = AOUT1 REVERSED
1 = AOUT2 REVERSED
1 = HIGH AUTO SELECT
1 = GATE AUTO SELECT
1 = SUPPRESS READ CONTROL
1 = AUTO SELECT TRACKING ENABLED
[No Conversion Required]
[Divide by 10]
BIT
7 PERMISSIVE
6 LATCHING
5 DEV-
4 ROC-
2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR (1=HIGH LIMIT ALARM
0 L2_DIR
(0=LOW LIMIT ALARM
86
Appendix B. Controller Data Structure MI 018-888 – November 2017
ALARM 3 FORM
ALARM 4 FORM
Table 7. Configuration Descriptions (Continued)
Parameter Description
ALARM 2 FORM
ALARM 1 ALARMED SIGNAL
ALARM 1 REFERENCED SIGNAL (DEV
ALM)
ALARM 2 ALARMED SIGNAL
ALARM 2 REFERENCED SIGNAL (DEV
ALM)
ALARM 3 ALARMED SIGNAL
ALARM 3 REFERENCED SIGNAL (DEV
ALM)
ALARM 4 ALARMED SIGNAL
ALARM 4 REFERENCED SIGNAL (DEV
ALM)
ALARM 1 LEVEL 1
ALARM 1 LEVEL 2
ALARM 1 DEADBAND
ALARM 2 LEVEL 1
ALARM 2 LEVEL 2
ALARM 2 DEADBAND
ALARM 3 LEVEL 1
ALARM 3 LEVEL 2
ALARM 3 DEADBAND
ALARM 4 LEVEL 1
ALARM 4 LEVEL 2
ALARM 4 DEADBAND
CHAR BLK 1 -- NUMBER OF PTS
CHAR BLK 1 -- PT 01, X COORD
CHAR BLK 1 -- PT 02, X COORD
1188
1189
118A
118B
118C
118D
118E-118F
1190-1191
1192-1193
1194-1195
1196-1197
1198-1199
119A-119B
119C-119D
119E-119F
11A0-11A1
11A2-11A3
11A4-11A5
11A6-11A7
11A8-11A9
11AA-11AB
Parameter Address
(HEX)
1183
1184
1185
1186
1187
Conversion Technique
BIT
7 PERMISSIVE
6 LATCHING
5 DEV-
4 ROC-
2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR (1=HIGH LIMIT ALARM
0 L2_DIR
(0=LOW LIMIT ALARM
BIT
7 PERMISSIVE
6 LATCHING
5 DEV-
4 ROC-
2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR (1=HIGH LIMIT ALARM
0 L2_DIR
(0=LOW LIMIT ALARM
BIT
7 PERMISSIVE
6 LATCHING
5 DEV-
4 ROC-
2 HH/LL or HL [1 = HH/LL, 0 = HL]
1 L1_DIR (1=HIGH LIMIT ALARM
0 L2_DIR
(0=LOW LIMIT ALARM
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
87
MI 018-888 – November 2017 Appendix B. Controller Data Structure
Parameter Description
CHAR BLK 1 -- PT 03, X COORD
CHAR BLK 1 -- PT 04, X COORD
CHAR BLK 1 -- PT 05, X COORD
CHAR BLK 1 -- PT 06, X COORD
CHAR BLK 1 -- PT 07, X COORD
CHAR BLK 1 -- PT 08, X COORD
CHAR BLK 1 -- PT 09, X COORD
CHAR BLK 1 -- PT 01, Y COORD
CHAR BLK 1 -- PT 02, Y COORD
CHAR BLK 1 -- PT 03, Y COORD
CHAR BLK 1 -- PT 04, Y COORD
CHAR BLK 1 -- PT 05, Y COORD
CHAR BLK 1 -- PT 06, Y COORD
CHAR BLK 1 -- PT 07, Y COORD
CHAR BLK 1 -- PT 08, Y COORD
CHAR BLK 1 -- PT 09, Y COORD
CHAR BLK 2 -- NUMBER OF PTS
CHAR BLK 2 -- PT 01, X COORD
CHAR BLK 2 -- PT 02, X COORD
CHAR BLK 2 -- PT 03, X COORD
CHAR BLK 2 -- PT 04, X COORD
CHAR BLK 2 -- PT 05, X COORD
CHAR BLK 2 -- PT 06, X COORD
CHAR BLK 2 -- PT 07, X COORD
CHAR BLK 2 -- PT 08, X COORD
CHAR BLK 2 -- PT 09, X COORD
CHAR BLK 2 -- PT 01, Y COORD
CHAR BLK 2 -- PT 02, Y COORD
CHAR BLK 2 -- PT 03, Y COORD
CHAR BLK 2 -- PT 04, Y COORD
CHAR BLK 2 -- PT 05, Y COORD
CHAR BLK 2 -- PT 06, Y COORD
CHAR BLK 2 -- PT 07, Y COORD
CHAR BLK 2 -- PT 08, Y COORD
CHAR BLK 2 -- PT 09, Y COORD
CONTROLLER 2 LOCAL SETPOINT
Table 7. Configuration Descriptions (Continued)
Parameter Address
(HEX)
11CC-11CD
11CE-11CF
11D0-11D1
11D2-11D3
11D4-11D5
11D6-11D7
11D8-11D9
11DA-11DB
11DC-11DD
11DE-11DF
11E0-11E1
11E2-11E3
11E4-11E5
11E6-11E7
11E8-11E9
11EA-11EB
11EC-11ED
11EE-11EF
11F0-11F1
11F2-11F3
11AC-11AD
11AE-11AF
11B0-11B1
11B2-11B3
11B4-11B5
11B6-11B7
11B8-11B9
11BA-11BB
11BC-11BD
11BE-11BF
11C0-11C1
11C2-11C3
11C4-11C5
11C6-11C7
11C8-11C9
11CA-11CB
Conversion Technique
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 40
DIVIDE BY 40
88
Appendix B. Controller Data Structure MI 018-888 – November 2017
Table 7. Configuration Descriptions (Continued)
Parameter Description
CONTROLLER 1 LOCAL SETPOINT
CONTROLLER 2 OUTPUT
CONTROLLER 1 OUTPUT
CONTROLLER 2 RATIO GAIN
CONTROLLER 1 RATIO GAIN
Parameter Address
(HEX)
11F4-11F5
11F6-11F7
11F8-11F9
11FA-11FB
11FC-11FD
Conversion Technique
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
DIVIDE BY 40
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 Appendix B. Controller Data Structure
90
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:
X
16
+ X
12
+ X
5
+ X
0
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 1: Poll Message to Controller Address 01
DLE
(10)
STX
(02) cntlr addr
(01)
Poll cmd
(0B)
DLE
(10)
ETX
(03)
CRC high byte
(DB)
Example 2: Upload Command to Controller Address 01
Upload five (5) bytes beginning with address 1000 (HEX):
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
(05)
DLE
X
(10)
ETX
(03)
CRC high byte
(5E)
CRC low byte
(39)
CRC low byte
(A9)
92
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
(10)
ETX
(03)
CRC high byte
(10)
Doubled
DLE char
(10)
CRC low byte
(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 Appendix C. Cyclic Redundancy Check
set hn <- 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
[00] = 0000
[04] = 4084
[08] = 8108
[0C] = C18C
[10] = 1231
[14] = 52B5
[18] = 9339
[1C] = D3BD
[20] = 2462
[24] = 64E6
[28] = A56A
[01] = 1021
[05] = 50A5
[09] = 9129
[0D] = D1AD
[11] = 0210
[15] = 4294
[19] = 8318
[1D] = C39C
[21] = 3443
[25] = 74C7
[29] = B54B
[02] = 2042
[06] = 60C6
[0A] = A14A
[0E] = E1CE
[12] = 3273
[16] = 72F7
[1A] = B37B
[1E] = F3FF
[22] = 0420
[26] = 44A4
[2A] = 8528
[03] = 3063
[07] = 70E7
[0B] = B16B
[0F] = F1EF
[13] = 2252
[17] = 62D6
[1B] = A35A
[1F] = E3DE
[23] = 1401
[27] = 5485
[2B] = 9509
94
[6C] = AD2A
[70] = 7E97
[74] = 3E13
[78] = FF9F
[7C] = BF1B
[80] = 9188
[84] = D10C
[88] = 1080
[8C] = 5004
[90] = 83B9
[94] = C33D
[98] = 02B1
[9C] = 4235
[A0] = B5EA
[A4] = F56E
[A8] = 34E2
[2C] = E5EE
[30] = 3653
[34] = 76D7
[38] = B75B
[3C] = F7DF
[40] = 48C4
[44] = 0840
[48] = C9CC
[4C] = 8948
[50] = 5AF5
[54] = 1A71
[58] = DBFD
[5C] = 9B79
[60] = 6CA6
[64] = 2C22
[68] = EDAE
[AC] = 7466
[B0] = A7DB
[B4] = E75F
[B8] = 26D3
[BC] = 6657
[C0] = D94C
[C4] = 99C8
[C8] = 5844
[CC] = 18C0
[D0] = CB7D
[D4] = 8BF9
[D8] = 4A75
[DC] = 0AF1
[E0] = FD2E
Appendix C. Cyclic Redundancy Check
Table 8. CRC Lookup Table (Continued)
[6D] = BD0B
[71] = 6EB6
[75] = 2E32
[79] = EFBE
[7D] = AF3A
[81] = 81A9
[85] = C12D
[89] = 00A1
[8D] = 4025
[91] = 9398
[95] = D31C
[99] = 1290
[9D] = 5214
[A1] = A5CB
[A5] = E54F
[A9] = 24C3
[2D] = F5CF
[31] = 2672
[35] = 66F6
[39] = A77A
[3D] = E7FE
[41] = 58E5
[45] = 1861
[49] = D9ED
[4D] = 9969
[51] = 4AD4
[55] = 0A50
[59] = CBDC
[5D] = 8B58
[61] = 7C87
[65] = 3C03
[69] = FD8F
[AD] = 6447
[B1] = B7FA
[B5] = F77E
[B9] = 36F2
[BD] = 7676
[C1] = C96D
[C5] = 89E9
[C9] = 4865
[CD] = 08E1
[D1] = DB5C
[D5] = 9BD8
[D9] = 5A54
[DD] = 1AD0
[E1] = ED0F
[6E] = 8D68
[72] = 5ED5
[76] = 1E51
[7A] = DFDD
[7E] = 9F59
[82] = B1CA
[86] = F14E
[8A] = 30C2
[8E] = 7046
[92] = A3FB
[96] = E37F
[9A] = 22F3
[9E] = 6277
[A2] = 95A8
[A6] = D52C
[AA] = 14A0
[2E] = C5AC
[32] = 1611
[36] = 5695
[3A] = 9719
[3E] = D79D
[42] = 6886
[46] = 2802
[4A] = E98E
[4E] = A90A
[52] = 7AB7
[56] = 3A33
[5A] = FBBF
[5E] = BB3B
[62] = 4CE4
[66] = 0C60
[6A] = CDEC
[AE] = 5424
[B2] = 8799
[B6] = C71D
[BA] = 0691
[BE] = 4615
[C2] = F90E
[C6] = B98A
[CA] = 7806
[CF] = 28A3
[D2] = EB3F
[D6] = ABBB
[DA] = 6A37
[DE] = 2AB3
[E2] = DD6C
MI 018-888 – November 2017
[6F] = 9D49
[73] = 4EF4
[77] = 0E70
[7B] = CFFC
[7F] = 8F78
[83] = A1EB
[87] = E16F
[8B] = 20E3
[8F] = 6067
[93] = B3DA
[97] = F35E
[9B] = 32D2
[9F] = 7256
[A3] = 8589
[A7] = C50D
[AB] = 0481
[2F] = D58D
[33] = 0630
[37] = 46B4
[3B] = 8738
[3F] = C7BC
[43] = 78A7
[47] = 3823
[4B] = F9AF
[4F] = B92B
[53] = 6A96
[57] = 2A12
[5B] = EB9E
[5F] = AB1A
[63] = 5CC5
[67] = 1C41
[6B] = DDCD
[AF] = 4405
[B3] = 97B8
[B7] = D73C
[BB] = 16B0
[BF] = 5634
[C3] = E92F
[C7] = A9AB
[CB] = 6827
-
[D3] = FB1E
[D7] = BB9A
[DB] = 7A16
[DF] = 3A92
[E3] = CD4D
95
MI 018-888 – November 2017 Appendix C. Cyclic Redundancy Check
[E4] = BDAA
[E8] = 7C26
[EC] = 3CA2
[F0] = EF1F
[F4] = AF9B
[F8] = 6E17
[FC] = 2E93
Table 8. CRC Lookup Table (Continued)
[E5] = AD8B
[E9] = 6C07
[ED] = 2C83
[F1] = FF3E
[F5] = BFBA
[F9] = 7E36
[FD] = 3EB2
[E6] = 9DE8
[EA] = 5C64
[EE] = 1CE0
[F2] = CF5D
[F6] = 8FD9
[FA] = 4E55
[FE] = 0ED1
[E7] = 8DC9
[EB] = 4C45
[EF] = 0CC1
[F3] = DF7C
[F7] = 9FF8
[FB] = 5E74
[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 = 0 lsb = 0 index = 1 end crc val = 1021
Input Byte = 0x0B start crc val = 1021 msb = 10 lsb = 21 index = 1B end crc val = 825A
Input Byte = 0x03 start crc val = 825A msb = 82 lsb = 5A
96
Appendix C. Cyclic Redundancy Check index = 81 end crc val = DBA9
MI 018-888 – November 2017
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 0x1021
#define low nibble(x) (x & 0x0F)
#define hi nibble(x) ((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
}
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 */
Appendix C. Cyclic Redundancy Check static unsigned int CHK CRC( data, len ) unsigned char *data; /* pointer to the message */
{ int len; /* 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
Global Customer Support
Inside U.S.: 1-866-746-6477
Outside U.S.: 1-508-549-2424 https://pasupport.schneider-electric.com
Copyright 1995-2017 Schneider Electric Systems
USA, Inc. All rights reserved.
®
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

Public link updated
The public link to your chat has been updated.
Advertisement