Specifications
Allen-Bradley DF1 Driver Help
the master message. Incoming requests to the slave are placed in what is termed a "sink". Once the slave
performs the operation requested, it places the result in what is termed a "source".
Number of Attempts
The number of attempts for master messages and polls share the same number of attempts as configured in the
device Fail after xxx successive timeouts. This attempt count is misleading in Half-Duplex mode since there
are multiple messages sent from the master in a single data request. For all intents and purposes:
Let cnAttempts = xxx in Fail after xxx successive timeouts
# attempts for master message timeout = cnAttempts
# attempts for poll timeout = cnAttempts
# attempts for request timeout = # attempts for master message timeout + # attempts for poll timeout ==
cnAttempts X 2
Source Empty and Slave Re-Poll Delay
The Allen-Bradley DF1 driver is optimized to send master messages and polls as quickly as possible to increase
data throughput. The initial slave poll will not be delayed since a delay is unnecessary. If the slave needs time to
process requests in its sink, it will be apparent in the initial poll response. It is at this time in which the driver
introduces a delay and re-polls the slave. Such a delay allows the slave time to process the request before the
next poll. This delay is set with the Slave Re-Poll Delay field. The slave will be re-polled cnAttempts times.
Sink and Source Full
Both sink and source are essentially buffers and buffers have limitations. More importantly, it is possible for the
sink to fill up with requests. If this occurs, the slave will not acknowledge any master messages it receives. If
after cnAttempts the slave does not ACK the master, it is most likely the case that the slave sink is full. The driver
will then poll the slave emptying any responses the slave may have, making room for responses of the requests
that were in the full sink. This polling action will take place until the slave source is empty after cnAttempts. On
the next slave request, it is likely that the sink will be empty. If it is not, it may mean the driver is polling the slave
too quickly. If this is the case, increase the Slave Re-Poll Delay. Likewise, the slave source may also become full
and the driver will again poll the slave until the source is empty after cnAttempts.
Accepted and Discarded Slave Reponses
In the above sections, it has been mentioned that the slave is polled until the emptied. This is possible if the slave
source is full of queued up responses. On any given poll, only the response to the last master message is
accepted, all others are discarded.
Note: Slave-to-slave communication is not supported.
KF2/KF3 Half Duplex Master
Half-Duplex Protocol is a multi-drop protocol with one master and one or more slaves. Generally, Half-Duplex
provides lower data throughput than Full Duplex, but it adds the flexibility of being able to communicate with
multiple KF2/KF3 modules from a single COM port. Half-Duplex is a master/slave protocol. In Half-Duplex Master
mode, the driver is the master and all KF2/KF3 modules on the network are slaves. It is necessary that all the
devices on the network be configured as Half-Duplex Slave since only one master is allowed on the network. For
more information on configuring the KF2/KF3 module for Half-Duplex slave operation, refer to the Rockwell
documentation.
Master Responsibilities and Update Rates
The driver (master) is responsible for polling the slaves for data. In general, slaves would be polled in a round-
robin manner. Due to the nature of OPC, how often a slave gets polled depends on the update rate of the slave’s
tags. In this manner, slaves are only polled when a Read/Write operation is requested from them. This reduces
the traffic on the network and prevents unnecessary requests from taking place. In essence, the design of the
client project (specifically update rates assigned) determines the traffic on the network. The faster the update
rate, the more often a slave will be polled.
Messages, Sink and Source
There are three messages exchanged between master and slave in a Read/Write operation. The first is the master
message requesting the slave to perform a Read/Write operation. The slave does not respond immediately with
data as in full-duplex mode. The second message is a poll message from the master to the slave requesting the
data gathered from the last master message operation. The third is the slave response with the data requested in
the master message. Incoming requests to the slave are placed in what is termed a "sink". Once the slave
performs the operation requested, it places the result in what is termed a "source".
Number of Attempts
www. kepware.com
8