Data Object Library
Data Object Library
confirmation. An application layer confirmation indicates that a message has not only been
received, but also been parsed without error. (On the other hand, a data link layer confirmation, or
ACK, indicates only that the data link frame has been received and that it passes CRC error
checks.)
Each application layer fragment begins with an application layer header followed by
one or more object header/object data combinations. The application layer header contains an
application control code and an application function code. The application control code
contains an indication if the fragment is one of a multi-fragment message, contains an indication if
an application layer confirmation is requested for the fragment, contains an indication if the
fragment was unsolicited, and contains a rolling application layer sequence number. The
application layer sequence number allows the receiving application layer to detect fragments that
are out of sequence, or dropped fragments.
The application layer header function code indicates the purpose, or requested operation,
of the message. While DNP3 allows multiple data types in a single message, it only allows a
single requested operation on the data types within the message. Example function codes (as
shown in fig. 4) include: Confirm (for application layer confirmations), read and write, select and
operate (for select-before-operate, or SBO, controls), direct operate (for operation of controls
without SBO), freeze and clear (for counters), restart (both cold and warm), enable and disable
unsolicited messages, and assign class. The application layer header function code applies to all
object headers, and therefore all data within the message fragment.
IEC 870-5-101 (T101) is a companion standard generated by the IEC TC57 for electric utility
communication between master stations and RTUs. The IEC 870-5-101 is based of the five
documents IEC 870-5-1-- 5. Like DNP 3.0, T101 provides structures that are also directly
applicable to the interface between RTUs and IEDs. It contains all the elements of a protocol
necessary to provide an unambiguous profile definition so that vendors may create products that
interoperate fully.