02.02.2018 Views

Practical_modern_SCADA_protocols_-_dnp3,_60870-5_and_Related_Systems

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

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

84 <strong>Practical</strong> Modern <strong>SCADA</strong> Protocols: DNP3, <strong>60870</strong>.5 <strong>and</strong> <strong>Related</strong> <strong>Systems</strong><br />

5.4.3 Some terminology<br />

Communications in a <strong>SCADA</strong> system will generally have a structure where some stations<br />

may be identified as master stations, <strong>and</strong> others as slave stations, sub-master stations, or<br />

outstations. In a hierarchical structure, there may be some devices that act both as slave<br />

stations <strong>and</strong> master stations.<br />

At the data link level, the terms balanced <strong>and</strong> unbalanced are used to describe whether<br />

all stations may initiate communications or not. In ‘unbalanced’ systems, only master<br />

stations will initiate communications. That is, only a master station will be a primary, or<br />

originating, station, <strong>and</strong> slave stations will always be secondary, or responding, stations. In<br />

these systems when a slave station has data that it needs to transmit to the master, it must<br />

wait until the master station polls it.<br />

The DNP3 protocol support balanced communications at the data link level. This provides<br />

greater flexibility by allowing non-master stations to initiate communications.<br />

In DNP3 any station can be an originator or primary station.<br />

The terminology ‘balanced’ <strong>and</strong> ‘unbalanced’ can be confused with the terms ‘master’<br />

<strong>and</strong> ‘slave’. This confusion can arise because it is easy to imagine that in a balanced system,<br />

all stations must be equal. This is not the case, however. The reason is that the terms<br />

balanced <strong>and</strong> unbalanced apply only to the lower data link level communications, whereas<br />

the master/slave distinction applies at the application level. In DNP3 the terms master <strong>and</strong><br />

slave have real meaning, <strong>and</strong> a station is configured as one or the other. The key to underst<strong>and</strong>ing<br />

is that only a master station can issue a request, <strong>and</strong> only a slave can provide a<br />

response. These are each application level messages.<br />

In the case of an outstation (a slave station) having unsolicited data to send to the master<br />

station, it issues an unsolicited response to the master. At the application level this is a different<br />

type of message to a request. At the data link level, however, the message frame<br />

appears no different from any other message frame whether issued by a master or a slave.<br />

These concepts are illustrated in the following communication sequence diagram.<br />

The diagram below shows how these terms relate to the communication process. The<br />

diagram illustrates a request for data from a master station to a non-master station. This<br />

could be a poll for current data, a ‘static’ poll. The diagram illustrates the communication<br />

sequence by showing the parties on each side, with message directions shown between<br />

them. The time sequence is shown from top to bottom.<br />

MASTER<br />

STATION<br />

REQUEST MESSAGE<br />

(Primary)<br />

CONFIRM - ACK<br />

(Secondary)<br />

SLAVE<br />

STATION<br />

CONFIRM - ACK<br />

(Secondary)<br />

RESPONSE<br />

(Primary)<br />

Time<br />

Message Direction<br />

Figure 5.7<br />

Example of communication sequence diagram

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

Saved successfully!

Ooh no, something went wrong!