Schneider Electric 762C/743CB Serial Communications Instruction Sheet

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