CLS200, MLS300, and CAS200 Communications Specification Watlow Anafaze Repairs and Returns: 1241 Bundy Blvd. Winona, MN 55987 Customer Service: Phone.....800-414-4299 Fax..........800-445-8992 Technical Support: Phone.......507-494-5656 Fax.............507-452-4507 Email.........wintechsupport@watlow.com Part No. 0600-1015-5100. Revision 3.
Copyright © 1996, 1997, 2003 Watlow Anafaze Information in this manual is subject to change without notice. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form without written permission from Watlow Anafaze. Warranty Watlow Anafaze, Incorporated warrants that the products furnished under this Agreement will be free from defects in material and workmanship for a period of three years from the date of shipment.
Contents Contents Overview........................................................................ 1 In This Manual ............................................................ 1 Chapter 1: ANAFAZE/AB Protocol............................. 3 Protocol Syntax .................................................................3 Control Codes.............................................................. 3 Transaction Sequence.................................................. 4 Packet Format......................
Contents Chapter 3: Controller Parameter Descriptions ........... 39 Correlating Menu Items with Parameters .........................39 Parameters (by number) ....................................................45 Proportional Band/Gain (0) ......................................... 45 Derivative Term (1)..................................................... 45 Integral Term (2) ......................................................... 45 Input Type (3)........................................................
Contents Last Segment (51) ....................................................... 62 Number of Cycles (52) ................................................ 63 Ready Setpoint (53)..................................................... 63 Ready Event States (54) .............................................. 63 Segment Setpoint (55) ................................................. 64 Triggers and Trigger States (56) ................................. 64 Segment Events and Event States (57)....................
Contents Controller Address (101)............................................. 77 Baud Rate (102) .......................................................... 77 Ready Events (103) ..................................................... 78 Appendix A: Communications Driver ......................... 79 Compiling and Linking ............................................... 79 Compatibility............................................................... 79 Commands..................................................
Overview Overview This reference guide is designed to help applications software programmers with the following tasks: • Interface to Watlow Anafaze MLS300, CLS200, MLS and CLS controllers, and the CAS200 and CAS scanners via serial communications. • Modify the communications Anafaze protocol driver in the Watlow Anafaze Communications Driver Kit. (If you have the communications driver kit, you don’t need to read this manual unless you want to modify the communications driver.
Overview 2 Communications Specification
Chapter 1: ANAFAZE/AB Protocol Chapter 1: ANAFAZE/AB Protocol This section explains the ANAFAZE/Allen Bradley protocol used in Watlow Anafaze MLS, CLS, and CAS devices. These controllers operate on serial communications links (EIA/TIA-232 or EIA-TIA-485) at either 2400 or 9600 baud. They use 8 data bits, one or 2 stop bits, and no parity. Protocol Syntax The controllers use a half-duplex (master-slave) protocol to interface to high-level software.
Chapter 1: ANAFAZE/AB Protocol Code Decimal Value Meaning Hex Value ACK Acknowledged Signals that a syntactically correct packet has been received. 06 06 NAK Not Acknowledged Signals that an incorrect, invalid packet has been received. 21 15 Transaction Sequence Here are the four steps in a transaction between the host software and the controller. The following example shows the transaction as an exchange of packets.
Chapter 1: ANAFAZE/AB Protocol This flowchart shows one way for the host software to handle error checking. (If you are writing simple software, you don't necessarily need to use error handling routines as complete as these.
Chapter 1: ANAFAZE/AB Protocol Packet Format Messages are transmitted in the form of packets. Command and reply packets specify the source and destination addresses, whether to read or write, the block of data to read or write, etc. A packet contains a sequence of binary bytes formatted this way: DLE DST SRC STX CMD DLE STS ETX TNSL TNSH BCC/CRC ADDL ADDH DATA Sending Control Codes To send a control code, send a DLE before the control code to distinguish it from data.
Chapter 1: ANAFAZE/AB Protocol CMD • The CMD byte indicates the command that the host software sends to the controller. The software sends a read (x01) or write (x08). When the controller replies, it returns the read or write command with the 7th bit set—in other words, it sends an x41 or x48. STS (The Status Byte) • The controller uses the status byte, or STS, to return general status and error flags to the host software. (The controller ignores the status byte in the host software's command packet.
Chapter 1: ANAFAZE/AB Protocol ADDL • The low byte of the beginning data table address of the block of data to read or write. ADDH • The high byte of the beginning data table address of the block of data to read or write. DATA • The new values to be set with a write command, or the requested data in a response to a read command. DLE ETX • Every packet of information must end with the codes DLE ETX. These codes signal the end of a transmission.
Chapter 1: ANAFAZE/AB Protocol For instance, the block read example shown in the examples section, adds x08 00 01 00 00 80 02 10. Note that the x10 representing DLE has been left out of the calculation. The sum should come to x9B. 1001 1011 = x9B 0110 0100 = 1’s complement +1 = 2’s complement 0110 0101 = x65 Cyclic Redundancy Check (CRC) CRC is a more secure error check method than BCC. It provides a very high level of data security. It can detect: • All single-bit and double-bit errors.
Chapter 1: ANAFAZE/AB Protocol Examples The host software sends two kinds of commands: block reads and block writes. This section shows examples of both commands. NOTE If you read data from a loop set to SKIP, the controller will send an empty packet for that loop. This section does not show how to calculate the error check value included with every packet. For help calculating the error check value, see the section on BCC or CRC earlier in this chapter.
Chapter 1: ANAFAZE/AB Protocol The next picture shows the read command.
Chapter 1: ANAFAZE/AB Protocol Then the controller sends its reply: x10 02 00 08 41 00 00 00 (DATA) 10 03 C3 BCC value ETX DLE Data (see below) Transaction number Status (00 = nothing to report) Command Source Device Address (controller address + 7) Destination Device Address STX DLE DATA: xE2 01 09 02 E4 01 09 02 F1 01 DF 01 28 3C E4 01 Data, transmitted LSB first. Assuming precision for loops is –1: Loop 1 PV = x01E2 = 482, displayed as 48 Loop 2 PV = x0209 = 521, displayed as 52, etc.
Chapter 1: ANAFAZE/AB Protocol Block Write This section describes the block write command. This example shows the block write command the master sends, the controller's responses, and the master's acknowledgment: Situation: Write setpoint of 100 to loop 6. • 1 setpoint 2 bytes per setpoint = 2 bytes to address x01CA (x01C0 + xA, a 10-byte offset). • Character values are represented in hexadecimal. • The sender is device address 0. • The destination is device address 8 (controller address 1).
Chapter 1: ANAFAZE/AB Protocol Here’s a picture of the controller’s reply: x10 02 00 08 48 00 00 00 10 03 B0 BCC value ETX DLE Transaction number LSB/MSB Status (00 = Nothing to report) Command (block write) Source device address Destination device address STX DLE Then the host software sends a DLE-ACK: x10 06 ACK DLE Message Data Some messages contain data. What the data is and how much depends on the command used and the purpose of the message.
Chapter 1: ANAFAZE/AB Protocol Data for a Write Command For a block write command, the block contains the bytes to write (up to 242 bytes of data). The controller sends back a message packet without data. Two-Byte Data Types For two-byte data types, like process variable and setpoint, the controller or host software sends the data in two-byte pairs with the least significant byte first. Figuring Block Size In order to read parameter values, you must know how many bytes to request.
Chapter 1: ANAFAZE/AB Protocol Anafaze/AB Data Table Summary Each address holds one byte of data. Each parameter value requires one or two addresses to store depending on the type of data. The table below indicates the number of bytes for each data type. The data type for each parameter is indicated in the tables on the following pages.
Chapter 1: ANAFAZE/AB Protocol Ordering of Heat and Cool Channel Parameters For parameters that have both heat and cool settings the heat values are stored in the first registers and the cool values are stored in the registers starting at the listed address plus MAX_CH. NOTE Data table parameters 46 to 60 and 100 are ramp-soak parameters. They are only used in controllers with the ramp-soak option.
Chapter 1: ANAFAZE/AB Protocol Number 18 Description Address in Hex Type Number of Bytes 15 Ambient Sensor Readings 0720 SI 2 16 Pulse Sample Time 0730 UC 1 17 High Process Variable 0790 SI MAX_CH * 2 18 Low Process Variable 0850 SI MAX_CH * 2 19 Precision 0910 SC MAX_CH 20 Cycle Time 09D0 UC MAX_CH * 2 21 Zero Calibration 0A10 UI 2 22 Full Scale Calibration 0A16 UI 2 23 Not used 0A1C 4 24 Not used 0A20 64 25 Digital Inputs 0A60 UC MAX_DIGIN_BYTES
Chapter 1: ANAFAZE/AB Protocol Number Description Address in Hex Type Number of Bytes 54 Ready Event States 1180 UC MAX_RSP * MAX_DIGOUT_BYTES 55 Segment Setpoint 1280 SI MAX_RSP * 2 * MAX_SEG 56 Triggers and Trigger States 1780 UC MAX_RSP* MAX_SEG* MAX_TRIG 57 Segment Events and Event States 1C80 UC MAX_RSP * MAX_SEG * MAX_EVENT 58 Segment Time 2680 UI MAX_RSP * 2 * MAX_SEG 59 Tolerance 2B80 SI MAX_RSP * 2 * MAX_SEG 60 Ramp/Soak Flags 3080 UC MAX_CH 61 Output Limit
Chapter 1: ANAFAZE/AB Protocol Number 20 Description Address in Hex Type Number of Bytes 84 PV Retransmit Minimum Input 4330 UI MAX_CH * 4 85 PV Retransmit Minimum Output 43C0 UC MAX_CH * 2 86 Cascade Primary Loop Number 4410 UC MAX_CH 87 Cacade Base Setpoint 4440 SI MAX_CH * 2 88 Cacade Minimum Setpoint 4490 SI MAX_CH * 2 89 Cascade Maximum Setpoint 44E0 SI MAX_CH * 2 90 Cascade Heat/Cool Span 4530 UI MAX_CH * 4 91 Ratio Control Master Loop Number 45C0 UC MAX_C
Chapter 2: Modbus-RTU Protocol Chapter 2: Modbus-RTU Protocol Overview Transactions on Modbus-RTU Networks Standard Modbus-RTU ports use an EIA/TIA-232C- or EIA/TIA-485/ 422-compatible serial interface that defines connector pinouts, cabling, signal levels, transmission baud rates, and parity checking. Controllers communicate using a master-slave technique, in which only one device (the master) can initiate transactions (called “queries”).
Chapter 2: Modbus-RTU Protocol The Query-Response Cycle Query Message from Master Device Address Device Address Function Code Function Code 8-Bit Data Bytes 8-Bit Data Bytes Error Check Error Check Response Message from Slave The Query The function code in the query tells the addressed slave device what kind of action to perform. The data bytes contain any additional information that the slave will need to perform the function.
Chapter 2: Modbus-RTU Protocol • 8 data bits, least significant bit sent first • 2 stop bits • No parity Error Check Field Cyclical Redundancy Check (CRC) Message Framing Messages start with a silent interval of at least 3.5 character times. This is most easily implemented as a multiple of character times at the baud rate that is being used on the network (shown as T1-T2-T3-T4 in the figure below). The first field then transmitted is the device address.
Chapter 2: Modbus-RTU Protocol When a message is sent from a master to a slave device, the function code field tells the slave what kind of action to perform. Examples are to read the On/Off states of a group of discrete coils or inputs; to read the data contents of a group of registers; or to read the diagnostic status of a slave.
Chapter 2: Modbus-RTU Protocol The data field can be nonexistent (of zero length) in certain kinds of messages, where the function code alone specifies the action. Contents of the Error Checking Field The error checking field contains a 16-bit value implemented as two 8bit bytes. The error check value is the result of a Cyclical Redundancy Check (CRC) calculation performed on the message contents. The CRC field is appended to the message as the last field in the message.
Chapter 2: Modbus-RTU Protocol This process is repeated until eight shifts have been performed. After the last shift, the next 8-bit byte is exclusive ORed with the register’s current value, and the process repeats for eight more shifts as described above. The final contents of the register, after all the bytes of the message have been applied, is the CRC value. Function Codes The listing below shows the function codes supported by the CLS controllers. Codes are listed in decimal.
Chapter 2: Modbus-RTU Protocol NOTE The function will override the controller’s memory protect state and the coil’s disable state. The forced state will remain valid until the controller’s logic next solves the coil. The coil will remain forced if it is not programmed in the controller’s logic. x06 Preset Single Register • Presets a value into a single holding register (registers 40001 to 49999). When broadcast, the function presets the same register reference in all attached slaves.
Chapter 2: Modbus-RTU Protocol response is returned. This function is the only one that brings the port out of Listen Only Mode. If the port is not currently in Listen Only Mode, a normal response is returned. This occurs before the restart is executed. Subfunction Data Field (Query) Data Field (Response) x00 01 x00 01 x00 00 xFF 00 Echo Query Data Echo Query Data x02 Return Diagnostic Register • The contents of the slave’s 16-bit diagnostic register are returned in the response.
Chapter 2: Modbus-RTU Protocol operation, or power-up. Subfunction Data Field (Query) Data Field (Response) x00 0C x00 00 CRC Error Count x0D Return Bus Exception Error Count • The response data field returns the quantity of Modbus-RTU exception responses returned by the slave since its last restart, clear counters operation, or power-up.
Chapter 2: Modbus-RTU Protocol Writing Data Watlow Anafaze controller memory is divided into approximately 100 parameters with unique control functions, such as temperature, set point, etc. Each parameter can have several Modbus-RTU addresses associated with it. When a Modbus-RTU host writes data to a controller parameter, the data sent may “command” controller firmware to perform specific functions.
Chapter 2: Modbus-RTU Protocol Examples Read Examples The data read must be sequentially located. If you’re reading a coil rather than a register, you must offset the address by the location of the bit you wish to read. Sample Packet for Host Transmission Slave Address in Hex Example Start Address High in Hex Function in Hex Start Address Low in Hex Number of Points High in Hex Number of Points Low in Hex CRC High in Hex CRC Low in Hex 1.
Chapter 2: Modbus-RTU Protocol Write Examples The data written is echoed back to the controller. Sample Packet for Host Transmission, a Single-Point Write Example Slave Address in Hex Address High in Hex Function in Hex Address Low in Hex Data High in Hex Data Low in Hex CRC High in Hex CRC Low in Hex 4. Writing loop 1 gain (20), controller 4 (single-point write) 04 06 00 00 00 14 89 90 5.
Chapter 2: Modbus-RTU Protocol Sample Packet for Host Transmission, a Multipoint Write The data must be written to sequential locations. Helpful hint: The string is longer for multiple write; checking the BYTE COUNT can help in determining if a command timeout is valid. Example 6: Writing TI loops 3 (100) and 4 (150), controller 10.
Chapter 2: Modbus-RTU Protocol The storage requirements for some parameters depend on the number of digital inputs or digital outputs to the controller (MAX_DIGIN and MAX_DIGOUT). The storage of ramp-soak profile parameters depend on the number of profiles (MAX_RSP), the number of segments per profile (MAX_SEG), the number of triggers per segment (MAX_TRIG), and the number of events per segment (MAX_EVENT). The table below shows the values for each of these factors.
Chapter 2: Modbus-RTU Protocol Relative and Absolute Modbus Addresses In the tables on the following pages, absolute addresses are in decimal and relative addresses are in hexidecimal. Absolute addresses include the type of register. Refer to the absolute address to determine which function to use to read or write values (see the Function Codes on page 26). Relative addresses indicate the register offset from the first register of the particular type.
Chapter 2: Modbus-RTU Protocol Number Description Absolute Address Relative Address in Hex Number of Registers Type 27 Not used 40942 03AD UC 1 28 Override Digital Input 40943 03AE UC 1 29 Override Polarity 40944 03AF UC 1 30 System Status 40945 03B0 UC 4 31 System Command Register 40949 03B4 UC 1 32 Data Changed Register 40950 03B5 UC 1 33 Input Units 40951 03B6 UC MAX_CH * 3 34 EPROM Version Code 41050 0419 UC 1 35 Options Register 41062 0425 UC
Chapter 2: Modbus-RTU Protocol Number Description Absolute Address Relative Address in Hex Number of Registers Type 61 Output Limit 48147 1FD2 SI MAX_CH * 2 62 Output Limit Time 48213 2014 SI MAX_CH * 2 63 Alarm_Control 48279 2056 UI MAX_CH 64 Alarm_Acknowledge 48312 2077 UI MAX_CH 65 Alarm_Mask 48345 2098 UI MAX_CH 66 Alarm_Enable 48378 20B9 UI MAX_CH 67 Output Override Percentage 48411 20DA SI MAX_CH * 2 68 AIM Fail Output 48477 211C UC 1 69 Output L
Chapter 2: Modbus-RTU Protocol Number Description Absolute Address Relative Address in Hex Number of Registers Type 87 Cacade Base Setpoint 49306 2459 SI MAX_CH 88 Cascade Minimum Setpoint 49339 247A SI MAX_CH 89 Cascade Maximum Setpoint 49372 249B SI MAX_CH 90 Cascade Heat/Cool Span 49405 24BC UI MAX_CH * 2 91 Ratio Control Master Loop Number 49471 24FE UC MAX_CH 92 Ratio Control Minimum Setpoint 49504 251F SI MAX_CH 93 Ratio Control Maximum Setpoint 49537 2540
Chapter 3: Controller Parameter Descriptions Chapter 3: Controller Parameter Descriptions This section provides specific details for each data table parameter including data type, variable range, and default values where applicable. The Controller Menus section on the next page shows all of the controller menus for MLS and CLS controllers. (Controller features and menus vary; not all of the menus shown here apply to each controller.
Chapter 3: Controller Parameter Descriptions In the following tables, “RS” in the Product(s) column indicates that the parameter is found in controllers equipped within the Ramp and Soak option firmware. Similarly, “EF” indicates that the parameter is found in controllers equipped with the Enhanced Features option.
Chapter 3: Controller Parameter Descriptions Menu/Parameter Product(s) Parameter(s) Input Units All Units 33 Input Reading Offset All Units 17, 18 Reversed T/C Detect Not CAS/CAS200 78 Input Pulse Sample Time All Units 16 Display Format All Units 19 Input Scaling Hi PV All Units 17 Input Scaling Hi Rdg All Units 37 Input Scaling Lo PV All Units 18 Input Scaling Lo Rdg All Units 38 Input Filter All Units 74 Heat Control PB Not CAS/CAS200 0 Heat Control TI Not CAS/CAS200
Chapter 3: Controller Parameter Descriptions Menu/Parameter Product(s) Parameter(s) Cool Output Action Not CAS/CAS200 4, 98 Cool Output Limit Not CAS/CAS200 61 Cool Output Limit Time Not CAS/CAS200 62 Sensor Fail Cl Output Not CAS/CAS200 67 Cool T/C Brk Out Avg Not CAS/CAS200 78 Cool Output Not CAS/CAS200 69 Hi Proc Alarm Setpt All Units 9 Hi Proc Alarm Type All Units 63, 65 Hi Proc Alarm Output All Units 41 Dev Alarm Value All Units 11 Hi Dev Alarm Type All Units 63, 65
Chapter 3: Controller Parameter Descriptions Additional menus are found in controllers with Ramp and Soak and Enhanced Features options.
Chapter 3: Controller Parameter Descriptions Menu/Parameter Product(s) Parameter(s) Segment ## Edit Seg Trggrs RS Front Panel only Seg ## Trig # Input NR RS 56 Seg ## Tr# DI## aCTIVE STATE RS 56 SEG ## TR# DI## TRIG RS 56 SEGMENT ## SEG TOLERANCE RS 59 SEGMENT ## LAST SEGMENT RS 51 REPEAT CYCLES RS 52 44 Communications Specification
Chapter 3: Controller Parameter Descriptions Parameters (by number) Proportional Band/Gain (0) The MLS and CLS controllers let users modify the Proportional Band (PB), but they internally represent the PB as a Gain value. • Range: 1 to 255. • Heat/Cool: 35. • Pulse: 20. • Extruder Cool CH: 175. Users edit the Proportional Band, but the controller uses a Gain value internally.
Chapter 3: Controller Parameter Descriptions Input Type (3) This parameter specifies the input type. • Range: 0 to 19 defined values. • Default: 1 (J-type thermocouple).
Chapter 3: Controller Parameter Descriptions • Proportional band • High process alarm • Low process alarm • Deviation band alarm • Heat/cool spread • Alarm deadband Ranges for all input parameters are determined as follows: • For thermocouple and RTD inputs, the high and low ranges are fixed at the values shown in the previous table. • For pulse and linear inputs, the high and low ranges are determined by the values entered for input scaling, as shown in the graph below.
Chapter 3: Controller Parameter Descriptions Bit Bit set to 0 Bit set to 1 6 Output not set to Serial DAC (see table below) Output set to Serial DAC (see table below) 7 Output set to Reverse action Output set to Direct action Bits 0 and 1 work together to determine some of the output’s characteristics: Bit 6 Setting Bit 1 Setting Bit 0 Setting Result 0 0 0 Time Proportioning 0 0 1 DZC 0 1 0 Analog (only 8LS) 0 1 1 On/Off 1 0 0 SDAC 1 0 1 3P DZC NOTE Bit 2 in the heat ou
Chapter 3: Controller Parameter Descriptions • Default: 3 scans. Output Value (8) This parameter contains the output value, based on a full scale value of 32700 equals 100%. You can write to the output value at any time, but a write command is only meaningful for loops set to Manual control. • Range: 0 to 32700 (0 to 100%). • Default: 0. High Process Alarm Setpoint (9) The high process alarm setpoint is the absolute high process variable limit, expressed in engineering units.
Chapter 3: Controller Parameter Descriptions NOTE Process alarms, deviation alarms, and failed sensor alarms are set individually for each loop. They are controlled by bit settings in a number of alarm variables. This section uses the following expressions interchangeably: Bit set to 1 True Bit set to 0 False Cleared Set Users can set loop alarms to warn them of high and low process variables and high and low deviation from the setpoint.
Chapter 3: Controller Parameter Descriptions When using the Anafaze protocol, when an Alarm_Status bit has changed, and there are no higher–priority status codes to return, the controller will return an Ex (see the STS section in Chapter 1), in the high nibble of the next communications status byte it sends to the host software. The software should upload the Alarm_Status integers or words for all loops to determine which alarms have changed and in which loops.
Chapter 3: Controller Parameter Descriptions Bit Alarm Name 14 Full Scale Cal Error 15 Offset Cal Error Ambient Sensor Readings (15) This parameter returns the value of the system ambient sensor in degrees Fahrenheit to a tenth of a degree. (The ambient sensor is used for ambient temperature compensation for thermocouples.) Most Watlow Anafaze controllers have only one ambient sensor; only the MLS-32 has two.
Chapter 3: Controller Parameter Descriptions NOTE Use the High Process Variable and Low Process Variable for an offset on all types of inputs. Add or Subtract the offset from both the High and Low Process Variables full scale valves. For example, for a J-type thermcouple, the full range is 14000 (1400°F) to –3500 (–350°F) with an offset of +5 degrees set the high Process Variable to 14050 and the low Process Variable to –3450, moving the full range scale up 5 degrees.
Chapter 3: Controller Parameter Descriptions (3) If the original precision value (from the table below) was a negative number, round the number to the nearest integer. Otherwise, display the number. Exception For the deviation band alarm, heat/cool spread, and alarm deadband parameters, follow the procedure above, but if the precision value from the table is negative, display the raw number read from the controller.
Chapter 3: Controller Parameter Descriptions The Anafaze/AB protocol returns all 8 bits in 1 byte. See the table below. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Input 8 Input 7 Input 6 input 5 Input 4 Input 3 Input 2 Input 1 The Modbus-RTU protocol stores the states of the inputs in eight individually addressable discrete input registers. Digital Outputs (26) This parameter contains the state of the controller’s digital outputs.
Chapter 3: Controller Parameter Descriptions System Status (30) The system status command consists of internal registers that flag hardware and software exceptions. The system status command takes 4 bytes. (None of the controllers use the last 2 bytes; they are reserved.) Here is a bit map of the first 2 system status bytes. More than 1 bit can be set at a time.
Chapter 3: Controller Parameter Descriptions Bit 0 1 5* Manufacturing Test 6 Parameter reset bit 7 Reserved * Warning: This may cause loss of data when used in normal operation. Use only when these tests are absolutely necessary. Data Changed Register (32) The data changed register acts as a First-In-First-Out (FIFO) to point to parameters that have changed internally. The host software must query this register after receiving a “Data Changed” status flag to determine which data has changed.
Chapter 3: Controller Parameter Descriptions For linear and pulse inputs, users can select three characters to display. This table shows valid entries: Character Decimal Value Hex Value (Space) 32 20 # 35 23 ˚ 223 DF % 37 25 / 47 2F A to Z 65 to 90 41 to 5A 0 to 9 48 to 57 30 to 39 EPROM Version Code (34) The firmware code for the EPROM version consists of 3 bytes. The first one contains the controller/unit model (MLS, CLS, and CAS).
Chapter 3: Controller Parameter Descriptions Bit 0 1 4 Extruder option not present Extruder option 5 Ramp-soak not present Ramp-soak 6 Math package not present Math package 7 Reserved Process Power Digital Input (36) Enable the thermocouple short detection feature by selecting a digital input. • Range: 0 to 8 (Disabled = 0, Enabled = 1 to 8 indicating the selected digital input). • Default: 0. High Reading (37) This parameter contains one of four points used to scale inputs.
Chapter 3: Controller Parameter Descriptions • Range: 0 to 255. • Default: 5. Startup Alarm Delay (40) This parameter designates a delay time for process and deviation alarms on power-up. The controller does not report process and deviation alarms for the specified number of minutes after the controller powers up. The startup alarm delay is a global alarm parameter; it applies to all process and deviation alarms for every loop.
Chapter 3: Controller Parameter Descriptions • Default: 0 (no low deviation alarm output). Channel Profile and Status (46) In this byte, bits 0 to 4 hold the ramp-soak profile number for the loop. Bits 5 to 7 hold the profile’s status (Ready, Running, Hold, Trigger Wait, or Out of Tolerance). • Range: See tables below. • Default: 0. Bits 0 to 4 hold the profile number and reference letter: Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Profile Number Ref.
Chapter 3: Controller Parameter Descriptions Current Segment (47) This parameter returns the segment number that is currently executing. The controller’s front panel displays (current segment parameter value +1). If the user has not assigned a ramp-soak profile to the loop, this parameter is undefined. If the loop is in Ready state, this parameter has a value of –1. In Ready state, the controller’s front panel displays segment 0. • Range: –1 to 19. • Default: 0.
Chapter 3: Controller Parameter Descriptions • Default: 19. Number of Cycles (52) This parameter represents the total number of times to repeat the current profile. Users can set 1 to 99 repeat cycle profiles or they can set the profile to cycle continuously. • Range: 0 (continuous), 1 to 99. • Default: 1. Ready Setpoint (53) This parameter represents the ready segment’s setpoint. The first segment begins ramping from the ready segment setpoint.
Chapter 3: Controller Parameter Descriptions In the Anafaze/AB protocol, the states are stored as bits in 5 bytes. Each bit listed in the table below represents an output from 1 to 34.
Chapter 3: Controller Parameter Descriptions • Default: 0 (no trigger assigned). Bit Bit set to 0 Bit set to 1 0 to 3 See below 4 to 5 Reserved 6 Unlatched trigger (trigger must remain true throughout the segment). Latched trigger (trigger must be true at beginning of segment).
Chapter 3: Controller Parameter Descriptions Bits 0 to 5 determine the output number for an event: Result Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 No events 0 0 0 0 0 0 Digital output 1 is an event 0 0 0 0 0 1 Digital output 2 is an event 0 0 0 0 1 0 Digital output 3 is an event 0 0 0 0 1 1 Digital outputs 4 to 33 are events ... ... ... ... ... ...
Chapter 3: Controller Parameter Descriptions Bit Bit set to 0 Bit set to 1 3 The profile is in trigger wait state 4 Reserved 5 Reserved 6 Reserved 7 Reserved The profile is not in trigger wait state (remote hold) * The controller toggles a bit in the data-changed register to notify high level software that the alarm status has changed. Output Limit (61) This parameter sets a limit on the output power percentage on either heat or cool outputs for any loop.
Chapter 3: Controller Parameter Descriptions Alarm_Control (63) Setting a bit for an alarm in the Alarm_Control variable makes it a control alarm; clearing the bit makes it a standard alarm. This table explains the difference between standard alarms and control alarms. Function Alarm Description When an alarm condition occurs: The controller’s display changes to the loop that’s in alarm. An alarm message flashes on the display. The alarm’s digital output activates. The global alarm output activates.
Chapter 3: Controller Parameter Descriptions This variable is currently used for deviation and process alarms. Process alarms are automatically enabled at startup. If a deviation alarm is turned on (its Alarm_Mask bit is set), then the alarm is disabled until the process variable comes within the deviation range: (PV ≤ SP + DEV - DB) to (PV ≥ SP - DEV + DB) If the process variable is already in this range, the Alarm_Enable bit is immediately set. See the table on page 51 for alarm bits.
Chapter 3: Controller Parameter Descriptions Output Linearity Curve (69) This parameter lets users set heat and cool outputs to one of two nonlinear output curves, or to Linear (no curve). 100 Linear Curve 1 Curve 2 0 • Range: Users can select 0 for no curve (linear), 1 for a slight curve, and 2 for a more pronounced curve. • Default: 0 (no curve). SDAC Mode (70) This parameter toggles the SDAC between current and voltage output. • Range: 0 to 1, where 0 = voltage and 1 = current. • Default: 0.
Chapter 3: Controller Parameter Descriptions • Default: 1000 (10.00 volts) or 2000 (20.00 mA). Save Setup to Job (73) This parameter saves the current setup to one of eight jobs. It is used as a command; it is not used as data. When this parameter is set to a non– zero value, the current job is saved to that job number. The parameter is then immediately reset to zero. The job is only saved once, when the controller receives this command. To resave the job, resend the command. • Range: 1 to 8.
Chapter 3: Controller Parameter Descriptions T/C Failure Detection Flags (78) This parameter determines the thermocouple failure detection scheme for each loop in CLS, CLS2001, MLS and MLS300 controllers. The following bits enable (bit set) or disable (bit cleared) the action. Bit Bit set to 0 Bit set to 1 0 Reversed thermocouple detection disabled. Reversed thermocouple detection enabled. 1 Heat thermocouple break output averaging disabled. Heat thermocouple break output averaging enabled.
Chapter 3: Controller Parameter Descriptions WARNING This command should only be used when it is necessary to perform the above tests. Use of this command in normal operation can result in loss of data. PV Retransmit Primary Loop Number (81) This parameter specifies the primary loop number for obtaining the process variable (PV) from the current loop or another loop. Setting this to 0 disables PV retransmit for the loop. • Range: 0 (none) to MAX_CH. • Default: 0 (none).
Chapter 3: Controller Parameter Descriptions PV Retransmit Minimum Output (85) This parameter specifies the minimum output (%) allowed for PV retransmit calculation. Once set, the output will not drop below this percentage. This number must not be higher than the maximum output (command 83). • Range: 0 to 100. • Default: 0%. Cascade Primary Loop Number (86) This parameter specifies the cascade primary loop number to obtain the output values. This number cannot be the same as the current loop.
Chapter 3: Controller Parameter Descriptions Cascade Heat/Cool Span (90) This parameter is multiplied by the heat and cool outputs of the primary loop in the cascade calculation. • Range: –9999 to 9999. • Default: 0. Ratio Control Master Loop Number (91) This parameter specifies the ratio control master loop number to obtain the process variable. This number cannot be the same as the current loop. Setting this to 0 disables the ratio control feature for this loop. • Range: 0 (none) to MAX_CH.
Chapter 3: Controller Parameter Descriptions • Range: –999 to 9999 (depending on the precision in the master loop). • Default: 0. Loop Status (96) This parameter specifies a character status indicating if the loop is in manual or automatic mode. Autotuning and ramp-soak status are also included. The characters are identical to that shown on the controller’s bar display. This is an expansion of commands 4 and 46.
Chapter 3: Controller Parameter Descriptions 0 = Reverse 1 = Direct • Default: 0 for heat outputs, 1 for cool outputs. Controller Type (99) This parameter specifies the controller type. This is an expansion of command 30. • Range: 0 to 3. 0 = Controller has 4 loops 1 = Controller has 8 loops 2 = Controller has 16 loops 3 = Controller has 32 loops Ramp/Soak Profile Number (100) This parameter specifies the assigned profile number for each loop.
Chapter 3: Controller Parameter Descriptions 2 = 19200 • Default: Varies by controller. Ready Events (103) This parameter is accessable using the Modbus-RTU protocol only. It describes the ready segment’s output states for all outputs that are not used for control or for the SDAC clock. When the loop goes to the ready state, these outputs assume the state specified by this parameter. The state of each is stored in its own register. • Range: 0 (off) or 1 (on). • Default: 0 (off).
Appendix A: Communications Driver Appendix A: Communications Driver Compiling and Linking The driver is compiled and linked with any Microsoft™ compiler version 5.1 or later. This code is probably compatible with many other C compilers, but it has not been tested as such. Include the file “def.h” in any module that contains calls to the driver. Calls are explained in the Commands section below. A sample program and makefile have been included as a guide to using the communications driver.
Appendix A: Communications Driver char error_check; Set to BCC, or CRC. BCC = 1. CRC = 2; Example Call: Init_Comm_Port(1, TRUE, BCC); Open COM2 for 9600 baud using Block Check Character(BCC). Includes: #include “def.h” Return Values: Returns TRUE if opening comm port was successful, or FALSE if attempt failed. Close_Comm_Port() Use this command to Release the comm port and interrupt associated with it.
Appendix A: Communications Driver char sts; Controller status. See the Anafaze Controller/Host InterfaceData and Communication Specification manual. Example Call: return_value = DownLoad(TYPE_CLS8, 1, SETPT, 0, 8, sp); This call downloads 8 setpoints to an 8CLS with an address of 2. Includes: #include “def.h” Return Value: Returns: 1 if the download was successful. This what you should normally get. 2 if the controller found an error in the download comm string. Sent NAK or negative acknowledge.
Appendix A: Communications Driver Example Call: return_value = DownLoad(TYPE_CLS8, 1, SETPT, 0, 8, sp); This call Uploads 8 setpoints from an 8CLS with an address of 2. Includes: #include “def.h” Return Value: Returns: 1 if the upload was successful. This what you should normally get. 2 if the controller found an error in the upload comm string. Sent NAK or negative acknowledge. 3 if the upload was completely unsuccessful.
Glossary Glossary ACK (Acknowledge) A control code that signals that a syntactically correct message packet has been received. Address See Data table address and Device address. AIM An analog input module for MLS controllers. Watlow Anafaze offers two different modules: AIM-16 and AIM-32. ASCII American Standard Code for Information Interchange. A code that assigns numeric values to characters. Baud rate The rate at which data is transmitted over a line, measured in bits per second.
Glossary Deadband, alarm The range through which a process variable must travel from the alarm setpoint toward the process setpoint before an alarm clears. Derivative control action A control action in which the output value is proportional to the rate of change of the error between the process variable and setpoint. Deviation alarm The deviation alarm value is an absolute value that is always relative to the setpoint.
Glossary LSB Least Significant Byte. For all two-byte data types, the LSB is transmitted before the MSB (Most Significant Byte) in the packet. MLS Modular Loop System. A Watlow Anafaze controller. MSB Most Significant Byte. For all two-byte data types, the MSB is transmitted after the LSB (Less Significant Byte) in the packet. NAK Not Acknowledged. A control code that signals that a syntactically incorrect message packet has been received. Nibble A group of four bits or half a byte.
Glossary Set, bit See Cleared, bit. Single-bit error An error in which only one bit is incorrect. Stop bit The last part of a character that assures that the next start element is recognized. STX Start Text. A control code that signals the beginning of a transmission. TI Time of Integral, or Reset. The parameter that users alter to set the integral control action, expressed in seconds per repeat. TD Derivative term, or Rate.