using the top server dnp driver presenter: boyce baine, sr. applications engineer

42
Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer HMI/SCADA to RTU Connectivity for Water & Utilities via DNP 3.0

Upload: aaron-velazquez

Post on 30-Dec-2015

31 views

Category:

Documents


1 download

DESCRIPTION

Using the TOP Server DNP Driver Presenter: Boyce Baine, Sr. Applications Engineer. HMI/SCADA to RTU Connectivity for Water & Utilities via DNP 3.0. Agenda. Introduction What is TOP Server DNP Drivers Overview Overview of DNP and how it differs from normal “polling” PLC drivers & protocols - PowerPoint PPT Presentation

TRANSCRIPT

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

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

HMI/SCADA to RTU Connectivity for Water & Utilities via DNP 3.0

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

Agenda

Introduction What is TOP Server

DNP Drivers Overview Overview of DNP and how it differs

from normal “polling” PLC drivers & protocols

Overview of Driver settings & configuration

Testing your configuration Q & A & other Resources

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

What is TOP Server?

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

TOP Server Gets You Connected!

http://www.toolboxopc.com/html/drivers_list.asp

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

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.

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

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

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

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

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

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

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

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

Tag PLCAddr

Tag1 40001

Tag2 40002

Tag3 40003

Tag4 40004

Tag5 40005

Tag6 40006

Tag7 40007

Tag8 40008

Tag9 40009

HMI or Client App.

Topic or Group Update Rate : 100 ms

Driver to PLC Scan Rate: 100 ms

DriverScan

of PLC

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

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!

Tag PLCAddr

Tag1 40001

Tag2 40002

Tag3 40003

Tag4 40004

Tag5 40005

Tag6 40006

Tag7 40007

Tag8 40008

Tag9 40009

Topic or Group Update Rate: 100 ms

Driver to DNP Slave Scan Rates determined by Driver configuration

No linkage!

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

PLCAddr

40001

40002

40003

40004

40005

40006

40007

40008

40009

Driver LayerData Buffer

Client Interface Layer

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

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!

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

TOP Server – User Interface Review, Configuring the DNP Driver

So let’s see how to configure the driver – we’ll highlight other key differences as we get to them in configuration

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

Configuration – Add a Channel

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

Configuration – Channel SetupEthernet Driver

In systems with more than one network card

and subnet, you can pick which card & subnet to

bind to using this combo box

In systems with more than one network card

and subnet, you can pick which card & subnet to

bind to using this combo box

Write Optimization settings and why you might change

them are covered in detail in the product help file – best to leave at default in most cases

Write Optimization settings and why you might change

them are covered in detail in the product help file – best to leave at default in most cases

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

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.

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.

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.

If DNP Connection is set to UDP, you

also must configure the UDP

Listener port at the slave and

master.

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

Configuration – Channel SetupSerial Example

Set remaining serial port settings

to match your device

Set remaining serial port settings

to match your device

Pick your com port – any standard

Windows com port will work. COM1 through COM100

supported

Pick your com port – any standard

Windows com port will work. COM1 through COM100

supported

If your PC has a modem installed

(internal or external) this

checkbox will be available

If your PC has a modem installed

(internal or external) this

checkbox will be available

For use with serial/ethernet

converters, terminal server devices, and also with some cellular radios

For use with serial/ethernet

converters, terminal server devices, and also with some cellular radios

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

Configuration – Channel SetupSerial Example w/Modems

This checkbox can only be enabled if you have a Windows TAPI compliant Modem installed in the computer. If enabled you can check it to use your modem

This checkbox can only be enabled if you have a Windows TAPI compliant Modem installed in the computer. If enabled you can check it to use your modem

You can choose which modem you want to use here

You can choose which modem you want to use here

See product help file for full details

on how to configure

phonebook entries, special

dial,hangup tags, etc

See product help file for full details

on how to configure

phonebook entries, special

dial,hangup tags, etc

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

Configuration – Channel SetupSerial Ethernet Encapsulated Example

In systems with more than one

network card and subnet, you can

pick which card & subnet to bind to using this combo

box

In systems with more than one

network card and subnet, you can

pick which card & subnet to bind to using this combo

box

IP Address, Port and Protocol type must match

the settings in the encapsulation device.

IP Address, Port and Protocol type must match

the settings in the encapsulation device.

The amount of time allowed for a TCP socket connection to initially be established to the device. Non-relevant/ignored when using UDP connections.

The amount of time allowed for a TCP socket connection to initially be established to the device. Non-relevant/ignored when using UDP connections.

If the Ethernet Connection on your DNP Slave device is provided

by a serial/ethernet encapsulation

device/terminal server and the actual end

device is a DNP serial device you’ll check this

box

If the Ethernet Connection on your DNP Slave device is provided

by a serial/ethernet encapsulation

device/terminal server and the actual end

device is a DNP serial device you’ll check this

box

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

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 > 1 serial slave device but are using Ethernet/Serial convertors, each with it’s own Encapsulation device or if the slave is Ethernet capable, each device will be under it’s OWN channel

Probably a good thing for performance since each channel is a unique thread

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

Configuration – Channel Setup

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

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 > DNP Channel Timeout!

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

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 it’s 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 = (1+1) * 10 = 20 seconds

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

Configuration – Channel Summary

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

Configuration – Device Settings

Give your device a name that is useful to you.

Give your device a name that is useful to you.

This is the DNP Slave ID of your device – it is required

for Ethernet or Serial Device. This MUST match your

slave device!

This is the DNP Slave ID of your device – it is required

for Ethernet or Serial Device. This MUST match your

slave device!

You’ll see this under the channel you just configured – click it to start the Device

Configuration Wizard

You’ll see this under the channel you just configured – click it to start the Device

Configuration Wizard

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

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 aren’t 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 you’ve 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

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

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

Or…Most 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”)

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

Configuration – Device SettingsPolling Settings

Controls how often driver will ask DNP Slave for a report of all changes since last Event Poll or last Unsolicited Message. Three event classes in DNP can be configured with different event poll rates. See your DNP slave documentation for what points are in each class – it may be configurable.

0 = do no Event Polls, ever, rely on period integrity polls, unsolicited messages or explicit reads only for updates. Max value = 86,400 seconds (24 hours)

Controls how often driver will ask DNP Slave for a report of all changes since last Event Poll or last Unsolicited Message. Three event classes in DNP can be configured with different event poll rates. See your DNP slave documentation for what points are in each class – it may be configurable.

0 = do no Event Polls, ever, rely on period integrity polls, unsolicited messages or explicit reads only for updates. Max value = 86,400 seconds (24 hours)

• Controls how often driver will ask DNP slave for values of ALL items in the slave, regardless of whether you have OPC items setup for them, regardless of whether values have changes

• 0 = do no Integrity polls, ever – not recommended• Max Value = 2,592,000 seconds (30 days)• We recommend no more than once per hour, especially

in radio or wireless networks. Most applications even less frequent, every 8 hours or 24 hours is sufficient. The max is 30 days.

• Controls how often driver will ask DNP slave for values of ALL items in the slave, regardless of whether you have OPC items setup for them, regardless of whether values have changes

• 0 = do no Integrity polls, ever – not recommended• Max Value = 2,592,000 seconds (30 days)• We recommend no more than once per hour, especially

in radio or wireless networks. Most applications even less frequent, every 8 hours or 24 hours is sufficient. The max is 30 days.

DNP Command Timeout should be greater than the channel timeoutThe DNP Command timeout covers time on the wire (Channel timeout) and time

in the queue

Formula:

DNP Command Timeout should be >= (# of DNP Devices Under a Channel + 1) * DNP Channel Timeout Setting

(set on your channel properties)

DNP Command Timeout should be greater than the channel timeoutThe DNP Command timeout covers time on the wire (Channel timeout) and time

in the queue

Formula:

DNP Command Timeout should be >= (# of DNP Devices Under a Channel + 1) * DNP Channel Timeout Setting

(set on your channel properties)

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

Configuration – Device SettingsAdvanced Settings

Two Options:

LANSerial

Two Options:

LANSerialTwo Options:

Direct OperateSelect then Operate

Two Options:

Direct OperateSelect then OperateTwo Options:

UTCLocal Time

Two Options:

UTCLocal TimeDetermines

action after write from Master to

Slave

Determines action after write from Master to

SlaveIf 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

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

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

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 aren’t required to!

But the Master can’t 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

enable unsolicited messaging.

If the slave accepts unsolicited setting commands from the master, this tells the slave to

enable unsolicited messaging.

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

disable 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.

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.

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

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 hardware’s settings outside the scope of the TOP Server and it’s 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.

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

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

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

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.

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

Configuration – Device SettingsDNP Event Buffering: Configuration

There are three settings to configure when you use event buffering.

First, we must

enable event

buffering.

First, we must

enable event

buffering.

Configure the max

events per tag, 1-1000.

Configure the max

events per tag, 1-1000.

Configure the

playback rate.

Configure the

playback rate.

In this example the buffer will

retain 100 updates per tag and make the next update

available to the client once every 2000

milliseconds.

In this example the buffer will

retain 100 updates per tag and make the next update

available to the client once every 2000

milliseconds.

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).

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).

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

Configuration – Device Settings

Click “Finish” and you’re

Done!

Click “Finish” and you’re

Done!

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

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

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

ConfigurationAddressing DNP Items

Address follows OBJ.VAR.IDX.SUB syntax: OBJ=Data object group (i.e. analog inputs,

analog outputs, etc) VAR=Variation (equates to data type) IDX=Data object within a group (OBJ) – i.e.

IDX 4 would be the 5th point in a group SUB=Specific 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!

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

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

ConfigurationSetting up DNP Tags/Items: Example

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

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

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

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 – that’s 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 don’t see an object # from your slave profile listed in the driver help file, does not mean it’s 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->Object 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

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

Testing CommunicationsOPC Quick Client

If launched from the Server, it will auto-populate all tags configured in the Server

Server connection and OPC

Group tree

Server connection and OPC

Group tree

Tag detail view

Tag detail view

OPC Quick Client Event Log

OPC Quick Client Event Log

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

Tips & Tricks

Loads of free help at: http://www.toolboxopc.com/html/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.html

Contact Software Toolbox [email protected] while you are in the planning stage, so we can help

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

Contact Information & Other Learning Opportunities

Questions later? Boyce Baine

[email protected] 888-665-3678 or 704-849-2773

[email protected] www.toolboxopc.com www.softwaretoolbox.com

Other learning opportunities Visit www.softwaretoolbox.com/webinars