02.02.2018 Views

Practical_modern_SCADA_protocols_-_dnp3,_60870-5_and_Related_Systems

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Fundamentals of distributed network protocol 129<br />

Each object is denoted by a group number <strong>and</strong> a variation number. DNP3 represents the<br />

group <strong>and</strong> variation numbers each with 8-bit fields. There are a number of general types<br />

of objects, <strong>and</strong> these are organized into decade ranges. There are usually more than one<br />

specific group type within each range. For each group, there are usually a number of<br />

variations.<br />

Table of Object Groups<br />

Group Range<br />

Object Group Description<br />

0 - 9 Binary Input Objects<br />

10 - 19 Binary Output Objects<br />

20 - 29 Counter Objects<br />

30 - 39 Analog Input Objects<br />

40 - 49 Analog Output Objects<br />

50 - 59 Time Objects<br />

60 - 69 Class Objects<br />

70 - 79 File Objects<br />

80 - 89 Device Objects<br />

90 - 99 Application Objects<br />

100+ Alternate Numeric Objects<br />

As can be seen from the table, the object groups are organized into ranges of similar<br />

source types, such as binary input objects (0–9), or file objects (70–79). It may also be<br />

noted that some data objects appear closely related to physical data monitoring <strong>and</strong> control<br />

points, <strong>and</strong> others (range 50 on) appear less so. In the latter case, the data object is often<br />

not representing physical things, for example file objects represent software, <strong>and</strong> class<br />

objects represent an attribute that may be assigned to other objects.<br />

In a few cases, there are objects defined that have no data attached to them at all. Whilst<br />

these do not sound very useful, their function is performed merely by the transmission of<br />

the object identifier. For example, the class object is used in a request message only to<br />

identify the class attribute of objects that are being requested.<br />

Within each object group there may be defined a number of variations. It is important to<br />

note that each variation is normally just a different representation of the same underlying<br />

data point. It may have more or less information than other variations, but the same point<br />

is being represented by the object.<br />

For the objects that are related to physical points, the type of data is classified into four<br />

different types. These are shown in the following table. Each physical point will generally<br />

be able to be represented by each of the four types, which are defined as different variations<br />

for each object group.<br />

The differences between these are illustrated further in the following paragraphs.<br />

The static type is probably the simplest to underst<strong>and</strong>. Static simply refers to the current<br />

value of any point at the time the information is transmitted. This might be the current<br />

value of a binary input or output, the most recently converted value of an analog input, the<br />

value of a register, or the value of a counter. Static values are associated directly with<br />

physical inputs <strong>and</strong> outputs, or with internal registers <strong>and</strong> counters. There is a one-to-one<br />

relationship between these devices <strong>and</strong> the static points, so therefore there are as many<br />

static points as there are physical devices, registers, or counters.<br />

Event data is different to static data in that it is generated on the occurrence of a particular<br />

event, such as a change in state of a binary point. If a physical device such as a binary<br />

input has an event variation configured for it, then whenever it changes an event data<br />

object will be generated for that input-change. In the case of analog inputs, events are

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

Saved successfully!

Ooh no, something went wrong!