Rockwell Automation 1775-KA PLC-3 Communication Adapter Module User Manual User Manual

Page 117

Advertising
background image

Full-Duplex Protocol

Chapter 10

10Ć13

Receiver Actions

Since the receiver gets “dirty” input from the physical world, it is more
complex and must be capable of responding to many adverse situations.
Some of the things that can conceivably happen are listed here:

The message sink can be full, leaving the receiver with nowhere to put

a message.

A message can contain a parity error.
The BCC can be invalid.
The DLE STX or DLE ETX BCC may be missing.
The message can be too long or too short.
A spurious control or text code can occur outside a message.
A spurious control code can occur inside a message.
Any combination of the above can occur.
The DLE ACK response can be lost, causing the transmitter to send a

duplicate copy of a message that has already passed to the message
sink.

Receiver B must keep a record of the last response code (DLE ACK or
DLE NAK) sent on path 2 (Figure 10.5). If it receives a DLE ENQ, the
receiver sends this recorded response code again.

The receiver also keeps a record of the first six link–level data bytes of the
last message received. If the SRC, CMD, and both TSN bytes of a new
message are identical to the corresponding bytes of this record, the
receiver responds with a DLE ACK but ignores the new message. This
process is known as duplicate message detection, and is part of the
link–level data security. It guards against re–execution of a message that
has already been received successfully, but for which the response code
(DLE ACK) has been lost.

Until it receives a DLE STX or a DLE ENQ, the receiver ignores all input
from path 1 except to set the last response variable to NAK. With the last
response variable set to NAK, the receiver responds with DLE NAK to a
DLE ENQ input. Otherwise, the receiver responds to a DLE ENQ input
by sending it last response on path 2 and continues waiting for input. If
the receiver gets a DLE STX, it resets its BCC accumulator and data
buffer to zero and starts storing the link– level data in the data buffer so
that it can later pass the link–level data to the network layer.

While the receiver stores all link–level data codes in the data buffer, it
adds the link–level data code values to the BCC. If the data buffer

Advertising