Data Transfer Optimization
This section describes the data transfer optimization implemented for the
DNP 3.0; scan task. Optimization is the means by which the scan task seeks
to minimize the load on the communication channel by making scan device
requests more efficiently.
The aim of optimization is to include as many scan input records in a
single request as possible, thus reducing the communication overhead.
|
Optimization will only occur if the comm
optimization attribute has been set appropriately. |
|
The max data size value
does not impact optimization. Optimization attempts to pack
as many scan input records into a single object request. If the size
of the resulting request is larger than the max data size value, the
object will still be sent. |
|
If a remote device has a maximum fragment size that it can
receive, turning off optimization will allow better control
of the outgoing packet (see max
data size). |
Writes are not optimized since writes to a scan device typically occur
much less frequently than polls or reads.
Follow these guidelines, whenever possible, to minimize communication
overhead:
- order scan input table range
start and range
length for a particular function
code, object group,
object variation and
qualifier in ascending
order,
- eliminate gaps in range
start and and range
length for a particular particular function
code, object group,
object variation and
qualifier, if one/two
objects are not required, configure them into the scan input table
anyway (make sure they are enabled),
- assign the same poll type to groups of records that have consecutive range start and and range length for a
particular function code,
object group, object
variation and qualifier.
|
The scan task will only stop adding records to the object
when the range start
and range length
fields are not in ascending order. Therefore, it is possible to have
a single object request result in large amounts of data being sent
back from the remote device. |