23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DNP3 and IEC 60870-5 58-7<br />

may be sparsely assigned anywhere in the allowed range (which can vary depending on systemwide<br />

parameters that specify the IOA size and how it is formatted). DNP3 models all data within<br />

a device as a set of one-dimensional arrays with a separate array for each type of data. Each data<br />

element is identified in its array by an index number, starting at zero for the first element. In each<br />

protocol, maximum message reporting efficiency is achieved if the IOA range or index number<br />

range for any single data type is a single contiguous series with no gaps. For T101/T104, this<br />

means assigning IOA values X to X + n − 1 for n objects of the same type and for DNP3 it means<br />

assigning indices 0 to n − 1 for n objects of the same type. In this regard, the IEC data model<br />

somewhat resembles the register mapping concept used in Modbus.<br />

• The identification of data in a T101 or T104 system is by the unique combination of the device<br />

identity (called the common address of ASDU or CAA) and IOA of each data element in the<br />

device. This identification is independent of the data link address (in T101) or the IP address (in<br />

T104) of the device reporting the data. Each different data object in a T101/T104 device (the device<br />

having one CAA value) must have a different IOA. In DNP3, the combination of the serial channel<br />

(or IP address) of the device, the DNP address of the device, the data type, and the object index<br />

together uniquely identify the data object.<br />

• Because the IEC messages can only report a single kind of data or function in a single message, the<br />

response to some application functions consist of a series of messages starting with a “begin command<br />

sequence” or activation confirmation message (ACTCON) followed by one or more data<br />

messages and terminating with an “end command sequence” or activation termination message<br />

(ACTTERM). In DNP3, the same functionality typically only requires a single response message.<br />

• The T101 and T104 messages include a “cause of transmission” (COT) value that serves to assist<br />

with the control of the multiple steps of the response to a command and is partly useful for indicating<br />

why data is being sent. For example, the COT can differentiate between a change that has<br />

occurred spontaneously (e.g., circuit breaker trip due to protection action) or because an operator<br />

has issued a control command to cause the change. This information can be added to the relevant<br />

event log entries. DNP3 does not include this kind of information and does not indicate why a<br />

change occurred, merely that a change has occurred.<br />

• DNP3 defines generic SCADA data objects (e.g., binary input, setpoint output) without assigning<br />

specific meaning to those objects. In addition to these basic types, T101 and T104 define<br />

a number of power-system-specific objects such as “step position information” representing a<br />

transformer tap number, protection events, packed protection start events, and packed protection<br />

circuit information.<br />

• DNP3 defines some complex generic data objects such as “Octet String” objects and “Data Set” objects<br />

that can be defined to provide functions such as multi-byte variable values or complex data structures.<br />

DNP3 also supports reporting of device data attributes (nameplate information). T101 and T104 support<br />

a generic 32 bit bitstring object whose purpose is left open for implementers to define.<br />

• T101 and T104 define “normalized,” “scaled,” and “floating-point” data objects as different kinds<br />

of analog objects. Each of the three types also has separate setpoint command types. Normalized<br />

and scaled are both 16 bit 2’s complement integers and floating-point uses the 32 bit “short” format<br />

defined in IEEE 754. For the integer formats, normalized data represents the values −1.0 to +1.0–2 −15<br />

while scaled data represents the values −32768 to +32767. Both must be “scaled” before transmission<br />

and after reception, but by different scaling factors. There is an implication in the standard that the<br />

scaling factors used for the scaled values are always a factor of 10 (e.g., 0.001, 0.01, 0.1, 1, 10, 100, etc.)<br />

and this simplistic approach seems to be commonly used. Devices typically only support either the<br />

normalized or the scaled format, leading to some interoperability issues. The normalized format<br />

seems to be slightly more commonly used than the scaled format. DNP3 treats 16 bit integer, 32 bit<br />

integer, 32 bit floating-point, and 64 bit floating-point as alternate message formats for reporting the<br />

same object. The format that is used should be chosen to suit the data. The integer formats can be<br />

scaled as needed, with linear scaling (Y = AX + B) being common.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!