Chapter 6: DNP Introduction. 6.2 Features of the DNP The OSI/ISO model. 6.3 Basic topology

Similar documents
ECE 444/544 Supervisory Control & Critical Infrastructures Lectures 20 & & 28 March 2018

SCADAPack DNP Driver. User and Reference Manual

Agenda 05/21/

InstrumentationTools.com

DNP3 Protocol (Serial)

PXM 4/6/8K DNP3 PXM 4/6/8K DNP3 Ethernet Communications User Manual

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

ECE4110 Internetwork Programming. Introduction and Overview

A DNP3 Protocol Primer

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

L6: OSI Reference Model

EE 610 Part 2: Encapsulation and network utilities

Lecture #9 Introduction to communication networks

Norwegian IEC User Conventions

DNP3 Field Device Profile. for

Communication Networks

SCADA Protocols. Overview of DNP3. By Michael LeMay

CCNA Exploration1 Chapter 7: OSI Data Link Layer

Protection Terminal REF 54_ Protection Relay REX 521

Scribe Notes -- October 31st, 2017

COMP750. Distributed Systems. Network Overview

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Cross Layer Protocol Design. Radio Communication III

MODULE: NETWORKS MODULE CODE: CAN1102C. Duration: 2 Hours 15 Mins. Instructions to Candidates:

Network Model. Why a Layered Model? All People Seem To Need Data Processing

DNP V3.00 Protocol Assignments

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

NYC Utility DAS SCADA Network General Protocol and Traffic Analysis September 2005 Applied Methodologies, Inc.

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Chapter Two. The OSI Model

REL 512 Connectivity With A Harris Westronics RTU Using DNP 3.0

Configuration of Synchronous Protocols

ROCON RPC 116. SUBSTATION AUTOMATION Central unit for substation automation

System Programming. Introduction to computer networks

E Copyright VARAN BUS USER ORGANIZATION 06/2015. Real Time Ethernet VARAN Bus

TCP/IP protocol suite

Chapter 5 OSI Network Layer

IEC Master Driver Help Kepware Technologies

QUESTION BANK ENGINEERS ACADEMY. Computer Networks Computer Network Basics Segentation is done in. 12. Session layer is used for

B.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems

Need For Protocol Architecture

Position of IP and other network-layer protocols in TCP/IP protocol suite

Chapter -4 OSI Reference Model

Need For Protocol Architecture

Advantages of the DNP3 Communications Protocol

Networking Models OSI Model Created by International Organization Standardization

Control Indicator Module (CIM) - DNP3 Communications Protocol - TECHNICAL MANUAL

MONITORING AND CONTROL REQUIREMENTS FOR DISTRIBUTED GENERATION FACILITIES

Driver Manual. FS DNP3 Ethernet

infrared Disadvantage: 1. cannot use for long-range communication or outside a building due to sun s rays.

Open Systems Interconnection Model

Internetworking Concepts Overview. 2000, Cisco Systems, Inc. 2-1

Description and analysis of IEC 104 Protocol

Communicating over the Network

COMPUTER NETWORKS UNIT I. 1. What are the three criteria necessary for an effective and efficient networks?

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

CS 4453 Computer Networks Winter

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8

TCP/IP THE TCP/IP ARCHITECTURE

ELC 537 Communication Networks

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Link Layer and LANs 안상현서울시립대학교컴퓨터 통계학과.

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

A36D/TPSD DNP 3.0 & Modbus SCADA INTERFACE

DNP3 Device Profile Based on DNP XML Schema version Showing both the Device's Capabilities and its Current Configuration

DNP3 Device Profile Based on DNP XML Schema version

Communications guide. Line Distance Protection System * F1* GE Digital Energy. Title page

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

General Specifications

DeviceNet - CIP on CAN Technology

Lecture (03) Networking Model (TCP/IP) Networking Standard (OSI) cont.,..

350 Feeder Management System

CE3005: Computer Networks Laboratory 3 SNIFFING AND ANALYSING NETWORK PACKETS

In modern computers data is usually stored in files, that can be small or very, very large. One might assume that, when we transfer a file from one

DNP3 Master Serial Driver PTC Inc. All Rights Reserved.

Chapter 2 Network Architectures A global view

Organizations have developed standard sets of protocols

Chapter 12 Network Protocols

Module Contact: Dr. Ben Milner Copyright of the University of East Anglia Version 2

Part 5: Link Layer Technologies. CSE 3461: Introduction to Computer Networking Reading: Chapter 5, Kurose and Ross

TCOM 370 NOTES 99-1 NETWORKING AND COMMUNICATIONS

Voltage regulator TAPCON 240

Chapter 2 Communication for Control in Heterogeneous Power Supply

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

EVO AT SERIES BATTERY CHARGER AT SERIES BATTERY CHARGER COMMUNICATIONS MANUAL. EVO - Microprocessor Controlled Float Battery Charger JA

Computer Networks (Unit wise Questions)

Chapter 3 Protocols and the TCP/IP Suite

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD

Frame Relay. Frame Relay Information 1 of 18

ECSE 414 Fall 2014 Final Exam Solutions

Network Reference Models

CSCD 433/533 Advanced Networks

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Links. CS125 - mylinks 1 1/22/14

Digital Substation Overview of Technology, Industry

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

CS 455/555 Intro to Networks and Communications. Link Layer

Chapter 6: Network Communications and Protocols

Transcription:

6.1 Introduction DNP3 (Distributed Network Protocol Version 3) is an open, intelligent, robust and efficient modern SCADA protocol designed to optimise the transmission of data acquisition information and control commands. Originally created by a Westronic, Inc. (now GE Harris) in 1990, the protocol was released into the public domain in 1993. Full ownership was given over to the DNP Users Group later that year making it a truly open and non-proprietary protocol. Designed specifically for the power generation industry, DNP3 is intended to create open, standards-based interoperability between substation computers, Remote Terminal Units (RTUs), Intelligent Electronic Devices (IEDs) and master stations. The byte efficiency of DNP3 makes it a particularly good choice for bandwidth-constrained applications in distribution systems like pole-top devices. 6.2 Features of the DNP3 DNP3 offers flexibility, robustness and functionality that go far beyond conventional communication protocols. Because DNP is an object-based application layer protocol, it has the flexibility to support multiple operating modes such as poll-response, polled report-by-exception, unsolicited responses, and peer-topeer. Amongst its features, DNP3 includes: Addressing of over 65 000 devices on a single link. Open protocol. Classification of field data. Time-stamped data. Support for time synchronisation. Secure authentication. Diagnostic information for each I/O point. It also: Satisfies the need for multiple masters and (limited) peer-topeer operations. Caters for user-definable objects including file transfer. Segments messages into multiple frames to ensure exceptional error detection and recovery. Requests and responds with multiple data types in single messages. Includes only changed data in response messages. Assigns priorities to data items. Provides data link and application layer confirmation. Offers multiple reporting modes, i.e., polled only; p o l l e d report-by-exception; and unsolicited report-by-exception (quiescent mode). 6.3 Basic topology DNP3 is typically used to communicate between centrally located master stations and distributed remote stations called outstations. In essence, the master serves as the control centre and typically comprises a SCADA with HMI network interface whilst the outstation interfaces to the physical devices being monitored and/or controlled usually comprising RTUs communicating with IEDs. As illustrated in Figure 6.1, both the master and the outstation make use of a library of common objects to exchange information. Figure 6.1: DNP3 typically communicates between centrally located master stations and distributed remote stations called outstations using a library of common objects to exchange information. Figure 6.1 illustrates what is termed a one-on-one topology. However, DNP3 also caters for a multiplicity of topologies including multi-drop and a variety of hierarchical schemes (see Figure 6.2). Figure 6.2: DNP3 also caters for a multiplicity of topologies including multi-drop and a variety of hierarchical schemes. 6.4 The OSI/ISO model DNP3 is a layered protocol loosely based on the OSI/ISO model. The OSI model characterises data communications into seven hierarchical layers each having a defined purpose and each interfacing directly with the layer above it and below it. Figure 6.3 shows how information on the source device (e.g., computer) travels down through each layer, across the network media and back up through the layers on the destination computer. Figure 6.3: Information on the source device travels down through each layer, across the network media and back up through the layers on the destination computer.

At the transmitting site, as the information passes down through the seven layers, each layer (with the exception of the lowest) adds headers (and possibly trailers) to call up functions in accordance with the protocol rules of each layer (see Figure 6.4). It should also be appreciated that these headers and trailers, used to provide control information, considerably add to the overhead of each frame and reduce the total available bandwidth of the network. The IEC refers to this reduced OSI model as Enhanced Performance Architecture (EPA). In DNP3, use is made of an enhanced version of the EPA by adding a fourth layer a pseudotransport layer that allows for message segmentation. This is shown in Figure 6.5. DNP3 application layer The DNP3 application layer provides standardised functions and data formatting and allows the user layer above it to gain access to the network. Figure 6.4: Each layer adds headers (and possibly trailers) to call up functions in accordance with the protocol rules. 6.5 Reduced OSI model One problem with implementing the full seven-layer OSI model, particularly when used in industrial applications, is the large overhead that the data acquires as it passes down the stack from the application layer. In industrial networks, time is generally critical. Because each layer carries its own header and footer, huge amounts of time can be wasted in the form of hundreds of bytes of header/footer information for, possibly, eight bytes of relevant information. Consequently, the use of all seven layers is not usually appropriate for real-time communications. Subsequently, in applications where time-critical communication is more important than the academic implementation of the full seven layer protocol, a simplified OSI model is often preferred where, in the interests of efficiency, the seven-layer OSI stack is collapsed. As a result, most industrial protocols are written around only the application layer; the data link layer; and the physical layer. DNP3 pseudo-transport layer In DNP3, the pseudo-transport layer, comprising a single byte, is incorporated into the application layer and, when transmitting, is responsible for segmenting the application layer messages into multiple frames suitably sized for transmission by the data link layer. When receiving, the role of the pseudo-transport layer is to reassemble the frames into longer application layer messages. DNP3 data link layer The data link layer determines how the data is packed into data frames and, using error correction and detection techniques, ensures the link is reliable. The data link layer is also responsible for handling information and acknowledgements and for determining which nodes can transmit on the network at any given time. DNP3 makes use of the FT3 frame format considered the most reliable of the IEC 6870-5 recommended frame formats. However, whilst the FT3 IEC specification calls for synchronous transmission, DNP3 is configured for asynchronous transmission with a variable length frame. In addition, DNP3 makes use of balanced mode transmission and specifies a collision avoidance scheme for multi-drop networks. DNP3 physical layer The physical layer defines the physical characteristics of the adapter interface and includes: the format for the electrical signals (e.g., voltage and current levels); the encoding scheme; synchronisation across the media (starting and stopping); the type of connector; and the connector pin-out. The cable itself is not included in this level since the OSI model defines only the communication properties of a node in a network and not the network itself. Originally, DNP3 was specified over a simple serial physical medium such as RS-232, RS-422 and RS-485. However, most modern applications are implemented over Ethernet (TCP/IP). Figure 6.5: DNP3 enhanced version of the enhanced performance architecture based on the reduced OSI model. 6.6 DNP3 packet structure overview Figure 6.6 shows a more detailed view of the DNP3 packet structure and, without any doubt, the packet structure is extremely complex.

Figure 6.7: The data link layer FT3 frame comprises a fixedlength header block followed by a number of data blocks, each incorporating its own 16-bit CRC. Figure 6.6: Overview of the DNP3 packet structure. At the application layer, the Application Service Data Unit (ASDU), a packaged object in itself, is combined with an Application Protocol Control Info (APCI) block to form what is termed an Application Protocol Data Unit (APDU). At the next layer down, the pseudo-transport layer (which in reality forms part of the application layer) is responsible for segmenting the APDU into 250-byte frames allowing it to fit into data link frame. The data link frame comprises a fixed-length header block of 10 bytes (including two bytes of CRC) followed by a maximum of 16 data blocks, with each incorporating its own 16-bit CRC. The maximum frame length is 292 bytes. And finally, at the physical level, the complete ensemble is transmitted asynchronously and simply comprises eight data bits together with a start and stop bit but with no parity. If conventional serial communication (RS-232/422/485) is used, the packet assembly is completed and placed on the transport media (usually open wire twisted pair cable). However, if the packet is to be sent over Ethernet, the three DNP3 layers are encapsulated in the application layer; the assembled packet is, in turn, encapsulated in the Transmission Control Protocol (TCP); which is encapsulated in the Internet Protocol (IP). The User Datagram Protocol (UDP) can also be used but presents some additional issues related to reliable delivery in congested networks. 6.7 DNP3 data link layer A key feature of DNP3 is its reliability allowing it to be used, with relative impunity, in electrically noisy environments. Error checking, therefore, is a prime consideration. In order to examine this a little closer, we need to look at the message structure at the data link level. At the level of the data link layer, the DNP3 FT3 frame (see Figure 6.7) comprises a fixed-length header block followed by a number of data blocks each incorporating its own 16-bit CRC: SYNC (two bytes): although referred to as SYNC, in reality the frame is asynchronous and actually functions as a START field. LENGTH (one byte): specifies the total number of bytes in the frame excluding the START, LENGTH, and CRC fields. The minimum value for this field is thus five (no data payload) and the maximum value is 255. CONTROL (one byte): the eight bits comprising the control field give details of the frame transmission direction; the type of frame; and flow control information according to the details shown in Figure 6.8. Figure 6.8: Details of the eight bits comprising the one-byte control field. As indicated, the function code (bits 0, 1, 2, and 3) identifies the type of frame according to Table 6.1. Table 6.1: The function code (bits 0, 1, 2, and 3) identifies the type of frame. PRM = 1 Function code Frame type Service function FCV bit 0 SEND - CONFIRM RESET of remote link 0 1 SEND - CONFIRM Reset of user process 0 2 SEND - CONFIRM TEST function for link 1 3 SEND - CONFIRM User Data 1

4 SEND - NO REPLY Unconfirmed User Data 0 9 REQUEST - RE- REQUEST LINK 0 SPOND STATUS Secondary PRM = 0 Function code Frame type Service function 0 CONFIRM ACK positive acknowledgement 1 CONFIRM NACK message not accepted, Link busy 11 RESPOND Status of link (DFC = 0 or 1) Destination address: specifies the address of the station that the frame is directed to. The address 0 FFFF is an all-stations address. Source address: specifies the address of the station that the frame originated from. Header CRC: a two-byte cyclical redundancy check. User data block: each data block may contain from 1 to 16 bytes of user data. Each user data block has its own two-byte CRC. Message flow Figure 6.9 illustrates some of the possibilities for message flow. Figure 6.10: Details of the transport header a one-byte addition to the TPDU. 6.8 Application protocol data unit As shown in Figure 6.6, the APDU comprises two sections: Application Protocol Control Information (APCI) and the Application Service Data Unit (ASDU). Application protocol control information The role of the APCI is twofold: to provide application control for segmentation and sequence control; and to provide function coding for flow control. The nature of the response also determines the length of the APCI. As shown in Figure 6.11, if appended as a request header, the APCI comprises one byte of application control followed by one byte of function code. If it s a response header, it comprises two bytes of application control and two bytes of function code to which is added a two-byte Internal Indication Information (IIN) coding. Figure 6.9: Examples of message flow between Master and Outstation. In Case 1, the master sends a request to the outstation. The outstation accepts the request and processes it. The outstation may or may not send an optional confirmation. The outstation sends a response to its action that is accepted by the master. The master may or may not send an optional confirmation. In Case 2, the outstation sends an unsolicited response to the master that is accepted. The master may or may not send an optional confirmation. As we saw earlier in Figure 6.6, the Transport Protocol Data Unit (TPDU) in the pseudo-transport layer contains a one-byte Transport Header (TH) in the frame that contains information on the frame sequence. This guards against missing or misguided frames, which can result in an altered message. Details of the TH are shown in Figure 6.10. Figure 6.11: Overview of the application protocol control information. Application control Details of the one byte of application control, which deals with fragmentation, are given in Figure 6.12. Figure 6.12: Details of the one-byte application control.

Function codes DNP3 makes use of 27 basic function codes to exchange information between masters and outstations. Some of the function codes enable a master to request and receive status information from an outstation whilst others enable the master to determine or adjust the configurations of an outstation. Table 6.2 details some of the more widely used function codes. Table 6.2: Some widely used function codes. Function FUNCTION Description Code 0 CONFIRM Message fragment confirmation used in both requests and responses. 1 READ Request specified objects. Respond with objects requested that are available. 2 WRITE Store requested objects in outstation and respond with status of the operation. 3 SELECT Select control points but do not operate. Respond with the status of control points. 4 OPERATE Produce output action on selected control points. Respond with status of control points. 5 DIRECT OPER- ATE Select and operate specified control points. Respond with status of control points. 6 DIRECT OPER- ATE NACK Select and operate specified control points. Do not send any response. 125 RESPONSE Response to a selected message. 130 UNSOLICITED MESSAGE Unsolicited response that was not prompted by request. Internal indication information Appended only to a response header, the IIN is a two-byte field, part of the response header that follows the function code. Figure 6.13 shows details of the first and second bytes respectively. Figure 6.13: Details of the first and second bytes of the two-byte IIN field. Application service data unit As shown in Figure 6.14, the ASDU comprises the application data to which is attached the object header a library of objects that are typically used in SCADA systems. Figure 6.14: Overview of the application service data unit. 6.9 Object models Typically, a SCADA system comprises a number of RTUs that collect field data in a number of formats (digital, analogue, change of state, etc.) and connect back to a master station via a communication protocol e.g., DNP3. This allows the master station to display the acquired data and allows the operator to perform remote control tasks. In order to access a specific I/O point via the RTU protocol, the user would either require a wiring diagram or a tag database that describes which I/O points were connected to which specific functions (e.g., VT, CT, circuit-breaker, etc.). In DNP3, this problem is overcome through the use of a data object model that automatically creates the mapping between the I/O points and specific functions in the substation. In DNP3, standard data types are termed object groups and include: Binary inputs. Binary outputs. Counters. Analogue inputs. Analogue outputs. Time and date. Class. File transfer objects.

An analogue input object, for example, may be used to report characteristics that have a range of values: a temperature may have a range from 200 to 400 C; a compressor outlet pressure can vary from 8 to 10 bar. In addition, within each object group, object variations exist that are typically used to indicate a different method of specifying data within the object group: e.g., allowing for transfer of data as a 16-bit signed integer; a 32-bit signed integer; or as a 32-bit floating point value. Because not every event needs to be reported, the object grouping also allows users to classify their data into different groups or classes. Currently DNP3 supports four classes of data 0, 1, 2, and 3. Class 0 data is real-time data whilst Classes 1, 2 and 3 are reserved for objects that require time stamp information (event data). Each class of data is independent of the other and incorporates variation parameters that allow the user to select the type of value, time and diagnostic information to be recorded. In order to maximise the number of data points that can fit into a single data frame, the DNP3 object data model is described in purely numerical terms comprising three different parts: Object number specifies the type of data point e.g.: 1 = binary input static data point 2 = binary input event data point Variation number specifies which optional parameters would be present for a given data point of a specific object number, e.g.: 1 = the data point included status 2 = the data point did not include status Index number refers to a specific instance of a DNP object and variation, e.g., if a device supports 16 binary input static objects, the index number to access one of these would be 0-15. This economy of scale in describing the object models is particularly relevant in meeting the low bandwidth requirements of DNP3.