Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer - PowerPoint PPT Presentation

About This Presentation
Title:

Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer

Description:

Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer Agenda Introduction DNP Overview TOP Server DNP Drivers Overview What is TOP Server ... – PowerPoint PPT presentation

Number of Views:172
Avg rating:3.0/5.0
Slides: 48
Provided by: JeremyE151
Category:

less

Transcript and Presenter's Notes

Title: Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer


1
HMI/SCADA to RTU Connectivity for Water
Utilities via DNP 3.0
  • Using the TOP Server DNP DriverPresenter Boyce
    Baine, Sr. Applications Engineer

2
Agenda
  • Introduction
  • DNP Overview
  • TOP Server DNP Drivers Overview
  • What is TOP Server
  • Overview of DNP and how it differs from normal
    polling PLC drivers protocols
  • Overview of Driver settings configuration
  • Testing your configuration
  • Live Demo
  • Q A other Resources

3
What is DNP and Who Uses It?
  • DNP3 (Distributed Network Protocol) is a set of
    communications protocols used between components
    in process automation systems
  • It is primarily used for communications between a
    master station and RTUs or IEDs.
  • Originally designed for power distribution and
    transmission, DNP has found a home in
    water/wastewater, oil/gas and transportation.

4
What is TOP Server?
5
TOP Server Gets You Connected!
  • http//www.toolboxopc.com/html/drivers_list.asp

6
TOP Server DNP Master Driver Suite Overview
  • Plugs in like any other TOP Server Driver
  • Licensed as an individual suite based on number
    of RTUs (10, 50, unlimited)
  • Will be included in the Power Distribution Suite
    (Coming in 2010)
  • Serial RS-232/422/485 or Ethernet connections
  • Supports DNP 3.0 Level 3 compliant slave devices
  • Ethernet Encapsulation supported which allows use
    of Cellular Radios other encapsulation devices
  • Supports standard TOP Server protocol diagnostics
  • Serial driver supports Dial-Up Modems

7
Key Differences from other TOP Server Drivers
  • Key differences
  • DNP is a Synchronous Protocol
  • Unsolicited Messages report by exception really
    helps efficiency with remote devices.
  • In proper DNP3 usage
  • Decoupled scan rates separate scan loops for
    client/server and DNP master/slave
  • No relation between client items configured and
    what gets scanned by the driver layer
  • Demand Polling option
  • Allows for operation like a regular polling
    driver however, you give up the benefits of the
    DNP protocol in terms of bandwidth utilization
    and report by exception.
  • Ethernet Encapsulation done at Channel level, not
    device level
  • Restart requirements
  • Dependency on proper slave device configuration
    is greater
  • Important to Understand
  • Timeout Settings
  • DNP Polling Settings
  • Your slave device configuration
  • Naming syntax of items and correlation with DNP
    slave documentation

8
DifferencesDNP is a Synchronous Protocol
  • Only one thing at a time can happen
  • Each command requires an acknowledgement,
    confirmed failure, or timeout before the master
    can move on to the next command
  • So things may never be as fast as other
    protocols!
  • Most serial protocols are this way- but DNP more
    so
  • The DNP stack queues up messages to be sent, so a
    command can spend time waiting in a queue inside
    the DNP stack- this is in addition to any
    internal TOP Server queues
  • Asking for too much too fast can be painful
  • However, due to the report by exception nature of
    DNP when properly used, it is very efficient for
    bandwidth utilization only changes are sent
  • Proper use is
  • Avoiding demand polling
  • Reasonable Integrity and Event Poll intervals for
    the amount of data your device sends and your
    connection speed

9
Important Learning Topic Decoupling of Scan
Rates How Normal PLC drivers work
  • How things work with most drivers
  • Topic/Group scan rate drives the device polling
    rate

Topic or Group Update Rate 100 ms
Driver to PLC Scan Rate 100 ms
Tag PLCAddr
Tag1 40001
Tag2 40002
Tag3 40003
Tag4 40004
Tag5 40005
Tag6 40006
Tag7 40007
Tag8 40008
Tag9 40009
HMI or Client App.
DriverScan of PLC
10
Important Learning Topic Decoupling of Scan
Rates How it works in DNP if used properly
  • Scan Rates are Independent Completely!
  • If you use Demand Polling in DNP, then you end up
    making it work like a regular driver (see prior
    slide) and give up the report by exception
    efficiency of DNP!

No linkage!
Topic or Group Update Rate 100 ms
Driver to DNP Slave Scan Rates determined by
Driver configuration
Driver LayerData Buffer
Client Interface Layer
Tag PLCAddr
Tag1 40001
Tag2 40002
Tag3 40003
Tag4 40004
Tag5 40005
Tag6 40006
Tag7 40007
Tag8 40008
Tag9 40009
PLCAddr
40001
40002
40003
40004
40005
40006
40007
40008
40009
Driver does integrity and event polls of the DNP
Slave or receives unsolicited messages and
updates data buffer
Topic Group Update rate determines how fast data
buffer is checked for changes
11
Differences To insure full restart of driver
stack, restart the server
  • Title says it all
  • Nature of the beast with the separate polling
    cycles between driver and OPC side which is very
    different from the closer coupling that exists
    with other drivers
  • There can be outgoing messages queued that have
    not been sent, which means if you only
    reinitialize the client, the DNP stack will not
    be reinitialized.
  • A MUST to keep in mind item if you are
    troubleshooting an issue!

12
TOP Server User Interface Review, Configuring
the DNP Driver
  • So lets see how to configure the driver well
    highlight other key differences as we get to them
    in configuration

13
Configuration Add a Channel
14
Configuration Channel SetupEthernet Driver
15
Configuration Channel SetupEthernet Example
Master Node Address must be configured at the
slave as well and these must match. Must be
unique for each channel.
IP Address, Slave Port and Connection type are
also configurable at the slave and must match
these settings.
If DNP Connection is set to UDP, you also must
configure the UDP Listener port at the slave and
master.
16
Configuration Channel SetupSerial Example
17
Configuration Channel SetupSerial Example
w/Modems
18
Configuration Channel SetupSerial Ethernet
Encapsulated Example
19
Configuration - ChannelImportant Considerations
  • DNP Master ID is at the channel level and must be
    unique for each Channel
  • If you want unsolicited messaging to work, you
    have to get this right so the Slaves know where
    the master is!
  • Encapsulation or Ethernet parameters are set at
    the channel level
  • If you have gt 1 serial slave device but are using
    Ethernet/Serial convertors, each with its own
    Encapsulation device or if the slave is Ethernet
    capable, each device will be under its OWN
    channel
  • Probably a good thing for performance since each
    channel is a unique thread

20
Configuration Channel Setup
21
Understanding Timeout Settings
  • DNP Channel Timeout (Channel Properties)
  • Channel Level
  • Controls timeout for the time on the wire between
    Master Slave only no queue time
  • DNP Connection Timeout used with TCP only
    non-relevant with UDP
  • Time to get the TCP connection up and going
  • DNP Command Timeout (Device Properties)
  • Device Level
  • Time On Wire Time In Queue
  • Should generally be gt DNP Channel Timeout!

22
Understanding Timeout Settings
  • Talking to multiple devices will take time if you
    have multiple slaves off of one channel
  • In Ethernet or Encapsulated Cellular radio
    scenarios, a non-issue since its 1 device per
    channel
  • Rule for timeouts if multiple devices under one
    channel
  • DNP Command Timeout ( Devices under Channel
    1 ) DNP Channel Timeout
  • Example
  • DNP Channel timeout 10 seconds ( default )
  • 1 Device, 1 Channel
  • DNP Command timeout (11) 10 20 seconds

23
Configuration Channel Summary
24
Configuration Device Settings
25
DNP Polling Types
  • Integrity
  • Gets All the data from the device usually done
    at startup and infrequently
  • Event
  • Supplies changes since last Event or Integrity
    Poll, including buffered events if configured on
    slave
  • Make sure your slave is configured to send
    timestamps! Many are by default, but if you
    arent getting the timestamps you expect.check
    the slave device settings
  • Unsolicited
  • Slave sends changes to Master based on policy
    configured in slave
  • What is sent and when, plus retry policy timing
    is set on the slave
  • If you depend on unsolicited messages, beware of
    your firewall! Unsolicited TCP/IP and UDP
    packets will be rejected unless youve planned
    for them
  • Demand (configured at the tag/item level)
  • Traditional master polling of slave gets data
    whether changed or not.
  • Bypasses DNP efficiencies.
  • Not recommended unless you have to!
  • Polling rate driven by Topic or Group Update Rate

26
DNP Polling Typical Use Cases
  • With DNP you can connect and initialize the
    session and
  • Do an Integrity Poll,
  • Then sit and listen for unsolicited messages
  • and never do an Event Poll
  • OrMost Commonly. after the initial Integrity
    Poll
  • You can do an Event Poll at some interval to get
    just items changed since last report from the
    slave change history if enabled at slave and
    master
  • You can do an Integrity Poll at a regular
    interval to ask for an update of ALL items
  • And receive unsolicited messages, if configured
    in slave
  • Sometimes devices have data that can only be read
    by doing explicit reads (Demand Polling)

27
Configuration Device SettingsPolling Settings
28
Configuration Device SettingsAdvanced Settings
Two Options LAN Serial
Two Options Direct Operate Select then Operate
Two Options UTC Local Time
Determines action after write from Master to Slave
If the slave can report an I/O point as offline,
this allows the server to set the quality to bad
for the .Value and .Explicit subtypes
29
Configuration Device SettingsUnsolicited
Messaging Setup and Considerations
  • Unsolicited messages update master with changes
    in the device
  • Slave device controls settings on item deadbands
    and Unsolicited messages (number and frequency),
    NOT THE MASTER!
  • Deadband settings in a slave can prevent you from
    receiving EVERY change a good or bad thing
    based on your needs
  • Our Master CAN control which classes of
    Unsolicited Messages get sent, IF the SLAVE will
    accept our command messages they arent required
    to!
  • But the Master cant control unsolicited message
    settings at the slave any more granurally than
    this

If the slave accepts unsolicited setting commands
from the master, this tells the slave to disable
unsolicited messaging.
If the slave accepts unsolicited setting commands
from the master, this tells the slave to enable
unsolicited messaging.
No Action accepts the settings from the slave.
If the slave does not accept unsolicited
messaging commands from the master, the other two
settings are irrelevant.
30
Configuration Device SettingsDNP Event
Buffering Overview
  • What happens when communications are lost?
  • Most non DNP devices/protocols miss out on that
    data.
  • DNP slaves can buffer data and then send the
    events when communications are established.
  • Whether or not your slave buffers, how much it
    buffers, how it handles a buffer overrun, are all
    your slave hardwares settings outside the scope
    of the TOP Server and its support.
  • When communications comes back
  • A properly configured DNP system will have the
    slave replay the old events with the timestamps
    of when the event happened!
  • TOP Server can
  • Buffer up to a specified of events
  • Play them back at a user configurable rate that
    your client/Historian can handle for logging
  • The events play back in the same order we receive
    them from the slave provided the slave delivers
    them in FIFO timestamp order, then our delivery
    to HMI/SCADA will be the same.

31
Configuration Device SettingsDNP Event
Buffering Supported Objects
  • Event Buffering applies to DNP objects
  • 1 Binary Input
  • 3 Double Bit Input
  • 10 Binary Output
  • 20 Binary Counter
  • 21 Frozen Counter
  • 30 Analog Input
  • See driver help file for more details

32
Configuration Device SettingsDNP Event
Buffering Important Considerations
  • Event Buffering introduces latency into the tags
    for those affected objects.
  • Even after the initial burst of events is played
    out of the buffer, newly incoming updates will
    only be reported at the Playback Rate.
  • Buffering should only be used when preservation
    of the event stream is more important than timely
    delivery of point updates.
  • Event Buffering is enabled at the device level
  • If a tag's event buffer should fill up, new
    reports will displace the oldest reports in the
    queue.

33
Configuration Device SettingsDNP Event
Buffering Configuration
  • There are three settings to configure when you
    use event buffering.

First, we must enable event buffering.
To insure retrieval of all the buffered events,
the client must have an update rate at least
twice as fast as the Playback Rate (less than
1000 milliseconds in this example).
In this example the buffer will retain 100
updates per tag and make the next update
available to the client once every 2000
milliseconds.
Configure the max events per tag, 1-1000.
Configure the playback rate.
34
Configuration Device Settings
Click Finish and youre Done!
35
ConfigurationSetting up DNP Tags/Items
  • Must have DNP slave profile document
  • Slave profile is not some file you load into the
    driver!
  • But it is a key document that a DNP3 compliant
    slave device must provide!
  • User must read over it and be responsible for
    interfacing with their h/w vendor on questions
    about their document
  • Understand the basics of the DNP standard item
    naming syntax

36
ConfigurationAddressing DNP Items
  • Address follows OBJ.VAR.IDX.SUB syntax
  • OBJData object group (i.e. analog inputs, analog
    outputs, etc)
  • VARVariation (equates to data type)
  • IDXData object within a group (OBJ) i.e. IDX 4
    would be the 5th point in a group
  • SUBSpecific attribute of a point
  • Most commonly used is Value
  • Use Explicit to cause the tag to be Demand
    Polled makes that tag work just like
    traditional polling PLC driver use with care!

37
ConfigurationSetting up DNP Tags/Items Example
  • Example Multitrode Multismart
  • Chapter 3 gives you list of Object s (OBJ)
  • Chapter 4 gives you the IDX but they call it
    Default DNP ID
  • Depending on the quality of your DNP slave
    documentation, this might take some trial error
    or you may have to ask the hardware supplier for
    clarification

38
ConfigurationDNP Addressing Examples
  • Analog Input
  • 30.0.51.Value
  • 30 Analog inputs object
  • 0 Variation default data type
  • 3 index, sometimes called Default DNP ID
  • Value report the value of the input
  • Binary Input
  • 1.0.2.Timestamp
  • 1 Binary inputs object
  • 0 Variation default data type
  • 42 index, sometimes called Default DNP ID
  • Timestamp report the time of the event
    currently reported by the .Value sub-attribute

39
Configuration DNP AddressingImportant
Subtleties to Know
  • In proper DNP implementation, the of tags or
    OPC items you configure in the OPC server has no
    effect on what gets scanned or updated from the
    DNP slave thats how DNP works!
  • The driver abstracts a lot of DNP Slave profile
    details for you so try not to get bogged down
    in the details.
  • Focus on finding the OBJ.VAR.IDX.SUB lists for
    the tags you want in the DNP Slave profile
  • If you dont see an object from your slave
    profile listed in the driver help file, does not
    mean its not supported some object s are
    implied when you use the base object.
  • Change Event objects are used under the hood
    automatically
  • Same with writing objects
  • See Address Descriptions-gtObject Definitions in
    help file a list of objects whose data is
    reflected in other objects is provided there!
  • Example
  • Object 30 Analog Inputs using object 30 will
    also cause object 32 to be used under the hood
    for analog input change events.
  • When in doubt, try the base object for the
    Object Group (i.e analog ins, analog outs, etc)
    for the OBJ part of the address and try the
    things you want to do

40
Testing CommunicationsOPC Quick Client
  • If launched from the Server, it will
    auto-populate all tags configured in the Server

Tag detail view
Server connection and OPC Group tree
OPC Quick Client Event Log
41
Live Demonstration
Ethernet
MultitrodeMultiSmart RTU
TOP Server DNP Suite OPC Server
HMI/SCADA/DCS Systems RSView Wonderware Intellutio
n iFix Citect Indusoft ClearSCADA
Any OPC Client ABB DCS Honeywell DCS Foxboro
DCS DeltaV DCS Visual Studio.NET (custom apps)
42
Integration OptionsRedundancy
HMI, SCADA, or DCS System
  • Redundancy Master sits at the HMI Client system
  • Switches primary to backup and back on loss of
    comms
  • User configurable timing on what constitutes
    down
  • Tags exposed to HMI let the HMI know system status

OPC Redundancy Master Software 1295
TOP Server Multitrode DNP Suite
TOP Server Multitrode DNP Suite
43
Integration Options OPC Data Hub
http//www.softwaretoolbox.com/opcdatahub
44
Integration Options OPC Data Logger
  • Cost-effective yet powerful solution for
    collecting process data and logging
  • Easy-to-setup
  • Works with local or remote OPC Servers
  • OPC Interoperability tested
  • Connect to 1 to N OPC servers
  • No tag count limits
  • Licensed per computer based on type of target
    logging
  • Licenses from 495-995

45
Integration Options OPC Client Development Tools
  • Rapid, reliable connections from Visual Basic and
    .NET to OPC

46
Integration Options Graphics and HMI Development
  • Development Products for smaller systems

47
Tips Tricks
  • Loads of free help at http//www.toolboxopc.com/h
    tml/support.asp
  • Quick Start Guide
  • Training Videos
  • Papers and Utilities Trouble Shooting Guide
  • More information on the Product Details tab
  • http//www.toolboxopc.com/html/product_details.htm
    l
  • Contact Software Toolbox support_at_softwaretoolbox.c
    om while you are in the planning stage, so we can
    help

48
Contact Information Other Learning Opportunities
  • Questions later?
  • Boyce Baine
  • bbaine_at_softwaretoolbox.com
  • 888-665-3678 or 704-849-2773
  • support_at_softwaretoolbox.com
  • www.toolboxopc.com
  • www.softwaretoolbox.com
  • Other learning opportunities
  • Visit www.softwaretoolbox.com/webinars
Write a Comment
User Comments (0)
About PowerShow.com