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. The customer shall provide notice of any defect to Watlow Anafaze, Incorporated within one
week after the Customer's discovery of such defect. The sole obligation and liability of Watlow
Anafaze, Incorporated under this warranty shall be to repair or replace, at its option and without
cost to the Customer, the defective product or part.
Upon request by Watlow Anafaze, Incorporated, the product or part claimed to be defective shall
immediately be returned at the Customer's expense to Watlow Anafaze, Incorporated. Replaced or
repaired products or parts will be shipped to the Customer at the expense of Watlow Anafaze,
Incorporated.
There shall be no warranty or liability for any products or parts that have been subject to misuse,
accident, negligence, failure of electric power or modification by the Customer without the written
approval of Watlow Anafaze, Incorporated. Final determination of warranty eligibility shall be
made by Watlow Anafaze, Incorporated. If a warranty claim is considered invalid for any reason,
the Customer will be charged for services performed and expenses incurred by Watlow Anafaze,
Incorporated in handling and shipping the returned unit.
If replacement parts are supplied or repairs made during the original warranty period, the warranty
period for the replacement or repaired part shall terminate with the termination of the warranty
period of the original product or part.
The foregoing warranty constitutes the sole liability of Watlow Anafaze, Incorporated and the customer's sole remedy with respect to the products. It is in lieu of all other warranties, liabilities, and
remedies. Except as thus provided, Watlow Anafaze, Inc. disclaims all warranties, express or
implied, including any warranty of merchantability or fitness for a particular purpose.
Please Note:
External safety devices must be used with this equipment.
This reference guide is designed to help applications software
programmers with the following tasks:
Interface to Watlow Anafaze MLS300, CLS200, MLS and CLS con-
•
trollers, 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.)
In This Manual
The following sections are included in this guide:
Chapter 1: Anafaze/AB Protocol. Gives an overview and explanation
of the Anafaze/Allen Bradley communications protocol.
Chapter 2: Modbus-RTU Protocol. Gives an overview and
explanation of the Modbus-RTU communications protocol
Chapters 1 and 2: Data Table Summary. Provides standard controller
data table maps for the parameters (one for each protocol).
Chapter 3: Parameters Description. Describes each parameter.
Appendix A: Communications driver.
Glossary: Explanation of commonly used terms and acronyms.
NOTE
This reference guide is not a tutorial. It does not explain
how to use the controller; it is not a programming reference; it also does not explain PID control, alarms, linear
scaling, or other topics that are explained in detail in the
controller manuals. If you need additional information
about a topic covered in this reference guide, consult the
documentation included with your controller.
Communications Specification 1
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. The host software is considered the “master” and
the controller is considered the “slave.” In other words, the software can
request information from the controller or download information to the
controller. The controller can only respond to communications
transactions initiated by the host software. The controller cannot initiate
communications.
The controller and host software communicate by sending and receiving
information in a “packet” format. A packet consists of a sequence of
bytes in a specific format; it can be as large as 256 bytes of data. (For
more information about packets, see the Packet Format section later in
this chapter.)
The numbers in the packet are sent in binary format. However, our
examples show bytes in hexadecimal format.
Control Codes
Watlow Anafaze abbreviates control codes this way:
CodeMeaning
DLE
STX
ETX
ENQ
Escape code
Signals the start of the other control code character sequences.
Start Text
Begins a transmission.
End Te xt
Ends a transmission.
Request Resend
Tells the controller to resend its last ACK or NAK. Host software
sends this command, and the controller responds to it.
Decimal
Value
1610
0202
0303
0505
Hex
Value
Communications Specification 3
Chapter 1: ANAFAZE/AB Protocol
CodeMeaning
ACK
NAK
Acknowledged
Signals that a syntactically correct packet has been received.
Not Acknowledged
Signals that an incorrect, invalid packet has been received.
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. The example also assumes that there are no
communication errors in the exchange.
(1) The host software sends a packet that contains a read command or
write command.
(2) The controller sends a DLE ACK to the host software.
(3) The host software receives a reply packet from the controller.
(4) The host software sends a DLE ACK.
The following flowchart shows a transaction with no error handling.
Decimal
Value
0606
2115
Hex
Value
Send
command
packet
Receive
DLE ACK
Receive valid
reply packet
Send
DLE ACK
(continued on next page)
NOTE
Due to the difference between the processing speeds of the
controller and PCs, it may be necessary to delay the computer's acknowledgement (ACK) in order for the controller
to receive it. A delay of 200 ms should suffice.
4 Communications Specification
Send command
packet
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.)
Wait for DLE ACK
or DLE NAK
Timed out?
NO
Got ACK
or NAK?
ACK
Wait for reply
packet
YES
NAK
Send DLE ENQ
NO
Sent DLE
ENQ
3 times?
Send DLE NAK
YES
NO
NO
Sent packet
3 times?
YES
Done
Timed out?
NO
Packet valid?
YES
Send DLE ACK
NO
Sent DLE
NAK 3 times?
YESYES
Communications Specification 5
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:
DLESTXDLE ETXBCC/CRC
DATA
DST
SRCCMD
STS
TNSL TNSH ADDL
ADDH
Sending Control Codes
To send a control code, send a DLE before the control code to
distinguish it from data.
Codes in a Packet
Sending a DLE as Data
When you send a byte with an x10, (a DLE), the controller and software
interpret it as a command. Therefore, to send a DLE as data, send
another DLE immediately before it (DLE DLE).
This section describes the sequence of bytes in a packet, in the order the
host software or controller sends them.
DLE STX
The DLE STX byte signals the beginning of a transmission. Every
•
packet of information starts with the control codes DLE STX.
DST
•
The DST byte is the address of the destination device (usually a con-
troller; the first Watlow Anafaze controller is at x08).
NOTE
When host software communicates with an MLS, a CLS, or
a CAS in ANAFAZE or AB protocol, it does not send the
controller’s actual address. Since the protocol reserves
device addresses 0 to 7, the host software sends the value
(controller address + 7), instead of the actual device
address.
6 Communications Specification
SRC
The SRC byte is the device address of the packet’s source. The host
•
software is usually designated address x00.
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.) The next table shows
status byte values and definitions.
An “x” in the status bytes below indicates that the associated nibble
•
may contain additional information. In most cases, the status byte is
composed of two independent nibbles. Each nibble is independent
so that two codes can return at once. For example, status code F1
indicates that data has changed (Fx) and the controller is being
updated through the front panel (x1).
Status
in Hex
00The controller has nothing to report, or AB protocol is selected.
01Access denied for editing. The controller is being updated through the
front panel.
02AIM Comm failure.
A0A controller reset occurred.
CxThe controller received a command that was not a block read or block
write. (Command Error)
DxThe block write command attempted to write beyond a particular parame-
ter block boundary, or the host software attempted to access a data table
block that does not exist. (Data Boundary Error)
ExThe Alarm_Status variable has changed. The software should query the
alarm status block to determine the particular alarm flag that changed.
FxThe controller altered shared data, either internally (from the firmware) or
externally (from the keyboard). The host software should read the Data
Changed Register to determine which data has been altered and update
its own run-time memory.
Description
TNSL
Least significant byte of the transaction number. This is the first half
•
of a “message stamp.”
The controller sends back the TNSL and TNSH exactly as it received
•
them, so host software can use the TNSL and TNSH bytes to keep
track of message packets.
TNSH
•
Most significant byte of the transaction number. This is the second
half of the “message stamp.”
Communications Specification 7
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.
Error Checking
Block Check Character (BCC)
BCC or CRC
•
Communications packets include a one- or two-byte error check at
the end of the packet. There are two error check methods: Block
Check Character (BCC), which requires 1 byte, and Cyclic Redundancy Check (CRC), which requires 2 bytes.
Watlow Anafaze recommends that you use the default error check
method, BCC. It is easier to implement than CRC, and it is acceptable
for most applications.
Select one error check method and configure both software and
controller for that method, or they will be unable to communicate.
The error check methods work this way:
BCC checks the accuracy of each message packet transmission. It
provides a medium level of security. The BCC is the 2’s complement of
the 8-bit sum (modulo-256 arithmetic sum) of the data bytes between
the DLE STX and the DLE ETX. (1’s complement +1)
8 Communications Specification
BCC does not detect transposed bytes in a packet.
•
BCC cannot detect inserted or deleted 0 values in a packet.
•
If you have sent an x10 as data (by sending DLE x10) only one of the
•
DLE data bytes is included in the BCC’s sum (the DLE = x10 also).
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.
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.
•
All errors of odd numbers of bits.
•
All burst errors of 16 bits or less.
•
•
99.997% of 17-bit error bursts.
•
99.998% of 18-bit and larger error bursts.
The CRC is calculated using the value of the data bytes and the ETX
byte. At the start of each message packet, the transmitter must clear a
16-bit CRC register.
Chapter 1: ANAFAZE/AB Protocol
When a byte is transmitted, it is exclusive-ORed with the right 8 bits of
the CRC register and the result is transferred to the right 8 bits of the
CRC register. The CRC register is then shifted right 8 times by inserting
0’s on the left.
Each time a 1 is shifted out on the right, the CRC register is ExclusiveORed with the constant value xA001. After the ETX value is
transmitted, the CRC value is sent, least significant byte (LSB) first.
Below is a structured English procedure from AB Manual:
data_byte = all application layer data, ETX
CLEAR CRC_REGISTER
FOR each data_byte
GET data_byte
XOR (data_byte, right eight bits of CRC_REGISTER)
PLACE RESULT in right eight bits of CRC_REGISTER
DO 8 times
Shift bit right, shift in 0 at left
IF bit shifted =1
XOR (CONSTANT, CRC_REGISTER)
PLACE RESULT in CRC_REGISTER
END IF
END DO
END FOR
TRANSMIT CRC_REGISTER as 2-byte CRC field
Communications Specification 9
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.
Block Read
This example shows the block read command the host software sends,
the controller’s responses, and the software's acknowledgment.
Situation: Read process variables for loops 1 to 8.
8 process variables 2 bytes each = 16 bytes from data table address
•
x0280.
•
Character values are represented in hex.
•
The sender is device address 0.
•
The destination is device address 8 (controller address 1).
•
The software sends transaction number 00.
10 Communications Specification
Chapter 1: ANAFAZE/AB Protocol
The next picture shows the read command.
x10 02 08 00 01 00 00 00 80 02 10 10 10 03 65
DLE
Data (number of bytes
to upload)
DLE
Data table address (LSB first)
Transaction number
Placeholder for status byte
Command (block read)
SRC (Source Device Address)
BCC value
ETX
DST (Destination Device Address)
STX
DLE
The controller sends a DLE-ACK:
x10 06
ACK
DLE
Communications Specification 11
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.
Then the host software sends a DLE-ACK:
x10 06
ACK
DLE
12 Communications Specification
Block Write
Chapter 1: ANAFAZE/AB Protocol
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).
• The software sends transaction number 00.
Here's a picture of the write command:
x10 02 08 00 08 00 00 00 CA 01 E8 03 10 03 3A
DLE
Data:
100 converts to 1000 = x03E8
(assuming the precision for loop 6 is –1)
Data table address
LSB first; x01CA = setpoint for loop
Transaction number
Placeholder for status byte
Command (block write)
SRC (Source Device Address)
DST (Destination Device Address)
STX
DLE
The controller sends a DLE-ACK:
x10 06
BCC value
ETX
DLE
ACK
Communications Specification 13
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
Message Data
Data for a Read Command
Then the host software sends a DLE-ACK:
x10 06
ACK
DLE
Some messages contain data. What the data is and how much depends
on the command used and the purpose of the message.
For a block read command, the data block consists of one byte that
indicates the number of bytes to read (up to 244 bytes of data). The
controller sends back a packet with a data block that contains the
requested bytes.
14 Communications Specification
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. Parameter values are stored contiguously such that the setpoints
for all the loops are stored together and in loop number order. For
example, to read the deviation alarm deadband value for loops one to
five, you would read five bytes starting at x05A0. Some parameters,
such as setpoint, require two bytes of memory to store. So, for example,
if you want to read the setpoint for four loops, you must read eight
bytes.
Chapter 1: ANAFAZE/AB Protocol
Figure total block size in bytes for most loop parameters this way (do
not forget the pulse loop):
(Data Size) * (Number of Loops)
Some parameters have values for both heat and cool. Figure block size
for such a parameter this way:
2 * (Data Size) * (Number of Loops)
One exception is the units for each loop. Figure the data size for the
units this way:
3 * (Number of Loops)
Parameters that are not loop parameters (like system status, digital
inputs, or digital outputs) have specific data sizes. These data sizes are
listed in the data table in the next section.
Communications Specification 15
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.
Unsigned char (UC)1 byte
Signed char (SC)1 byte
Unsigned int (UI)2 bytes
Signed int (SI)2 bytes
Because each loop is individually configurable, the number of instances
of many parameters depends on the number of loops in the controller.
Therefore, the number of bytes for these parameters is listed in the
tables on the following pages in terms of the number of loops in the
controller.
Data Type and SymbolData Size
The storage requirements for some parameters depend on the number of
digital inputs or digital outputs in the controller (MAX_DIGIN_BYTES
and MAX_DIGOUT_BYTES). 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. Use them to
calculate the number of bytes for each parameter.
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. Parameters 81 to 95 are enhanced features and only available in controllers with the enhanced
features option.
Ordering of Ramp-Soak Profile Parameters
Ramp-soak profile parameters are ordered first by profile, then by
segment where applicable. So, for example, the first eight bytes of the
Ready Events parameter are the ready segment event states for the first
profile (profile A) and the next eight bytes are for profile B and so on. In
the case of the segment triggers, the first byte contains the first trigger
setting for the first segment of profile A, the second byte contains the
settings for the second trigger for the first segment of profile A, the third
byte contains the settings for the first trigger for the second segment of
profile A and so on.
Number
82PV Retransmit Maximum Input4250UIMAX_CH * 4
83PV Retransmit Maximum Output42E0UCMAX_CH * 2
Address
in Hex
39A0UIMAX_CH * 2
3A30UCMAX_CH
3994UCMAX_CH * 8
4200UCMAX_CH * 2
TypeNumber of Bytes
MAX_DIGOUT_BYTES
MAX_SEG
MAX_SEG*
MAX_TRIG
* MAX_EVENT
MAX_SEG
MAX_SEG
Communications Specification 19
Chapter 1: ANAFAZE/AB Protocol
NumberDescription
84PV Retransmit Minimum Input4330UIMAX_CH * 4
85PV Retransmit Minimum Output43C0UCMAX_CH * 2
86Cascade Primary Loop Number4410UCMAX_CH
87Cacade Base Setpoint4440SIMAX_CH * 2
88Cacade Minimum Setpoint4490SIMAX_CH * 2
89Cascade Maximum Setpoint44E0SIMAX_CH * 2
90Cascade Heat/Cool Span4530UIMAX_CH * 4
91Ratio Control Master Loop Number45C0UCMAX_CH
92Ratio Control Minimum Setpoint45F0SIMAX_CH * 2
93Ratio Control Maximum Setpoint4640SIMAX_CH * 2
94Ratio Control Control Ratio4690UIMAX_CH * 2
95Ratio Control Setpoint Differential46E0SIMAX_CH * 2
96Loop Status4730UCMAX_CH
97Output Type/Disable4760UCMAX_CH * 2
98Output Reverse/Direct47B0UCMAX_CH * 2
99Controller T ype47F0UC1
100Ramp/Soak Profile Number4800UCMAX_CH
101Controller Address4830UC1
102Baud Rate4840UC1
Address
in Hex
TypeNumber of Bytes
20 Communications Specification
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”). The
other devices (slaves) respond by supplying the requested data to the
master, or by taking the action requested in the query. Typical master
devices include host processors and programming panels.
The master can address individual slaves, or initiate a broadcast
message to all slaves. Slaves return a message (called a “response”) to
queries that are addressed to them individually. Responses are not
returned to broadcast queries from the master.
The Modbus-RTU protocol establishes the format for the master’s query
by placing into it the device (or broadcast) address, a function code
defining the requested action, any data to be sent, and an error-checking
field. The slave’s response message is also constructed using ModbusRTU protocol. It contains fields confirming the action taken, any data to
be returned, and an error-checking field. If an error occurred in receipt
of the message, or if the slave is unable to perform the requested action,
the slave will construct an error message and send it as its response.
Communications Specification 21
Chapter 2: Modbus-RTU Protocol
The Query-Response Cycle
Query Message from Master
Device Address
Function Code
8-Bit
Data Bytes
Error Check
Device Address
Function Code
8-Bit
Data Bytes
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. For
example, function code 03 will query the slave to read holding registers
and respond with their contents. The data field must contain the
information telling the slave which register to start at and how many
registers to read. The error check field provides a method for the slave to
validate the integrity of the message contents.
The Response
If the slave makes a normal response, the function code in the response
is an echo of the function code in the query. The data bytes contain the
data collected by the slave, such as register values or status. If an error
occurs, the function code is modified to indicate that the response is an
error response, and the data bytes contain a code that describes the error.
The error check field allows the master to confirm that the message
contents are valid.
Serial Transmission
22 Communications Specification
Each 8-bit byte in a message contains two 4-bit hexadecimal characters.
This high character density allows better data throughput than ASCII for
the same baud rate. Each message must be transmitted in a continuous
stream.
Coding System
• 8-bit binary, hexadecimal 0 to 9, A to F
• 2 hexadecimal characters contained in each 8-bit field of the message
Bits per Byte
• 1 start bit
Message Framing
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)
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.
The allowable characters transmitted for all fields are hexadecimal 0 to
9, A to F. Networked devices monitor the network bus continuously,
including during the silent intervals. When the first field (the address
field) is received, each device decodes it to find out if it is the addressed
device.
Following the last transmitted character, a similar interval of at least 3.5
character times marks the end of the message. A new message can begin
after this interval.
Similarly, if a new message begins earlier than 3.5 character times
following a previous message, the receiving device will consider it a
continuation of the previous message. This will set an error, as the value
in the final CRC field will not be valid for the combined messages. A
typical message frame is shown below.
STARTADDRESSFUNCTIONDATACRC CHECKEND
n
T1-T2-T3-T48 Bits8 Bits
* 8 Bits16 BitsT1-T2-T3-T4
Handling the Address Field
The address field of a message frame contains 8 bits. Valid slave device
addresses are in the range of 0 to 247 decimal. The individual slave
devices are assigned addresses in the range of 1 to 247 decimal. A
master addresses a slave by placing the slave address in the address field
of the message. When the slave sends its response, it places its own
address in this address field of the response to let the master know which
slave is responding.
Handling the Function Field
The function code field of a message frame contains 8 bits. Valid codes
are in the range of 1 to 255 decimal. Not all these codes are applicable to
all controllers. Current codes are described in the Function Codes
section.
Communications Specification 23
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.
When the slave responds to the master, it uses the function code field to
indicate either a normal (error-free) response or that some kind of error
occurred (called an exception response). For a normal response, the
slave simply echoes the original function code. For an exception
response, the slave returns a code that is equivalent to the original
function code with its most significant bit set to a logic 1.
For example, a message from the master to slave to read a group of
holding registers would have the following function code:
0000 0011x3
If the slave device takes the requested action without error, it returns the
same code in its response. If an exception occurs, it returns:
1000 0011x83
In addition to its modification of the function code for an exception
response, the slave places a unique code into the data field of the
response message. This tells the master what kind of error occurred, or
the reason for the exception.
The master device’s application program has the responsibility of
handling exception responses. Typical processes are to post subsequent
retries of the message, to try diagnostic messages to the slave, and to
notify operators.
Contents of the Data Field
The data field is constructed using sets of two hexadecimal numbers, in
the range of x00 to xFF.
The data field of messages sent from a master to slave devices contains
additional information that the slave must use to take the action defined
by the function code. This can include items like descrete and register
addresses, the quantity of items to be handled, and the count of actual
data bytes in the field.
For example, if the master requests a slave to read a group of holding
registers (function code 03), the data field specifies the starting register
and how many registers are to be read.
24 Communications Specification
If no error occurs, the data field of a response from a slave to a master
contained the data requested. If an error occurs, the field contains an
exception code that the master application can use to determine the next
action to be taken.
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. When this is done, the low-order byte of the field is appended
first, followed by the high-order byte. The CRC high-order byte is the
last byte to be sent in the message.
How Characters are Transmitted Serially
When messages are transmitted on standard Modbus-RTU serial
networks, each character or byte is sent in this order (left to right):
Least Significant Bit (LSB).............Most Significant Bit (MSB)
The bit sequence is:
Start12345678StopStop
CRC Error Checking
All messages include an error-checking field that is based on a Cyclical
Redundancy Check (CRC) method. The CRC field checks the contents
of the entire message. It is applied regardless of any parity check
method used for the individual characters of the message.
The CRC field is two bytes, containing a 16-bit binary value. The CRC
value is calculated by the transmitting device, which appends the CRC
to the message. The receiving device recalculates a CRC during receipt
of the message, and compares the calculated value to the actual value it
received in the CRC field. If the two values are not equal, an error
results.
The CRC is started by first preloading a 16-bit register to all 1’s. Then a
process begins of applying successive 8-bit bytes of the message to the
current contents of the register. Only the 8 bits of data in each character
are used for generating the CRC. Start and stop bits do not apply to the
CRC.
During generation of the CRC, each 8-bit character is exclusive ORed
with the register contents. Then the result is shifted in the direction of
the least significant bit (LSB), with a zero filled into the most significant
bit (MSB) position. The LSB is extracted and examined. If the LSB was
a 1, the register is then exclusive ORed with a preset, fixed xA001. If the
LSB was a 0, no exclusive OR takes place.
Communications Specification 25
Chapter 2: Modbus-RTU Protocol
Function Codes
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.
The listing below shows the function codes supported by the CLS
controllers. Codes are listed in decimal.
Code
in Hex
01Read Coil Status
02Read Input Status
03Read Holding Registers
04Read Input Registers
05Force Single Coil
06Preset Single Register
08Diagnostics
0FForce Multiple Coils
10Preset Multiple Registers
Name
x01Read Coil Status
• Reads the On/Off status of discrete outputs (registers 00001 to
09999, the coils) in the slave. Broadcast is not supported.
x02Read Input Status
• Reads the On/Off status of discrete inputs (registers 10001 to 19999)
in the slave. Broadcast is not supported.
x03Read Holding Registers
• Reads the binary contents of holding registers (registers 40001 to
49999) in the slave. Broadcast is not supported.
26 Communications Specification
x04Read Input Registers
• Reads the binary contents of input registers (registers 30001 to
39999) in the slave. Broadcast is not supported.
x05Force Single Coil
• Forces a single coil (registers 00001 to 09999, the coils) to either On
or Off. When broadcast, the function forces the same coil reference
in all attached slaves.
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.
x06Preset 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.
NOTE
The function will override the controller’s memory protect
state. The preset value will remain valid in the register until
the controller’s logic next solves the register contents. The
register’s value will remain if it is not programmed in the
controller’s logic.
x08Diagnostics
• This function provides a series of tests for checking the communica-
tion system between the master and slave, or for checking various
internal error conditions within the slave. Broadcast is not supported.
• The function uses a 2-byte subfunction code field in the query to
define the type of test to be performed. The slave echoes both the
function code and subfunction code in a normal response.
• Most of the diagnostic queries use a 2-byte data field to send diag-
nostic data or controller information to the slave. Some of the diagnostics cause data to be returned from the slave in a data field of a
normal response.
Diagnostic Subfunctions
x00Return Query Data
• The data passed in the query data field is to be returned
(looped back) in the response. The entire response message
should be identical to the query.
SubfunctionData Field (Query)Data Field (Response)
x00 00AnyEcho Query Data
x01Restart Communications Option
• The slave’s peripheral port is to be initialized and restarted,
and all of its communications event counters are to be
cleared. If the port is currently in Listen Only Mode, no
Communications Specification 27
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.
SubfunctionData Field (Query)Data Field (Response)
x00 01x00 00Echo Query Data
x00 01xFF 00Echo Query Data
x02Return Diagnostic Register
• The contents of the slave’s 16-bit diagnostic register are
returned in the response.
SubfunctionData Field (Query)Data Field (Response)
x00 02x00 00 Diagnostic Register
Contents
x04Force Listen Only Mode
• Forces the addressed slave to its Listen Only Mode for
Modbus-RTU communications. This isolates it from the
other devices on the network, allowing them to continue
communicating without interruption from the addressed
slave. No response is returned.
• When the slave enters its Listen Only Mode, all active com-
munication controls are turned off. The ready watchdog
timer is allowed to expire, locking the controls off. While in
this mode, any Modbus-RTU messages addressed to the
salve or broadcast are monitored, but no actions will be
taken and no responses will be sent.
• The only function that will be processed after the mode is
entered will be the Restart Communications Option function (function code 8, subfunction 1).
SubfunctionData Field (Query)Data Field (Response)
x00 04x00 00 No Response
Returned
28 Communications Specification
x0AClear Counters
• Clears all Communication Event counters. Counters are
also cleared upon power-up.
SubfunctionData Field (Query)Data Field (Response)
x00 0Ax00 00Echo Query Data
x0BReturn Bus Message Count
• The response data field returns the quantity of messages that
the slave has detected on the communications system since
its last restart, clear counters operations, or power-up.
SubfunctionData Field (Query)Data Field (Response)
x00 0Bx00 00Total Message Count
x0CReturn Bus Communication Error Count
• The response data field returns the quantity of CRC errors
encountered by the slave since its last restart, clear counters
Chapter 2: Modbus-RTU Protocol
operation, or power-up.
SubfunctionData Field (Query)Data Field (Response)
x00 0Cx00 00CRC Error Count
x0DReturn 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.
SubfunctionData Field (Query)Data Field (Response)
x00 0Dx00 00Exception Error
Count
x0EReturn Slave Message Count
• The response data field returns the quantity of messages
addressed to the slave, or broadcast, that the slave has processed since its last restart, clear counters operation, or
power-up.
SubfunctionData Field (Query)Data Field (Response)
x00 0Ex00 00Slave Message Count
x0FReturn Slave No Response Count
• The response data field returns the quantity of messages
addressed to the slave for which it returned a no response
(neither a normal response nor an exception response),
since its last restart, clear counters operation, or power-up.
SubfunctionData Field (Query)Data Field (Response)
x00 0Fx00 00Slave No Response
Count
x0FForce Multiple Coils
• Forces each coil (registers 00001 to 09999, the coils) in a sequence
of coils to either ON or OFF. When broadcast, the function forces
the same coil references in all attached slaves.
x10Preset Multiple registers
• Presets values into the sequence of holding registers (registers 40001
to 49999). When broadcast, the function presets the same register
references an all attached slaves.
NOTE
The function will override the controller’s memory protect
state. The preset values will remain valid in the registers
until the controller’s logic next solves the register contents.
The register values will remain if they are not programmed
in the controller’s logic.
Communications Specification 29
Chapter 2: Modbus-RTU Protocol
Writing Data
Reading 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. While host writes to multiple registers are permitted
within a parameter, controller function hierarchies necessitate that only
one parameter may be written at a time. Any data written past a
parameter boundary is simply rejected.
The same parameter-based model is used for reading data from the
controller’s Modbus-RTU interface. Modbus-RTU allows multiple
register block reads for all types of registers. While Watlow Anafaze
Modbus-RTU allows this type of read function, unexpected results may
occur when reading registers that span across the boundaries of more
than one parameter. A query from a Modbus-RTU host starts specific
firmware processes that allow data to be formatted properly for the
Modbus-RTU host. The sequence proceeds as follows:
(1) A query for data comes in from a Modbus-RTU host.
(2) The controller determines what parameter among the hundred or so
is being queried.
(3) The data format from internal memory is converted for a Modbus-
RTU interface.
(a) Data for registers 40001 to 49999 and registers 30001 to
39999 are always two bytes in length. If the internal controller memory is in bit or byte size, the data is padded
appropriately.
(b) The byte order from internal memory is LSB to MSB (least
significant byte to most significant byte. For example, the
LSB first value for 550.0° would be x7C 15. The MSB first
value would be x15 7C.) while the Modbus-RTU is MSB to
LSB. Bytes are swapped as needed.
(4) Parameter data is sent to the Modbus-RTU interface.
When data from adjacent parameters is read and the parameters share
the same data type (bit, byte or integer), the information is formatted
correctly. However, if they do not share the same data type, host
software could be written to pad and/or swap bytes as necessary.
30 Communications Specification
Examples
Chapter 2: Modbus-RTU Protocol
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
Example
1. Reading
Address
in Hex
0103016C000145EB
PV of loop 2
(1600),
controller 1
(single-point
read)
2. Reading
030301D10002942C
loops 4 and 5
heat outputs,
of controller 3
(multipoint
read)
3. Reading
010203820010D9AA
digital input
4, controller 1
(input status
read)
Example
1. Reading PV of loop 2 (1600),
controller 1 (single-point read)
2. Reading loops 4 and 5 (50%,
60%) outputs (heat), of controller 3
(multipoint read)
3. Reading digital input 4, controller
1 (input status read)
Function
in Hex
Start
Address
High
in Hex
Start
Address
Low
in Hex
Number
of Points
High
in Hex
Number
of Points
Low
in Hex
CRC
High
in Hex
Sample Packet for Slave Transmission
Slave
Address
in Hex
Function
in Hex
0103023E 80841B
0303043F DE 4C 4A2D41
01020208 00BE78
Byte
Count
in Hex
Data
in Hex
CRC
High
in Hex
CRC
Low
in Hex
CRC
Low
in Hex
Communications Specification 31
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
Sample Pac ket for Slave T ransmission, a Single-Point Write
Slave
Address
in Hex
Function
in Hex
0406000000148990
020503A8FF00ODAD
Address
High
in Hex
Address
Low
in Hex
Data
High
in Hex
Data
Low
in Hex
CRC
High
in Hex
in Hex
CRC
Low
CRC
Low
32 Communications Specification
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.
Slave
Address
in Hex
Function
in Hex
Address
High
in Hex
Address
Low
in Hex
Number
of
Registers
High
in Hex
Number
of
Registers
Low
in Hex
Byte
Count
in Hex
Data
in Hex
CRC
High
in
Hex
in Hex
0A10008600020400 64 00 969F70
Sample Packet for Slave Transmission, a multipoint write.
Number
Slave
Address
in Hex
Function
in Hex
Address
High
in Hex
Address
Low
in Hex
of
Registers
High
in Hex
0A1000860002A15A
Number of
Registers
Low
in Hex
CRC
High
in Hex
Modbus-RTU Data Table Summary
Each addressable register holds two bytes of data. Each parameter value
requires only one register to store any of these types of data. The data
type for each parameter is indicated in the tables on the following pages.
CRC
Low
CRC
Low
in
Hex
Data Type and SymbolData Size
Unsigned char (UC)1 byte
Signed char (SC)1 byte
Unsigned int (UI)2 bytes
Signed int (SI)2 bytes
Because each loop is individually configurable, the number of instances
of many parameters depends on the number of loops in the controller.
Therefore, the number of registers for these parameters is listed in the
tables on the following pages in terms of the number of loops in the
controller.
Communications Specification 33
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. Use them to
calculate the number of registers for each parameter.
Data table parameters 46 to 60, 100 and 103 are ramp-soak
parameters. They are only used in controllers with the
ramp-soak option. Parameters 81 to 95 are enhanced features and are only available in controllers with the
enhanced features option.
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.
Ordering of Ramp-Soak Profile Parameters
Ramp-soak profile parameters are ordered first by profile, then by
segment where applicable. So, for example, the first 35 registers of the
Ready Events parameter are the ready segment event states for the first
profile (profile A), the next 35 registers are for profile B, and so on. In
the case of the segment triggers, the first register contains the first
trigger setting for the first segment of profile A, the second register
contains the settings for the second trigger for the first segment of
profile A, the third register contains the settings for the first trigger for
the second segment of profile A, and so on.
34 Communications Specification
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. For example, the first register for the Derivative
parameter is at 40067, which is offset 66 (x42) registers from the
beginning of the holding registers at 40001.
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.)
This is for reference only, to help you find applicable controller
parameters to test your software.
WARNING
The controller’s parameters are all read/write, and the controller does not check the content of data written to it. It is
possible to write to any parameter, even though it may not
be meaningful to do so.
Some of the controller’s functions are not listed as data table parameters
in this chapter. If a parameter is not listed in this chapter, one of the
following situations applies:
• The parameter is set only in the controller’s menus; it is not set in
host software. For example, jobs are loaded through the controller’s
front panel only.
• The function may be a bit set in a byte in host software. For example,
the panel lock feature does not have its own parameter; it is set in the
System Command register.
Correlating Menu Items with Parameters
There is not a one-to-one correspondence between parameters found on
the controller menus and the data table items. Some parameters that
appear separately on the controller’s display are combined when stored
in the data table and when read or written via serial communications.
The following tables lay out the correspondence between menu items
and the data table.
Communications Specification 39
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.
Menu/ParameterProduct(s)Parameter(s)
Single-Loop Display
SetpointAll Units5
Process Variab leAll Units6
Heat Output PercentNot CAS/CAS2008
Cool Output PercentNot CAS/CAS2008
Control ModeNot CAS/CAS2004 or 96
Process/Deviation/Sensor AlarmsAll Units13, 64
System AlarmsAll Units13, 15
Assign R/S ProfileRS46
Ramp Soak ProfileRS100
Current SegmentRS47
Time RemainingRS48
Cycle NumberRS49
Set ModeRS46
ResetRS46
Global Menu
Load Setup From JobAll UnitsFront Panel Only
Job Save NumberAll Units73
Job Select Dig InputsAll Units23
Job Sel Dig Ins ActiveAll Units24
Output Override Dig InputNot CAS/CAS200Front Panel Only
Override Dig In ActiveNot CAS/CAS200Front Panel Only
Startup Alarm DelayAll Units40
Ramp/Soak Time BaseRS31
Keyboard Lock StatusAll Units31
Power Up Output StatusNot CAS/CAS20031
Process Power DiginNot CAS/CAS200Front Panel Only
Controller AddressNot CAS/CAS200101
Communications ProtocolAll UnitsFront Panel Only
Communications Err CheckAll UnitsFront Panel Only
AC Line FreqAll Units31
Dig Out Polarity on AlarmAll Units31
Firmware InfoAll Units34, 35, 99
Input Menu
Input T ypeAll Units3
Loop NameNot CAS/CAS20077
Channel NameCAS/CAS200 only78
Heat Control PBNot CAS/CAS2000
Heat Control TINot CAS/CAS2002
Heat Control TDNot CAS/CAS2001
Heat Control FilterNot CAS/CAS2007
Cool Control PBNot CAS/CAS2000
Cool Control TINot CAS/CAS2002
Cool Control TDNot CAS/CAS2001
Cool Control FilterNot CAS/CAS2007
SpreadNot CAS/CAS20039
Restore PID Digital InputNot CAS/CAS20079
Outputs Menu
Heat Control OutputNot CAS/CAS2004
Heat Output TypeNot CAS/CAS2004, 97
Heat Output Cycle Time (TP)Not CAS/CAS20020
SDAC ModeNot CAS/CAS20070
SDAC Lo ValueNot CAS/CAS20071
SDAC Hi ValueNot CAS/CAS20072
Heat Output ActionNot CAS/CAS2004, 98
Heat Output LimitNot CAS/CAS20061
Heat Output Limit TimeNot CAS/CAS20062
Sensor Fail Ht OutputNot CAS/CAS20067
Heat T/C Brk Out AvgNot CAS/CAS20078
Heat OutputNot CAS/CAS20069
Cool Control OutputNot CAS/CAS2004
Cool Output TypeNot CAS/CAS2004, 97
Cool Output Cycle Time (TP)Not CAS/CAS20020
SDAC ModeNot CAS/CAS20070
SDAC Lo ValueNot CAS/CAS20071
SDAC Hi ValueNot CAS/CAS20072
Hi Proc Alarm SetptAll Units9
Hi Proc Alarm TypeAll Units63, 65
Hi Proc Alarm OutputAll Units41
Dev Alarm ValueAll Units11
Hi Dev Alarm TypeAll Units63, 65
Hi Dev Alarm OutputAll Units43
Lo Dev Alarm TypeAll Units63, 65
Lo Dev Alarm OutputAll Units44
Lo Proc Alarm SetptAll Units10
Lo Proc Alarm TypeAll Units63, 65
Lo Proc Alarm OutputAll Units42
Alarm DeadbandAll Units12
Alarm DelayAll Units40, 75
Manual I/O Test Menu
Digital InputsAll Units25
Test Digital OutputAll Units26
Digital Output NumberAll Units26
Keypad TestAll UnitsFront Panel only
42 Communications Specification
Chapter 3: Controller Parameter Descriptions
Additional menus are found in controllers with Ramp and Soak and
Enhanced Features options.
Menu/ParameterProduct(s)Parameter(s)
Setup Loop PV RetransmitEF and RS
Heat Output Retrans PVEF and RS81
PV Retransmit Minimum InputEF and RS84
PV Retransmit Minimum OutputEF and RS85
PV Retransmit Maximum InputEF and RS82
PV Retransmit Maximum OutputEF and RS83
Cool Output Retrans PVEF and RS81
PV Retransmit Minimum InputEF and RS84
PV Retransmit Minimum OutputEF and RS85
PV Retransmit Maximum InputEF and RS82
PV Retransmit Maximum OutputEF and RS83
Setup Loop CascadeEF
Cascade Primary Loop NumberEF86
Cascade Base SetpointEF87
Cascade Minimum SetpointEF88
Cascade Maximum SetpointEF89
Cascade Heat SpanEF90
Cascade Cool SpanEF90
Setup Loop Ratio ControlEF
Ratio Control Master Loop NumberEF91
Ratio Control Minimum SetpointEF92
Ratio Control Maximum SetpointEF93
Ratio Control Ctrl RatioEF94
Ratio Control SP DiffEF95
Setup Ramp/Soak ProfileRS
Edit Ramp & Soak ProfileRSFront Panel only
Copy Setup From ProfileRSFront Panel only
Out-of-Tolrnce Alarm TimeRS50
Ready Segment SetpointRS53
Ready Segment Edit EventsRSFront Panel only
Ready Event OutputRS54
External Reset Input NumberRSFront Panel only
Edit Segment NumberRSFront Panel only
Segment ## Seg TimeRS58
Segment ## Seg SetptRS55
Segment ## Edit Seg EventsRSFront Panel only
Seg ## Event # OutputRS57
Seg ## Ev# DO## Active StateRS57
Communications Specification 43
Chapter 3: Controller Parameter Descriptions
Menu/ParameterProduct(s)Parameter(s)
Segment ## Edit Seg TrggrsRSFront Panel only
Seg ## Trig # Input NRRS56
Seg ## Tr# DI## aCTIVE STATERS56
SEG ## TR# DI## TRIGRS56
SEGMENT ## SEG TOLERANCERS59
SEGMENT ## LAST SEGMENTRS51
REPEAT CYCLESRS52
44 Communications Specification
Parameters (by number)
Proportional Band/Gain (0)
Chapter 3: Controller Parameter Descriptions
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. This equation illustrates the relationship between the PB and
Gain:
Derivative Term (1)
Integral Term (2)
Proportional Band =
For example, on a J-type thermocouple the high range is 1400 and low
range is –350, so a gain of 35 gives a PB of 50 degrees. (The input type
ranges are listed in the Input Type section and in the User’s Guide for
your controller.)
This parameter contains the derivative term for PID output calculations.
(The derivative term is also known as the TD or Rate.)
(High Range Value) – (Low Range Value)
Gain
• Range: 0 to 255 seconds.
• EX PROM: 125.
• Pulse Loop: 0.
• All Others: 0.
This parameter contains the integral term for PID output calculations.
(The integral term is also known as the Reset or TI.)
• Range: 0 to 6000 seconds per repeat. (Setting the TI to 0 seconds
turns off the integral action.)
• STD Heat: 180.
• STD Cool: 60.
• Extruder: 500.
• Pulse: 0.
Communications Specification 45
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).
The following input types are currently defined:
Decimal
Number
0Linear00–10 to 60 mV (scaleable)
1J-type thermocouple01–350 to 1400°F
Bit 2 in the heat output-type byte determines the loop’s
control status (Automatic or Manual). The controller
ignores Bit 2 in the cool output-type byte.
This parameter contains the process setpoint, expressed in engineering
units. (The setpoint is affected by the Precision parameter.)
• The setpoint’s range depends on the loop’s input type.
• The default setpoint for a J-type thermocouple is 250 (25°F).
Process Variable (6)
Output Filter (7)
48 Communications Specification
The process variable contains the compensated input measurement,
expressed in engineering units. (This parameter is affected by the
Precision parameter.)
• The process variable’s range depends on the loop’s input type
(described in the Input Type section).
The adjustable output filter dampens the control output response.
(Setting the number of scans to 0 disables the filter.)
• Range: 0 to 255 scans.
• 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. (This parameter is affected by the
Precision parameter.)
• Range: –999 to 2500 (legal range determined by input type).
• Default: 10000 (1000°F) for a J-type thermocouple.
Chapter 3: Controller Parameter Descriptions
Low Process Alarm Setpoint (10)
The low process alarm setpoint is the absolute low process variable
limit, expressed in engineering units. (This parameter is affected by the
Precision parameter.)
• Range: –999 to 2500 (legal range determined by input type).
• Default: 0.
Deviation Alarm Band Value (11)
The deviation alarm band value indicates the amount of deviation from
the setpoint before an alarm is issued. The amount of deviation is
expressed in engineering units. (This parameter is affected by the
Precision parameter.)
• Range: 0 to 255.
• Default: 5.
Alarm Deadband (12)
The alarm deadband prevents the alarm output from fluctuating rapidly
when the input is near the alarm setpoint. (This parameter is affected by
the Precision parameter.)
• Range: 0 to 255.
• Default: 2.
Communications Specification 49
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
Bit set to 0False Cleared
Users can set loop alarms to warn them of high and low
process variables and high and low deviation from the setpoint. Users can also set a loop alarm deadband value that
prevents alarm “chattering” in process and deviation
alarms. (There are also failed sensor alarms for some input
types; users cannot configure the failed sensor alarms.)
All of these alarms are individually indicated. They can
also be individually enabled, disabled, and acknowledged.
The host software can observe and set process alarm and
deviation alarm values.
True Set
NOTE
Alarms in MLS and CLS controllers depend on these five
16-bit variables, all unsigned integers: Alarm_Status,
Alarm_Mask, Alarm_Enable, Alarm_Control,
Alarm_Acknowledge.
Each of these variables is responsible for a different alarm
behavior, attribute, or condition. Each of the controller’s
alarms has 1 bit in these variables; the table below shows
the bit map for each variable. The bits are treated as 16
separate Boolean (TRUE/FALSE) variables.
Alarm_Status (13)
50 Communications Specification
This parameter provides the current status of all the alarms for a loop,
except for special ramp-soak alarms. When an alarm occurs, the
controller sets the appropriate bit in Alarm_Status. When the alarm
clears, the controller clears the bit for that alarm.
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.
Host software can read this parameter, but should not write to it.
NOTE
An alarm clears when its alarm condition is no longer
present. If an alarm clears, and it has not already been
acknowledged, it remains an unacknowledged alarm until
the operator acknowledges it (by pressing the controller’s
Alarm Ack key or through software).
Do not use host software to alter the status of the
Alarm_Status bits.
When Alarm_Status Trips
An alarm trips only if the Alarm_Mask bit, Alarm_Enable bit, and the
alarm condition are all TRUE. For example, the high process alarm trips
if the Alarm_Mask bit and Alarm_Enable bit are all true, and the process
exceeds the high process alarm setpoint value.
When Alarm_Status Clears
An alarm clears when the condition that caused it clears, or when the
Alarm_Mask bit is set to FALSE. For example, the high process alarm
clears if the process goes below the high process alarm setpoint.
BitAlarm Name
0Spare
1Spare
2Low deviation
3High deviation
4Low process
5High process
6T/C Reversed
7T/C Short
8T/C break (or open)
9RTD open (not in 16CLS and CAS)
10RTD short (not in 16CLS and CAS)
11N/A
12Ambient Warning (version 3.4 and later)
13Ambient Cal Error
Communications Specification 51
Chapter 3: Controller Parameter Descriptions
BitAlarm Name
14Full Scale Cal Error
15Offset 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. However, the block size has been allocated to allow a
maximum of six ambient sensors per system.
Pulse Sample Time (16)
This parameter is the sample period in seconds for the pulse counter
input. (The pulse input is available for the CLS, MLS, and CAS only.)
• Range: 1 to 20 seconds.
• Default: 1 second.
High Process Variable (17)
This parameter is one of four points used to scale inputs, expressed in
engineering units. (This parameter is affected by the Precision
parameter.)
• Range: –9999 to 30000.
• Default: 14000 (1400F) for J-type thermocouple.
Low Process Variable (18)
This parameter is one of four points used to scale inputs, expressed in
engineering units. (This parameter is affected by the Precision
parameter.)
• Range: –9999 to 30000.
• Default: –3500 (–350°F) for J-type thermocouple.
NOTE
Whenever the Input Type or Units are changed, the High
Process Variable and Low Process Variable parameters are
set to the default values for the Input Type. see Input Type
(3) on page 46 for a list of these values.
52 Communications Specification
Precision (19)
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.
The precision determines the number of decimal places in the associated
parameters.
The value stored in this parameter affects several other parameters.
• Range: –1 to +4.
• Default: –1 for a J-type thermocouple.
The MLS, CLS and CAS do not store any floating-point values. Instead,
they use the Precision parameter to simulate floating-point calculations
for these other parameters:
• Process variable
• Setpoint
• Proportional band
• High process alarm
• Low process alarm
• Deviation band alarm
• Heat/cool spread
• Alarm deadband
• Ready setpoint
• Segment setpoint
• Tolerance value
When the controller sends values for these parameters to host software,
it sends them as integers. To convert the numbers to a decimal, the host
software must do the following:
(1) Take the number from the controller.
(2) Divide it by 10
ting. So for example, if the precision is set to –1, divide values read
via communications by 10, and if the precision is 2, divide by 100).
|p|
(where |p| is the absolute value of the precision set-
Communications Specification 53
Chapter 3: Controller Parameter Descriptions
(3) If the original precision value (from the table below) was a negative
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.
Display Format Menu
When users edit the controller’s Display Format menu for a linear input,
they are really editing the precision for that input.
The next table shows the available precision values:
number, round the number to the nearest integer. Otherwise, display
the number.
Precision
Value
–1–999 to 30002556257
0–9999 to 3000025562556
1–999.9 to 3000.02556255.6
2–99.99 to 300.00255625.56
3–9.999 to 30.00025562.556
4–0.9999 to +3.000025560.2556
Display Format
Sample Raw Value Read
via Communications
Scaled
Display V alue
Cycle Time (20)
This parameter contains the time proportioning time base, expressed in
seconds.
• Range: 0 to 255 seconds.
• Heat: 10.
• Cool: 3.
Zero Calibration (21)
This parameter returns the controller’s zero calibration counts.
Full Scale Calibration (22)
Digital Inputs (25)
54 Communications Specification
This parameter returns the controller’s full scale calibration counts
This parameter returns the state of the controller’s digital inputs. If the
input is an open circuit (high) the corresponding value returns a 1. If the
input is connected to common or low a 0 is returned.
Chapter 3: Controller Parameter Descriptions
The Anafaze/AB protocol returns all 8 bits in 1 byte. See the table
below.
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. If
the output is off (an open circuit), the value is 0. If the output is on, the
value is 1. To turn on an output, set the corresponding bit to 1.
The Anafaze/AB protocol stores the states for up to eight outputs in 1
byte. So, a total of 5 bytes are required to store the states of the 35
digital outputs in a controller. See the table below to decode the bits.
The Modbus-RTU protocol stores the states of the outputs in 35
individually addressable coil registers.
Override Digital Input (28)
This parameter enables the output override feature and selects a digital
input to trigger it. When the feature is enabled and the specified input is
activated, the controller sets all loops to manual mode at the heat and
cool outputs at the levels specified by the Output Override parameters.
• Range: 0 to 8 (Disabled = 0, Enabled = 1 to 8, indicating the selected
digital input).
• Default: 0.
Override Polarity (29)
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit
0
Specify whether a low or high signal activates the output override
feature.
• Range: 0 or 1 (Low = 0, High = 1).
• Default: 0.
Communications Specification 55
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.
Bit01
0Battery OKDead battery
1Init Start OKBad Init Start Bit
2AIM OKAIM comm failure
3No Ambient ErrorAmbient Error
4No Ambient WarningAmbient Warning
5Zero Calibration OKBad zero calibration
6Full scale calibration
value OK
7Reserved
8Alarms delay OffAlarms delay On
9-13Reserved
14-15See next table
Bad full scale calibration
value
Here’s a partial bit map of system status byte 2. The CLS and CAS use
bits 14 and 15 only.
Bit 15 SettingBit 14 SettingResult
00Controller has 4 loops
01Controller has 8 loops
10Controller has 16 loops
System Command Register (31)
The System Command Register is a register of mode and configuration
flags for the controller’s processor.
• Default: 0.
Bit01
0Use default output data on
startup.
1Operator keys enabled.Operator keys locked.
2Unit set to 60 Hz.Unit set to 50 Hz.
3Ramp-soak time base in hours
and minutes.
4Alarm digital outputs active
Low.
Use memory data on
startup.
Ramp-soak time base in
minutes and seconds.
Alarm digital outputs active
High
56 Communications Specification
Bit01
5 *Manufacturing Test
6Parameter reset bit
7Reserved
* 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. (For more information about “Data Changed”
status flags, see the Status Byte section in Chapter 1.)
• Range: 0 to 255.
The general program flow goes like this:
Chapter 3: Controller Parameter Descriptions
Input Units (33)
(1) If there is anything in the controller’s internal Data Changed Stack,
the controller returns a “Data Changed” status flag. (See the Status
Byte section in Chapter 1 for an explanation of the “Data Changed”
status flag.)
(2) The host receives a “Data Changed” flag in the communications
packet.
(3) The host reads the Data Changed Register for the command number
of the parameter that changed and then uploads that data block.
(4) The controller notes that the Data Changed Register has been read
and waits for an Acknowledge from the host. When the Acknowledge has been received, the controller checks its own Data Changed
Stack. If there are still data blocks that have been changed, but not
uploaded, the controller puts the next command number in the Data
Changed Register and continues to return a “Data Changed” status
in communications packets. Otherwise, the Data Changed Register
is cleared and no more Data Changed status flags are returned. (For
more help on this topic, see the Status Byte section in Chapter 1.)
MLS, CLS, and CAS show the process variable expressed in
engineering units. This parameter consists of three character strings that
provide text representation of the engineering units for each loop. (The
default input units for a J-type thermocouple—the default input type—
are in °F.)
For thermocouple and RTD inputs, the input units are preset; the third
character of the loop’s string indicates whether the reading is in degrees
Celsius (if the second and third characters are “°C”), or in degrees
Fahrenheit (if the second and third characters are “°F”).
Communications Specification 57
Chapter 3: Controller Parameter Descriptions
For linear and pulse inputs, users can select three characters to display.
This table shows valid entries:
(Space)3220
#3523
˚
%3725
/472F
A to Z65 to 9041 to 5A
0 to 948 to 5730 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). The
second one contains the EPROM major revision, and the third one
contains the EPROM minor revision.
CharacterDecimal ValueHex Value
223DF
WARNING
Options Register (35)
The next table shows EPROM model codes. (Other codes are reserved
for older controllers.)
CodeModel
9MLS/MLS300
10CLS/CL200
12CAS/CAS200
Watlow Anafaze recommends that you do not write to the
EPROM-version parameter.
The options register is register of flags denoting firmware options in the
controller. These options are currently defined:
Bit01
0Reserved
1Cascade option not presentCascade-enhanced
option
216-channel MLS32-channel MLS
3SmartWatch option not
present
SmartWatch option
58 Communications Specification
Bit01
4Extruder option not presentExtruder option
5Ramp-soak not presentRamp-soak
6Math package not presentMath package
7Reserved
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. For
thermocouple and RTD inputs, the high reading is expressed in tenths of
a degree Celsius or Fahrenheit. For linear inputs, the high reading value
is expressed in tenths (CLS) or hundredths (MLS) of a percent of full
scale. For pulse inputs, the high reading value is expressed in Hertz.
Chapter 3: Controller Parameter Descriptions
• Range: –999 to 9999 (CLS), –9990 to 11000 (MLS).
• Default: 14000 (1400°F) for a J-type thermocouple.
Low Reading (38)
This parameter contains one of four points used to scale inputs. For
thermocouple and RTD inputs, the low reading is expressed in tenths of
a degree Celsius or Fahrenheit. For linear inputs, the low reading value
is expressed in tenths (CLS) or hundredths (MLS) of a percent of full
scale. For pulse inputs, the low reading value is expressed in Hertz.
• Range: –999 to 9999 (CLS), –9990 to 11000 (MLS).
• Default: –3500 (–350°F) for a J-type thermocouple.
NOTE
Note: Do not change High and Low Readings if the Input
Type is NOT set to Linear or Pulse.
Heat/Cool Spread (39)
This parameter describes a deadband about the setpoint for heat/cool
loops. The heat/cool spread is in units of the input variable. This
parameter is affected by the Precision parameter.
Communications Specification 59
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.
The startup alarm delay does not apply to failed-sensor alarms and AIM
failure alarms.
• Range: 0 to 255 minutes.
• Default: 0.
High Process Alarm Output Number (41)
This parameter assigns the output number to which the high process
alarm output is directed.
• Range: 0 to 34.
• Default: 0 (no high process alarm output).
Low Process Alarm Output Number (42)
This parameter assigns the output number to which the low process
alarm output is directed.
• Range: 0 to 34.
• Default: 0 (no low process alarm output).
High Deviation Alarm Output Number (43)
This parameter assigns the output number to which the high deviation
alarm output is directed.
• Range: 0 to 34.
• Default: 0 (no high deviation alarm output).
Low Deviation Alarm Output Number (44)
60 Communications Specification
This parameter assigns the digital output number to which the low
deviation alarm output is directed.
• Range: 0 to 34.
• 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:
Chapter 3: Controller Parameter Descriptions
Bit 4Bit 3Bit 2Bit 1Bit 0
00000 0 A
00001 1 B
00010 2 C
00011 3 D
00100 4 E
00101 5 F
00110 6 G
00111 7 H
01000 8 I
01001 9 J
01010 10 K
01011 11 L
01100 12 M
01101 13 N
01110 14 O
01111 15 P
10000 16 Q
Profile
Number
Ref.
Letter
Bits 5, 6, and 7 hold the profile status:
Bit 7Bit 6Bit 5Status
000
001Profile is running “R”
010
011Profile in trigger wait state “W”
100Profile out of tolerance “O”
111No profile assigned
Profile in Ready state
Profile is holding
Communications Specification 61
“S”
“H”
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.
Segment Time Remaining (48)
If the time base is in minutes and seconds, this parameter holds the total
remaining seconds, up to 999 minutes and 59 seconds. If the time base
is in hours and minutes, this parameter holds the total remaining
minutes, up to 999 hours, 59 minutes.
• Range: 0 to 59999.
• Default: 0.
Current Cycle Number (49)
This parameter returns the number of the current cycle. (Command 52,
Number of Cycles, returns the total number of cycles to execute.)
• Range: 0 to 9999.
• Default: 0.
Tolerance Alarm Time (50)
The value of this parameter decrements once each time unit (each
minute if the time base is set to hours and minutes, or each second if the
time base is set to minutes and seconds), while the profile is out of
tolerance. When a ramp-soak segment is out of tolerance for longer than
the tolerance alarm time, the controller goes into tolerance alarm and the
tolerance timer resets.
• Range: 0 to 59999.
• Default: 0.
Last Segment (51)
62 Communications Specification
This parameter denotes the last segment in the profile.
• Range: 0 to 19.
• 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. When the
profile ends, the process returns to this setpoint. (This value is affected
by precision.)
• Range: Low Process Variable to high Process Variable. (–999 to
• Default: 0.
Special logic applies to determining the decimal placement for the
Ready Setpoint when using the Anafaze/AB protocol. When a profile is
assigned to a loop and the precision of the loop is greater than or equal
to 0, the setpoint is divided by an additional factor of 10 when the
precision is applied. When the profile is assigned to a loop with
precision –1, the precision is applied to the setpoint as usual (see
Precision (19) on page 53).
Chapter 3: Controller Parameter Descriptions
9999, legal value determined by input type.)
For example, if a profile with a Ready Setpoint of 1000 is assigned to a
loop with its Input Type set to Linear and its Precision to 1, the resulting
setpoint is 10. If the same profile were assigned to a loop with Input
Type set to J-type thermocouple (precision set to –1), the setpoint would
be 100.
For the Modbus-RTU protocol, the setpoint is scaled by the precision
setting only.
Ready Event States (54)
This parameter describes the ready segment’s output state 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.
• Range: 0 (off) or 1 (on).
• Default: 0 (off).
Communications Specification 63
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.
When accessed via the Modbus-RTU protocol, this parameter contains
the ready segment event outputs for the first 10 profiles (A to J) only.
The state of each is stored in its own register. For access to all the ready
segment events, see parameter 103.
Segment Setpoint (55)
This parameter represents the setpoint the process variable will reach at
the end of the segment. (This value is affected by precision)
• Range: Low Process Variable to High Process Variable. (–999 to
9999, legal value determined by input type.)
• Default: 0.
Special logic applies to determining the decimal placement for the
Segment Setpoint when using the Anafaze/AB protocol. When a profile
runs on a loop with a precision setting greater than or equal to 0, the
setpoint is divided by an additional factor of 10 when the precision is
applied. When the profile runs on a loop with precision –1, the precision
is applied to the setpoint as usual (see Precision (19) on page 53).
For example, if a profile with a Segment Setpoint of 1000 runs on a loop
with its Input Type set to Linear and its Precision to 1, the resulting
setpoint is 10. If the same profile runs on a loop with Input Type set to Jtype thermocouple (precision set to –1), the setpoint will be 100.
For the Modbus-RTU protocol, the setpoint is scaled by the precision
setting only.
Triggers and Trigger States (56)
This byte holds the trigger input number, its active state, and its latch
status. Triggers are saved in memory as indicated below.
Seg(1) Trig(1), Seg(1) Trig(2), Seg(2) Trig(1), Seg(2) Trig(2), etc.
64 Communications Specification
• Range: 0 (no trigger), inputs 1 to 8.
Chapter 3: Controller Parameter Descriptions
• Default: 0 (no trigger assigned).
BitBit set to 0Bit set to 1
0 to 3See below
4 to 5Reserved
6Unlatched trigger (trigger
must remain true throughout
the segment).
7Active OffActive On
Bits 0 to 3 determine the input number for the trigger:
Latched trigger (trigger
must be true at beginning of
segment).
This parameter holds the event output number and event state for a
profile segment. Users can designate up to four events per segment; each
event takes 1 byte. Events are saved in memory as indicated below.
• Range: Outputs 1 to 34 (except outputs used for control or for the
SDAC clock).
• Default: 0 (no event assigned).
Here’s a bit map of the Event bytes:
Input
Number
BitBit set to 0Bit set to 1
0 to 5Determines the output number for an event
6Reserved
7Event is active OffEvent is active On
Communications Specification 65
Chapter 3: Controller Parameter Descriptions
Bits 0 to 5 determine the output number for an event:
Segment Time (58)
ResultBit 5
No events000000
Digital output 1 is an
event
Digital output 2 is an
event
Digital output 3 is an
event
Digital outputs 4 to
33 are events
Digital output 34 is
an event
000001
000010
000011
..................
100010
Bit 4Bit 3Bit 2Bit 1Bit
0
This parameter represents the duration of a segment, in the time units
selected elsewhere (hours and minutes or minutes and seconds).
• Range: 0 to 59999.
• Default: 0.
Tolerance (59)
The tolerance parameter represents an user-defined allowable deviation
from setpoint. If the process goes above a positive tolerance value or
below a negative tolerance value, it is considered out of tolerance. See
also Tolerance Alarm Time (50). This value is also affected by precision.
• Range: –99 to 99.
• Default: 0.
Ramp/Soak Flags (60)
This parameter is a byte register for each loop that has a ramp-soak
profile assigned to it.
Here’s a picture of this byte:
BitBit set to 0Bit set to 1
0The segment is within the toler-
ance time period.
1 *The segment does not require
alarm acknowledgment. (Segment may be out of tolerance
but is not in tolerance alarm.)
2Reserved
The segment is out of
tolerance time period.
The user must acknowledge alarm. (Segment
may be within tolerance.)
66 Communications Specification
Output Limit (61)
Chapter 3: Controller Parameter Descriptions
BitBit set to 0Bit set to 1
3The profile is in trigger wait
state
4Reserved
5Reserved
6Reserved
7Reserved
*
The controller toggles a bit in the data-changed register to notify high
level software that the alarm status has changed.
This parameter sets a limit on the output power percentage on either
heat or cool outputs for any loop. The output limit works with the output
limit time. While the limit is in effect, the output level will never exceed
the specified limit.
The profile is not in trigger
wait state (remote hold)
• Range: 0 to 32700 (0 to 100%). Setting the limit to 100% (32700)
• Default: 32700 (100%), or disabled.
Output Limit Time (62)
This parameter describes the time span that the output limit is in effect.
• Range: 0 to 999 seconds. Setting the output limit time to 0 makes the
• Default: 0 seconds (continuous output limit).
The output limit only affects loops in automatic control (AUTO). The
time-out period is restarted whenever:
• A loop switches from manual to automatic control.
• The controller restarts.
disables it.
output limit continuous; setting the output limit time from 1 to 999
seconds gives a range from 1 second to about 16 minutes.
Communications Specification 67
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.
FunctionDescription
AlarmWhen an alarm condition occurs:
ControlThe alarm digital output activates on alarm and deacti-
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.
The operator must press the Alarm Ack key to stop the
flashing message and deactivate the global alarm
before the controller will accept other input from the
keypad.
vates when the loop goes out of alarm.
The global alarm output does not activate.
Users do not have to acknowledge control alarms by
pressing the alarm Ack key.
Alarm_Acknowledge (64)
When an alarm occurs and it is not a control alarm, the corresponding
Alarm_Acknowledge bit is set. Clearing the bit acknowledges the alarm.
Alarm_Mask (65)
When users turn alarms on or off from the front panel keypad, they are
really setting or clearing the Alarm_Mask variable. (When an alarm is
turned on, its Alarm_Mask bit is set.)
Setting Alarm_Mask to TRUE does not trip or clear alarms; instead, it
lets the alarm checking routine check for them. The controller does not
set or clear Alarm_Mask by itself; users edit this bit through the front
panel keypad or in host software.
See the table on page 51 for alarm bits.
Alarm_Enable (66)
The Alarm_Enable variable is like the Alarm_Mask variable, except it is
a temporary mask. An alarm will not trip until its Alarm_Enable bit
becomes true and the following conditions are also met:
• The alarm condition occurs.
• The Alarm_Mask bit is set.
68 Communications Specification
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.
Output Override Percentage (67)
When a sensor failure occurs and the loop is in Automatic mode, the
loop switches to Manual mode at the output override percentage. If
users have configured an output override digital input, they set every
loop to the output override percentage when they change the polarity of
the output override’s digital input to the active state.
Chapter 3: Controller Parameter Descriptions
AIM Fail Output (68)
• Range: 0 to 32700 (0 to 100%).
• Default: 0.
This parameter is valid for the MLS controller only. It designates a
digital output for the MLS-AIM failure alarm. Setting this parameter to
0 disables it.
• Range: 0 to 34. (Setting this parameter to 0 disables the AIM fail out-
put.)
• Default: 0 (AIM fail output is disabled).
Communications Specification 69
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).
0
100
Linear
Curve 1Curve 2
SDAC Mode (70)
SDAC Low Value (71)
SDAC High Value (72)
• 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).
This parameter toggles the SDAC between current and voltage output.
• Range: 0 to 1, where 0 = voltage and 1 = current.
• Default: 0.
This parameter sets a low range value for the output device. This value
must be less than the SDAC high value.
• Range: 0 to 999 for voltage outputs and 0 to 1999 for milliamp out-
puts.
• Default: 000 (0.00 volts) or 400 (4.00 mA).
This parameter sets a high range value for the output device. This value
must be greater than the SDAC low value.
70 Communications Specification
• Range: 1 to 1000 for voltage outputs and 1 to 2000 for current out-
puts. (The controller displays this value with a fixed decimal place,
so the user sees a range of 1 to 10.00 for voltage inputs and 1 to
20.00 for current outputs.)
• 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.
• Default: 0 (no job).
Input Filter (74)
The adjustable input filter dampens the analog input response.
• Range: 0 to 255 scans. (Setting the number of scans to 0 disables the
• Default: 16CLS and 8CLS = 3 Scans (both are equal to 1 second),
Chapter 3: Controller Parameter Descriptions
filter.)
4CLS measurement = 6 Ambient = 0.
Loop Alarm Delay (75)
Delays process and failed sensor alarms for a loop until the alarm
condition has been continuously present for longer than the specified
alarm delay time.
• Range: 0 to 255.
• Default: 0 seconds (no loop alarm delay).
NOTE
MLS EPROMS prior to Version 2.30 do not support the
loop alarm delay.
Loop Names (77)
This parameter assigns a two-character name to each loop for CLS,
CLS2001, MLS and MLS300 controllers. For CAS and CLS200 see
Channel Name (78).
• Range: 0 to 9, A to Z, °, /, %.
• Default: The loop’s number.
Communications Specification 71
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.
0Reversed thermocouple
1Heat thermocouple break
2Cool thermocouple break
3 to 7Reserved
• Default: all bits cleared (i.e. all disabled).
Channel Name (78)
BitBit set to 0Bit set to 1
Reversed thermocouple
detection disabled.
output averaging disabled.
output averaging disabled.
detection enabled.
Heat thermocouple break
output averaging enabled.
Cool thermocouple break
output averaging enabled.
This parameter assigns an eight-character name to each channel in the
CAS and CAS200. For the CLS, CLS200, MLS and MLS300, see Loop
Names (77).
Restore PID Digital Input (79)
This parameter specifies the digital input to restore the PID control from
MAN mode to AUTO mode for each loop. When a thermocouple break
occurs and the loop is in AUTO mode, the controller sets the loop to
MAN mode. If the digital input is other than 0 and the input is low, the
loop goes back to AUTO mode when the thermocouple-break condition
clears.
• Range: 0 (none) to 8.
• Default: 0 (none).
Manufacturing Test (80)
This parameter is used for manufacturing to perform specific tests on
each bit.
BitBit set to 0Bit set to 1
0Watchdog timer test disab led.Watchdog timer test
1Halt mux scanning for calibra-
2 to 15Reserved
tion test disabled.
enabled.
Halt mux scanning for cali-
bration test enabled.
72 Communications Specification
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).
PV Retransmit Maximum Input (82)
This parameter specifies the maximum Process Variable input allowed
for PV retransmit calculation. This value must not be lower than the
minimum input (command 84).
• Range: –999 to 9999 (depending on precision in primary loop).
• Default: 14000 (1400°F) for a J-type thermocouple.
PV Retransmit Maximum Output (83)
This parameter specifies the maximum output (%) allowed for Procedss
Variable retransmit calculation. Once specified, the output will not
exceed this percentage. This number must not be lower than the
minimum output (command 85).
• Range: 0 to 100.
• Default: 100%.
PV Retransmit Minimum Input (84)
This parameter specifies the minimum PV input allowed for PV
retransmit calculation. This number must not be higher than the
maximum input (command 82).
• Range: –999 to 9999 (depending on precision in primary loop).
• Default: –3500 (-350°F) for J-type thermocouple.
Communications Specification 73
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.
Setting this to 0 disables the cascade feature for this loop.
• Range: 0 (none) to MAX_CH.
• Default: 0 (none).
Cascade Base Setpoint (87)
This parameter specifies the setpoint used as an offset for each loop.
• Range: –999 to 9999 (depending on the precision in the primary
loop).
• Default: 250 (25°F) for a J-type thermocouple.
Cascade Minimum Setpoint (88)
This parameter specifies the minimum allowable setpoint in the cascade
calculation. The resulting setpoint will not go lower than this. This
number must not be higher than the maximum setpoint (command 89).
• Range: –999 to 9999 (depending on the precision in the primary
loop).
• Default: 250 (25°F) for a J-type thermocouple.
Cascade Maximum Setpoint (89)
This parameter specifies the maximum allowable setpoint in the cascade
calculation. The resulting setpoint will not go higher than this. This
number must not be lower than the minimum setpoint (command 88).
74 Communications Specification
• Range: –999 to 9999 (depending on the precision in the primary
loop).
• Default: 250 (25°F) for a J-type thermocouple.
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.
• Default: 0 (none).
Ratio Control Minimum Setpoint (92)
This parameter specifies the minimum allowable setpoint in the ratio
control calculation. The resulting setpoint will not go lower than this.
This number must not be higher than the maximum setpoint (command
89).
• Range: –999 to 9999 (depending on the precision in the master loop).
• Default: 250 (25°F) for a J-type thermocouple.
Ratio Control Maximum Setpoint (93)
This parameter specifies the maximum allowable setpoint in the ratio
control calculation. The resulting setpoint will not go higher than this.
This number must not be lower than the minimum setpoint (command
88).
• Range: –999 to 9999 (depending on the precision in the master loop).
• Default: 250 (25°F) for a J-type thermocouple.
Ratio Control Control Ratio (94)
This parameter is multiplied by the master loop process variable in the
ratio control calculation. These values are multiplied by 10 to retain 0.1
ratio precision.
• Range: 1 to 9999 (control ratio 0.1 to 999.9).
• Default: 10 (control ratio 1.0).
Ratio Control Setpoint Differential (95)
This parameter specifies the setpoint used as an offset for each loop.
Communications Specification 75
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.
• Range: ‘A’ to ‘Z’ (uppercase letters), status are currently defined as:
• Default: 77 (Manual).
65 = A = Automatic
77 = M = Manual
84 = T = Tuning
83 = S = Ramp/Soak Ready state (Start)
82 = R = Ramp/Soak Running
72 = H = Ramp/Soak Holding
87 = W = Ramp/Soak trigger Wait state
79 = O = Ramp/Soak Out of Tolerance
Output Type/Disable (97)
This parameter specifies the output type (if not disabled) for the heat and
cool outputs. Setting this to 255 indicates the output is disabled. Any
other value indicates an enabled output. This is an expansion of
command 4.
• Range: 0 to 255, output types are currently defined as:
• Default:0 for heat outputs, 255 for cool outputs.
Output Reverse/Direct (98)
This parameter specifies the heat and cool output control action as either
Reverse or Direct. This is an expansion of command 4.
• 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)
Chapter 3: Controller Parameter Descriptions
This parameter specifies the assigned profile number for each loop.
Setting this to 255 indicates no profile is assigned for that loop. This is
an expansion of command 46.
• Range: 0 to 255.
• Default: 255 (no profile assigned).
Reference letters are assigned as follows: 0 = A, 1 = B, 2 = C, etc.
Controller Address (101)
This parameter stores the controller’s network address. Changes to this
parameter are effective the next time the controller powers up.
• Range: 1 to 247.
• Default: 1.
In the Anafaze/AB protocol, the controller responds to the address
stored in this parameter plus 7. For example, if this parameter is set to 1
in a controller, that controller responds to messages with a DST byte
value of 8 (1 plus 7).
Baud Rate (102)
This parameter stores the baud rate at which communications will
operate. Changes to this parameter are effective the next time the
controller powers up.
• Range: 0 to 2, with these rates available:
0 = 9600
1 = 2400
Communications Specification 77
Chapter 3: Controller Parameter Descriptions
• 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).
2 = 19200
78 Communications Specification
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.
Compatibility
Commands
The Anafaze Communications Driver is compatible with the CLS and
MLS family of controllers. If you have a custom controller with custom
data table values, you can change or add entries in the
Set_Comm_Params() routine in “cmmd.c” to reflect the correct values.
The driver package consists of four commands:
• Init_Comm_Port()
• Close_Comm_Port()
• UpLoad()
• DownLoad()
This appendix covers only the usage of these commands. Setting up
data, an interpreting status byte, etc., is covered in the Anafaze/AB
Protocol chapter in this manual.
Init_Comm_Port()
Use Init_Comm_Port to open and initialize the comm port that is
desired for communications.
BOOLEAN Init_Comm_Port(unsigned int com_port, BOOLEAN
hi_baud, char error_check);
unsigned int com_port; This is either COM1 = 0, or COM2 = 1.
BOOLEAN hi_baud;Set TRUE for 9600 baud, or FALSE for
2400 baud.
Communications Specification 79
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.
void Close_Comm_Port(unsigned port);
unsigned port;This is either 0 or 1, depending on which
port is open.
Example Call:
Close_Comm_Port(1); Closes comm port 2 if open.
Includes:
#include “def.h”
DownLoad()
Use this command to download controller values.
char UpLoad(int ctlr_type, unsigned char ctlr_addr, unsigned char
cmmd_num, int offset, int num_elements, void * write_addr, char sts);
int ctlr_type; TYPE_MLS16, TYPE_MLS32,
TYPE_CLS4, TYPE_CLS8,
TYPE_CLS16.
unsigned char ctlr_addr; Controller address 0 to 31.
unsigned char cmmd_num;Command or parameter
number. See “def.h” for command
defines.
int offset;Offset into array.
int num_elements;Number of array elements to
download.
80 Communications Specification
void * write_addr; Starting address of data array.
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.
3 if the download was completely unsuccessful.
4 if the download was not completed because
controller editing was in progress. Controller
locked out any attempts to write.
UpLoad()
Use this command to upload controller values.
char UpLoad(int ctlr_type, unsigned char ctlr_addr, unsigned char
cmmd_num, int offset, int num_elements, void * write_addr, char sts)
int ctlr_type;TYPE_MLS16, TYPE_MLS32,
TYPE_CLS4, TYPE_CLS8,
TYPE_CLS16.
unsigned char ctlr_addr;Controller address 0 to 31.
unsigned char cmmd_num;Command or parameter
number. See “def.h” for command
defines.
int offset;Offset into array.
int num_elements; Number of array elements to
download.
void * write_addr;Starting address of data array.
char sts;Controller status. See the Anafaze
Controller/Host InterfaceData
and Communications
Specification manual.
Communications Specification 81
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.
82 Communications Specification
Glossary
ACK(Acknowledge) A control code that signals that a syntactically correct
AddressSee Data table address and Device address.
AIMAn analog input module for MLS controllers. Watlow Anafaze offers two
ASCIIAmerican Standard Code for Information Interchange. A code that
Baud rateThe rate at which data is transmitted over a line, measured in bits per sec-
Glossary
message packet has been received.
different modules: AIM-16 and AIM-32.
assigns numeric values to characters.
ond.
BCCBlock Check Character. A method of error checking for packets.
Binary
numbers
BitAn abbreviation for binary digit. (A binary digit can have one of two dis-
Burst errorAn erroneous series of 1’s or 0’s in the communications bit stream.
ByteA group of eight bits.
Cleared, bitWhen a bit is “cleared,” it is set to False or 0. When a bit is “set,” it is set
CLSCompact Loop System. A Watlow Anafaze PID controller with 4, 8 or 16
CRCCyclic Redundancy Check. A method of error checking for packets.
Numbers in base 2, where each digit has one or two distinct values (0 or
1).
tinct values, 0 or 1). A group of four bits makes up a nibble. A group of
eight bits makes up a byte.
to True or 1.
loops.
Data table
address
The logical address where data is located.
Communications Specification 83
Glossary
Deadband,
alarm
Derivative
control action
Deviation
alarm
The range through which a process variable must travel from the alarm
setpoint toward the process setpoint before an alarm clears.
A control action in which the output value is proportional to the rate of
change of the error between the process variable and setpoint.
The deviation alarm value is an absolute value that is always relative to
the setpoint. The process is in Alarm in the following cases:
Above (setpoint + deviation value)
Below (setpoint – deviation value)
Device addressThe communications address assigned to the controller or host software.
DLEData Line Escape. An escape code that signals that a control code follows
it.
Double-bit
An error in which two bits in a packet are incorrect.
error
Duplex, fullCommunications in which each node can simultaneously transmit and
receive.
ENQEnquiry. A control code that the software sends to the controller, asking it
to resend the last ACK or NAK.
ETXEnd Text. A control code that signals the end of a transmission.
GainThe parameter that users can alter through host software to set the propor-
tional control action. The gain is a unitless number that is inversely proportional to the proportional band. (See also Proportional Band)
Hexadecimal
numbers
Integral
control action
Numbers in base 16 where each digit has one of 16 possible values (0 to
F).
Control action in which the output is proportional to the time integral of
the difference between the setpoint and process variable. (In other words,
the rate of change of the output is proportional to the input.)
JobA set of operating conditions (setpoints, alarms, PID constants, etc.).
Linear inputWatlow Anafaze controllers have an optional linear input type that allows
you to scale raw input readings to the engineering units of your process.
84 Communications Specification
Glossary
LSBLeast Significant Byte. For all two-byte data types, the LSB is transmitted
before the MSB (Most Significant Byte) in the packet.
MLSModular Loop System. A Watlow Anafaze controller.
MSBMost Significant Byte. For all two-byte data types, the MSB is transmit-
ted after the LSB (Less Significant Byte) in the packet.
NAKNot Acknowledged. A control code that signals that a syntactically incor-
rect message packet has been received.
NibbleA group of four bits or half a byte.
PacketA packet consists of a sequence of bytes in a specific format; it can be as
large as 256 bytes of data. Information is exchanged between host software and the controller in packets.
ParityError detection coding for serial communications. MLS, CLS and IRC2
controllers use no parity.
Precision
parameter
Proportional
Band (PB)
Proportional
control action
Indicates the decimal format for controller parameters such as process
variable, setpoint, etc.
The parameter that users alter from the front panel to set the proportional
control action, expressed in engineering units of the process variable.
Control action with a continuous, linear relationship between the output
value and the difference between the setpoint and the process variable.
ProtocolA set of rules for the timing and format of messages in the network.
Pulse inputAn input for CLS controllers that measures a digital pulse signal.
Recipe See Job.
SDACSerial Digital Analog Converter. A high-precision digital-to-analog con-
verter for control outputs.
Serial communications
Communications between a computer and another device (controller, for
example). Watlow Anafaze hardware supports two formats: RS-232 for
single device at short distances, and RS-485 for multiple devices at longer
distances.
Communications Specification 85
Glossary
Set, bitSee Cleared, bit.
Single-bit
An error in which only one bit is incorrect.
error
Stop bitThe last part of a character that assures that the next start element is rec-
ognized.
STXStart Text. A control code that signals the beginning of a transmission.
TITime of Integral, or Reset. The parameter that users alter to set the inte-
gral control action, expressed in seconds per repeat.
TDDerivative term, or Rate. The parameter that users alter to set the deriva-
tive control action, expressed in seconds.
86 Communications Specification
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.