DNP3 User and Reference Manual
DNP3 User and Reference Manual
CONTROL
MICROSYSTEMS
SCADA products... for the distance
48 Steacie Drive Telephone: 613-591-1943
Kanata, Ontario Facsimile: 613-591-1022
K2K 2A9 Technical Support: 888-226-6876
Canada 888-2CONTROL
2007 Control Microsystems Inc.
All rights reserved.
Printed in Canada.
Trademarks
TelePACE, SCADASense, SCADAServer, SCADALog, RealFLO, TeleSAFE,
SCADAPack, TeleBUS, SCADAWave and ClearSCADA are registered
trademarks of Control Microsystems.
All other product names are copyright and registered trademarks or trade
names of their respective owners.
1
Unsolicited responses are also known as unsolicited messages
7 6 5 4 3 2 1 0 Bit Number
First Description
Octet
Bit
0 last received message was a broadcast message
1 Class 1 data available
7 6 5 4 3 2 1 0 Bit Number
Second Description
Octet
Bit
0 Function Code not implemented
1 Requested object unknown or there were errors in the application data
2 Parameters out of range
3 Event buffer overflowed
Indicates event buffer overflow in the slave or master. The slave will set
this bit if the event buffer in the slave is overflowed. The master will set
this bit if the event buffer in the master has overflowed with events read
from the slave. Ensure the event buffer size, in the master and slave, is
set to a value that will ensure the buffer does not overflow and events are
lost.
4 not used (returns 0)
5 not used (returns 0)
6 not used (returns 0)
7 not used (returns 0)
The complete messages are received from and passed to the pseudo-transport layer. Application
layer messages are broken into fragments with each fragment size usually a maximum of 2048
bytes. An application layer message may be one or more fragments in size and it is the
responsibility of the application layer to ensure the fragments are properly sequenced.
Application layer fragments are sent with or without a confirmation request. When a confirmation
is requested the receiving device replies with a confirmation indicating the message was received
and parsed without any errors.
One distinguishing feature of a DNP outstation is this ability to trigger unsolicited messages to a
master, upon event accumulation. Events are accumulated when the state of a DNP point changes
or an analog values exceeds a threshold. Dead bands can be used to filter out noise from being
reported as event data.
After accumulating a certain number of DNP events, or if a certain time period has expired, a
DNP outstation will trigger an unsolicited message all its configured master DNP stations,
reporting event data. As defined by the DNP specification, an outstation that triggers an
unsolicited message expects a confirmation from all the targeted masters (or peers). If an
acknowledgement is not received with a configured Application Layer timeout, the outstation
will retransmit the initial unsolicited message. If no response is received within the Application
Layer timeout, the outstation will retransmit again. This process continues until the outstation
has retransmitted the message a number of times as configured by its Application Layer Retries
parameter.
If all retry attempts fail, this message is discarded from the transmit buffer. As of this writing, re-
transmission of the failed message will only resume after a new event occurs within the
appropriate buffer. Future releases of the SCADAPack DNP driver will re-attempt a failed DNP
transaction after a random period of time has expired. Retransmissions will be attempted until the
messages are eventually received by the master.
Application Layer messages that are larger than 249 bytes are broken down into Data Link
frames. The DNP protocol allows one to configure acknowledgements of individual Data Link
frames, this enhancing network robustness, especially under noisy environments. When the
underlying network structure is noise free (wired or networks for instance), enabling Application
and Data Link confirmations are not necessary. See Section 6 of the manual for design
considerations.
Note: Clicking on OK closes the DNP Configuration dialog. Click on OK only after you have
completed the DNP configuration.
3. From the DNP Configuration panel, select the Data Link Layer tree node.
a. Click on the Edit button and change the Master Station Address to 200.
b. Change the RTU Station Address to 10.
DNP3 User and Reference Manual 15
31 December 2007
c. Leave all other parameters at their default values. The completed dialog should look like
this:
TIP: It may be necessary to enable the Data Link confirmation on noisy networks. However, if
the Maximum Application Fragment Length is reduced to 249 bytes, it is not necessary to enable
the Data Link confirmation, as each data link packet is in essence an Application Layer fragment.
4. From the DNP Configuration panel, select the Routing tree node.
a. Click on the Add button to begin a new routing table entry.
b. From the Add/Edit Route dialog,
i. Enter 200 for the destination Station.
ii. Set the Port to COM2.
iii. Leave default values for all other parameters.
iv. The completed dialog should look like this:
TIP: Even though a SCADAPack outstation will respond successfully to master request, without
is routing entry to the master, it is a good practice to always define such a routing entry from an
outstation to its master. Moreover, without a routing entry defined to the master, the outstation
will not know which port to send out unsolicited messages, if configured, to the master.
v. Click on OK to add this entry to the routing table and return to the Routing dialog.
The completed routing table should look like this:
This next step assumes you have digital inputs mapped to Modbus registers 10001 and 10002.
5. From the DNP Configuration Panel, click on the Binary Inputs tree node.
a. Set the Starting DNP Address to 1.
b. Set the Event Report Method to Log All Events.
Note: If you want to log all events and not only the most recent, you must set the Event
Reporting Method to Log all Events.
c. Set the Event Buffer Size to 100. The completed panel should look like this:
d. Click on Add to create a new DNP3 binary input point. Observe that a new binary
input point is now visible under the Binary Input tree node with DNP Address 1
(Starting Address)
e. Leave the default associating Modbus Address as 10001.
f. Leave the default Event Object as Class 1.
g. Set the Debounce property to 10.
For additional information on the any of the dialogs referenced in the above exercise, refer to the
DNP Configuration Menu Reference towards the end this booklet.
An extension of a simple DNP Master and single outstation network, involves a SCADAPack
DNP Master connected to a number of outstations over a multi-drop communication channel. The
DNP Master may be configured to periodically poll each SCADAPack DNP Outstation for Class
0, 1, 2, and 3 data objects and receive unsolicited responses from the outstations. The outstations
may be configured to report change event data to the master station using unsolicited responses.
The arrowed line between the master and outstations, in the diagram below, represents the
communication path connecting the stations. This communication path may be any multi-dropped
type that is supported by the controllers, such as leased line modem, dial-up modem and radio for
example.
SCADAPack SCADAPack SCADAPack SCADAPack
DNP Master DNP Outstation A DNP Outstation A DNP Outstation A
In the above configuration the SCADA Host manages the communication path with each
outstation. When the communication path is slow, such as with dial-up communication, or subject
to high error rates, such as with some radio communication, the data update rate at the SCADA
host can become very slow.
Adding a SCADAPack controller configured for Master Mimic Mode, allows for the SCADA
Host to poll the SCADAPack (Mimic Master) for all outstation data instead. In essence, the
SCADAPack Mimic Master is acting as a Data Concentrator, reporting on behalf of all the
outstations currently configured in its routing table. The following diagram shows the addition of
the SCADAPack Mimic Master.
SCADAPack Mimic
In this configuration the outstation side of the network has been decoupled from the host side of
the network, as the SCADAPack mimic master now manages all the communication with the
outstations.
The SCADA Host and all outstations will typically be connected to different communication
ports of the SCADAPack Mimic Master. The mimic will respond to the following DNP
messages on behalf of the targeted station:
Read messages (this includes class polls as well as individual point reads) from SCADA Host
Write messages from SCADA Host
Unsolicited messages from an outstation
11001 1
11002 2
When DNP data points are received from an outstation, a cross reference to the address mapping
table is made, and if a match is found, the DNP data will be written to the corresponding local
Modbus register. 'Input' DNP object types from the outstation are mapped to the masters local
input Modbus register space 1xxxx or 3xxxx. These local Modbus registers are updated after the
corresponding DNP point gets updated; usually by a class poll to the outstation, or if the
outstation issues an unsolicited response based on a change of value or state on these points.
Output' DNP object types from the outstation are mapped to the masters local output Modbus
register space 0xxxx or 4xxxx. Changes made to the local Modbus register will trigger a DNP
Write message, with the current point value, to the outstation. DNP Write implemented in
SCADAPack controllers requires an Application Layer confirmation from the target outstation.
By configuring the Address Mapping table, outstation DNP points are therefore mapped to local
Modbus registers. As mapped local Modbus points, the data is available for use in application
programs such as TelePACE and ISaGRAF. In addition a Modbus SCADA Host can poll the
SCADAPack master for these points.
The following diagram shows a simple DNP Address Mapping network.
SCADAPack 32
SCADA Host Modbus DNP3 SCADAPack SCADAPack
Modbus Master Slave Master Outstation A Outstation B
In this network the SCADAPack master updates is local database with mapped outstation data.
The manner and frequency with which the SCADAPack master updates the local Modbus
registers, depends on the number and type of I/O object types the registers are mapped to.
This feature is limited to the SCADAPack 32, 350 and SCADASense 4203 controllers.
8. Click on the Master tree node from the DNP Settings dialog.
a. Set the Base Poll Interval to 1s.
b. Ensure Mimic Mode is Disabled.
The Modbus Address column is blank as these remote DNP points have not been mapped to any
local Modbus registers.
While this data is available in the DNP Address space of the master, it is not available for use
within a local program. To render DNP data available to a local program, you would have to
perform an Address Map. To map DNP binary input data from outstation 10 to this masters local
DNP database, do the following:
From the Controller menu, select DNP Configuration
1. Click on the Address Map tree node.
2. From the Address Mapping configuration panel
a. Click on the Add button to launch the Add/Edit Address Mapping dialog.
b. Enter 10 for Station.
c. Select Binary Input for Object Type.
d. Enter a value of 1 for First Point. This is the DNP Address of the first Binary Input
point in Station 10.
e. Enter 3 for Number of points to map.
f. Enter 11001 for First Register (First Modbus Register) address. Note that Modbus
address 11000 must exist the in your controller database.
CAUTION: In a practical setting, a DNP Master may have local I/O mapped also mapped to
points within its DNP database. Ensure that you are not mapping outstation DNP points to local
address being used by local I/O.
You can also confirm that remote points are being mapped to Modbus registers by monitoring the
status of Modbus registers 11001, 11002 and 11003.
In the above configuration the SCADAPack DNP Router (Outstation A above) manages all the
communication with the outstations. The SCADAPack DNP router receives messages from the
SCADA Host for each outstation and route or forwards the messages to the outstations, based on
routing rules established with the DNP Routing table.
DNP Messages are routed based on the following logic:
if (a message is received which needs to be retransmitted to someone
else)
if (the message target is configured in our routing table)
if (the destination port is different from the incoming port)
or (routing is enabled on the incoming port)
then retransmit the message
Note: For proper operation of the router, there must be two routing entries in the routing table
for each outstation; An entry specifying how the communication path from this router to
the outstation and another communication path from the router to the SCADA DNP
Master.
Table 6-1: Hold Time and Hold Count Setup in for Six DNP Outstations
DNP Outstation Hold Time Hold Count
Address (seconds)
11 1 100
12 1 100
13 1 100
14 2 100
15 2 100
Data Acquisition master polls outstation Enable Application Layer Disable Application
Configuration frequently for event data Confirmation Layer Confirmation
(also limits number of
Disable Data Link Layer Enable Data Link
events in read response)
Confirmation Layer Confirmation
master does not poll Enable Application Layer Disable Application
frequently enough and Confirmation Layer Confirmation
outstation generates lot of
Disable Data Link Layer Enable Data Link
unsolicited messages
Confirmation Layer Confirmation
Regardless of the data Enable Application Layer Enable Application
acquisition strategy, if the Confirmation Layer Confirmation
Max Application Layer
Disable Data Link Layer Disable Data Link
fragment is set to a values
Confirmation Layer Confirmation
less than 249
Note: It is never required to enable BOTH the Application and Data Link Layer Confirmations.
Why would I ever need to change the Application Layer Maximum Fragment Length?
Caution: Limiting the application layer fragment size reduces the rate at which event data is
retrieved from the buffers, thus increasing the possibility of event buffer overflows, if the event
data is not being retrieved in a timely fashion. Reducing the maximum application layer fragment
size, increases network traffic and also reduced data throughput as an Application Layer
Confirmation is required for each fragment of a multi-fragment message.
Why would I ever want to Limit that maximum number of events in a read response?
This is another strategy that can be used to limit the Application Layer fragment of an
outstations response message. This strategy could be used under noisy environments.
Also, this could be used to prevent an outstation with a large collection of event data to hold the
communication media captive while transmitting all its events.
What behavior should we expect from a SCADAPack when the event logs are full?
When a new event is collected and the SCADAPack DNP event buffer is full, the oldest event is
deleted and the newest event added into the buffer.
What is the main difference between SCADAPack DNP driver configuration modes?
DNP Master DNP Mimic Master Address Router Outstation
Mapping
Define DNP I/O Not necessary Not necessary Not necessary Not Yes
points necessary
Enable Application No No No No. Not
Layer Confirmation necessary.
Should I Initiate Yes No. No. No. No.
Time
synchronization?
Poll for Class DNP Yes Yes Yes No. No
static and Class
data?
Initiates No No No No Yes
The DNP Settings window has a tree control on the left side of the window. The tree control
appears differently depending on the controller type selected. The SCADAPack 350,
SCADAPack 32 and SCADAPack 32P controllers support DNP master and include the bolded
items in the following list. Other SCADAPack controllers do not support DNP master and do not
include the bolded items. This tree control contains headings for:
Application Layer
Data Link Layer
Master
Master Poll
The Retries entry maximum number of times the application layer will retry sending a response
or an unsolicited response to the master station. This does not include any retries performed by
the data link layer. Valid values are between 0 and 255.
Note: Using application layer Confirmation and Retries is inherently more efficient than using
data link layer Confirmation and Retries. Each fragment sent by the Application layer
may require as many as 10 data link layer frames to be sent, each with its own
confirmation message. The application layer is typically preferred for message
confirmation for this reason.
The Application Timeout is the expected time duration (in milliseconds) that the master station's
application layer requires to process and respond to a response from the SCADAPack controller.
This SCADAPack controller uses this value in setting its time-out interval for master station
responses. This value should be large enough to prevent response time-outs. The value must be
kept small enough so as not to degrade system throughput. The value of this element is dependent
on the master station. Valid values are between 100 and 60000 milliseconds.
The Time Synchronization section of the dialog defines when and how often the SCADAPack
outstation prompts the master station to synchronize the SCADAPack controller time. Messages
must be sent between the Master and Remote stations for Time Synchronization to work. Valid
selections for this parameter are:
The None selection will cause the SCADAPack controller to never request Time
Synchronization.
The At Start Up Only selection will cause the SCADAPack controller to request Time
Synchronization at startup only.
The Interval selection will cause the SCADAPack controller to request Time
Synchronization at startup and then every Interval minutes after receiving a time
synchronization from the master. Valid entries for Interval are between 1 and 32767 minutes.
The default value is 60 minutes.
Note: Time Synchronization may instead be initiated by the Master for each Outstation. This
may be selected in the Add/Edit Master Poll dialog. It is not required to enable Time
Synchronization at both the Master and the Outstation.
The Unsolicited Response section of the dialog defines which class objects are enabled or
disabled from generating report by exception responses. Unsolicited responses are individually
configured for Class 1, Class 2, and Class 3 data.
The Enable Unsolicited controls enables or disables the generation of unsolicited events for
Class 1, Class 2 or Class 3 data. If unsolicited responses are disabled for a Class the controller
never generates unsolicited events for that Class. If unsolicited responses are enabled the
controller generates unsolicited events for that Class if its value or state exceeds a defined
threshold. Valid selections are:
Enabled
The Allow Duplicate Modbus Addresses checkbox determines if the Modbus I/O database
addresses assigned to the DNP data points must be unique. Check this box if you want to allow
more than one point to use the same Modbus address.
Click the OK button to accept the configuration changes and close the DNP Settings dialog.
Click the Cancel button to close the dialog without saving any changes.
The Master Station Address edit box specifies the Master Station Address. Enter any valid
Station address from 0 to 65519.
The OK button adds the Master Station Address to the list and closes the dialog. An error is
displayed if the Master Station Address is invalid, if the address is already in the list, or if the
address conflicts with the RTU station address.
The Cancel button closes the dialog without making any changes.
The RTU Station Address parameter specifies the address of this RTU. It is the source address
used by this DNP driver when communicating with a master station. Each DNP station in a
network must have a unique address, including the Master station. Valid entries for RTU Station
Address are 0 to 65519.
The Data Link Confirmation parameter specifies whether or not the RTU requests the
underlying data link transmitting its response to use a high quality service, which generally means
that the data link requires the receiving data link to confirm receipt of all messages.
The Retries parameter specifies the maximum number of times the data link layer will retry
sending a message to the master station. This parameter is only used when responding to a
request from a Master station, when there is no corresponding entry in the Routing dialog for that
station. This is independent of the application layer retries. The valid values for this parameter
are 0 - 255. Setting the value to 0 disables sending retries.
Note: Using data link layer Confirmation and Retries is inherently less efficient than application
layer Confirmation and Retries. Each fragment sent by the Application layer may require
as many as 10 data link layer frames to be sent, each with its own confirmation message.
The data link layer is typically not used for message confirmation for this reason.
The Data Link Timeout parameter specifies the expected time duration that the master station's
data link layer requires to process and respond to a message from the RTUs data link layer. It is
used by the RTU in setting its time-out interval for master station responses. This value should be
large enough to prevent response time-outs. The value must be kept small enough so as not to
degrade system throughput. The value of this element is dependent on the master station. It is
expressed in milliseconds. Valid values are 10 to 60000 milliseconds. The default value is 500
milliseconds.
Click the OK button to accept the configuration changes and close the DNP Settings dialog.
Click the Cancel button to close the dialog without saving any changes.
Click the Delete button to remove the selected rows from the list. This button is disabled if
there are no entries in the list.
7.3 Master
The Master property page is selected for editing by clicking Master in the tree control section of
the DNP Settings window. This selection is only visible if the controller type is SCADAPack
350, SCADAPack 32 or SCADAPack 32P. These controllers support DNP Master. When
selected the Master Application Link Layer property page is active.
Master parameters are set in this property page. Each parameter is described in the following
paragraphs.
The Mimic Mode parameter specifies the DNP Mimic Mode. The valid selections are Enable or
Disable. When DNP Mimic Mode is enabled the controller will intercept DNP messages destined
for a remote DNP station address, and will respond directly, as though the controller were the
designated target. For read commands, the controller will respond with data from its Remote DNP
Objects corresponding with the intended target address. For write commands, the controller will
write data into its Remote DNP Objects, and issue a direct response to acknowledge the
command. It will then issue a new command to write the data to the designated target. See
Section 4.1.1-SCADAPack DNP Mimic Master section for an explanation of the concept around
Mimic Mode. The default selection is Disabled.
The Master Poll displays slave devices to be polled by this master station as a row, with column
headings, in the table. The table may have up to 1000 entries. A vertical scroll bar is used if the
list exceeds the window size.
Note: All slave devices in the Master Poll table need to be added to the Routing table.
The Station column displays the address of the DNP slave device to be polled. Each entry in the
table should have unique DNP Station Address.
The Class 0 Rate column displays the rate of polling for Class 0 data, as a multiple of the base
poll interval.
The Class 1 Rate column displays the rate of polling for Class 1 data, as a multiple of the base
poll interval.
The Maximum Events parameter can be used to manage communication load on a system.
Consider the example of a master polling some data logging remotes, and the case where one
of the remotes has been offline for a long time. The remote will have built up a large number
of buffered events. If the master polled it for all events, the reply might take a long time, and
cause an unwanted delay in the master's polling cycle. However if the master limits the
number of events returned, the reply message duration will be more deterministic and the
master can ensure its poll loop timing is maintained. In this case, the event retrieval from the
data logger will be distributed over a number of poll cycles.
The Time Synchronization Rate section of the dialog specifies the rate of issuing a time
synchronization to this device, as a multiple of the base poll interval. Valid selections for this
parameter are:
The None selection will disable issuing a time sync to this device. This is the default
selection.
The At Start Up Only selection will cause issuing a time synchronization at startup only.
The Interval selection will cause the RTU to issue a time synchronization at startup and then
every Interval of the base poll interval seconds. Valid entries for Interval are between 1 and
32767 the base poll interval seconds. The default value is 60.
The Unsolicited Responses section is used in conjunction with the Enable Unsolicited Responses
on Start Up parameter on the Application Layer page. Certain non-SCADAPack slave devices are
designed to start with their Enable Unsolicited Responses on Start Up parameter set to No.
Selecting Enabled for any class causes the master to (after it detects the slave come online) send a
command allowing the slave to begin sending Unsolicited Responses of that class.
With SCADAPack slaves the Enable Unsolicited Responses on Start Up parameter may be set to
Yes, and the Accept Class parameters may be left at Disabled.
The Accept Class 1 selection displays the enable/disable status of unsolicited responses from
the slave device for Class 1 events. The default selection is disabled.
Bit Description
0 last received message was a broadcast message
1 Class 1 data available
2 Class 2 data available
3 Class 3 data available
4 Time Synchronization required
5 not used (returns 0)
6 Device trouble
Indicates memory allocation error in the slave, or
For master in mimic mode indicates communication failure with the slave
device.
7 Device restarted (set on a power cycle)
8 Function Code not implemented
9 Requested object unknown or there were errors in the application data
10 Parameters out of range
11 Event buffer overflowed
Indicates event buffer overflow in the slave or master. The slave will set this
bit if the event buffer in the slave is overflowed. The master will set this bit if
the event buffer in the master has overflowed with events read from the
slave. Ensure the event buffer size, in the master and slave, is set to a value
that will ensure the buffer does not overflow and events are lost.
12 not used (returns 0)
13 not used (returns 0)
14 not used (returns 0)
15 not used (returns 0)
The OK button checks the data for this table entry. If the data is valid the dialog is closed. If the
table data entered is invalid, an error message is displayed and the dialog remains open. The table
entry is invalid if any of the fields is out of range. The data is also invalid if it conflicts with
another entry in the table. Such conflict occurs when the station number is not unique. The
ordering of items in this table is important.
The Cancel button closes the dialog without saving changes.
The Station edit control displays the address of the remote DNP station. Valid values for this
field are from 0 to 65519.
The Object Type combo box displays the DNP data Object Type. The list of available types
includes: Binary Input, Binary Output, 16-bit Analog Input, 32-bit Analog Input, Short Floating
Point Analog Input, 16-bit Analog Output, 32-bit Analog Output, Short Floating Point Analog
Output, 16-bit Counter Input, 32-bit Counter Input. The Default selection is Binary Input.
The First Point edit control displays the starting address of the remote DNP data points. Valid
values are from 0 to 65519.
The Number edit control displays the number of remote points to be mapped. Valid values for
this field are from 1 to 9999.
The First Register edit control displays the starting address of local Modbus register where the
remote data points are to be mapped. Valid values depend on the selection of DNP Object Type
and are as follows:
For Binary Inputs valid range is from 10001 to 14096.
For Binary Outputs valid range is from 00001 to 04096.
For Analog Inputs and Counter Inputs valid range is from 30001 to 39999.
For Analog Outputs valid range is from 40001 to 49999.
7.6 Routing
In a typical application the SCADAPack controller, configured for DNP, will act as a DNP slave
station in a network. The SCADA system will communicate directly with all the DNP slave
stations in the SCADA system.
DNP routing is a method for routing, or forwarding, of messages received from the SCADA
system, through the SCADAPack controller, to a remote DNP slave station. The SCADAPack
DNP slave station will respond to all messages sent to it from the SCADA system, as well as
broadcast messages. When it receives a message that is not sent to it the message is sent on the
serial port defined in the routing table. See Chapter 4 for an explanation of using and configuring
DNP Routing.
The advantage of this routing ability is that the SCADA system can communicate directly with
the SCADAPack controller and the SCADAPack controller can handle the communication to
remote DNP slave stations.
The DNP Routing table displays each routing translation as a row, with column headings, in the
table. Entries may be added, edited or deleted using the button selections on the table. The table
will hold a maximum of 128 entries.
The DNP Routing property page is selected for editing by clicking DNP Routing in the tree
control section of the DNP Settings window. When selected the DNP Routing property page is
displayed.
Notes:
Routing must be enabled for the controller serial port in order to enable DNP routing.
TelePACE version 2.63 cannot open files created with version 2.64, unless the Routing table
is empty.
TelePACE version 2.64 cannot open files created with version 2.65, unless the Routing table
is empty.
The Station edit control displays the address of the remote DNP station. Valid values for this
field are from 0 to 65519.
The Port combo box displays the communications port, which should be used to communicate
with the remote DNP station. This combo box contains list of the valid communications ports,
which will depend on the type of controller. For SCADAPack 350, SCADAPack 32 and
SCADAPack 32P controllers the list will contain DNP in TCP and DNP in UDP in addition to the
serial port designations, COM1, COM2 etc.
The IP Address edit control is only enabled if the controller type is a SCADAPack 350,
SCADAPack 32 or SCADAPack 32P. Enter the IP address of the remote DNP station.
The Data Link Retries edit control displays the maximum number of Data Link retries which
should be used for this DNP station in the case of communication errors. This field overrides the
Data Link Retries field in the global DNP parameters set in the Data Link Layer configuration.
Valid values for this field are 0 to 255.
The Data Link Timeout edit control displays the maximum time (in milliseconds) to wait for a
Data Link response before retrying or failing the message. This field overrides the Data Link
Timeout field in the global DNP parameters in the Data Link Layer configuration. Valid values
for this field are 100 to 60000, in multiples of 100.
The phone number parameters allow automatic dialing for stations that use dial-up ports. The
Phone Number parameters are enabled only when the Port selected is a serial port.
The Primary Phone Number is the dialing string that will be used for the primary connection to
the station. The controller will make 1 or more attempts, as configured in the Application layer, to
connect using this number. If this connection fails then the Secondary Phone Number will be
dialed, if it is entered.
Valid values are any ASCII string. The maximum length is 32 characters. Leave this blank if you
are not using a dial-up connection. The default value is blank. The serial port type must be set to
RS-232 Modem for dial-up operation.
The Allow Duplicate Modbus Addresses checkbox determines if the Modbus I/O database
addresses assigned to the DNP data points must be unique. Check this box if you want to allow
more than one point to use the same Modbus address.
16-Bit Analog Inputs parameters are set in this property page. Each parameter is described in the
following paragraphs.
The Number of Points displays the number of 16 bit analog inputs reported by the RTU. This
value will increment with the addition of each configured 16-Bit Analog Input point. The
maximum number of points is 9999. The maximum number of actual points will depend on the
memory available in the controller.
The Starting Address parameter specifies the DNP address of the first 16-bit Analog Input point.
32-Bit Analog Inputs parameters are set in this property page. Each parameter is described in the
following paragraphs.
The Number of Points displays the number of 32- bit analog inputs reported by the RTU. This
value will increment with the addition of each configured 32-Bit Analog Input point. The
The 32-Bit Analog Input parameters are described in the following paragraphs.
The DNP Address window displays the DNP 32-Bit Analog Input address of the point. Each 32-
Bit Analog Input is assigned a DNP address as they are defined. The DNP point address starts at
the value set in the 32-bit Analog Input configuration dialog and increments by one with each
defined 32-Bit Analog Input.
The Modbus Address parameter specifies the Modbus addresses of the 32-Bit Analog Input
assigned to the DNP Address. 32-Bit Analog Inputs use two consecutive Modbus registers for
each assigned DNP Address, the address that is entered in this box and the next consecutive
Modbus register. The SCADAPack and Micro16 controllers use Modbus addressing for all
analog inputs. Refer to the I/O Database Registers section of the TelePACE Ladder Logic
Reference and User Manual for complete information on analog input addressing in the
SCADAPack and Micro16 controllers. Valid Modbus addresses are:
30001 through 39998
40001 through 49998
The Class of Event Object parameter specifies the event object class the 32-Bit Analog Input is
assigned. If Unsolicited reporting is not required for a DNP point, it is recommended to set its
Class 0 or None. All data points automatically become members of Class 0 or None (static
data).The selections are:
The 16-Bit Analog Outputs parameters are described in the following paragraphs.
The 32-Bit Analog Outputs parameters are described in the following paragraphs.
The DNP Address window displays the DNP 32-Bit Analog Output address of the point. Each
16-Bit Analog Output is assigned a DNP address s they are defined. The DNP point address starts
at the value set in the 32-bit Analog Output configuration dialog and increments by one with each
defined 32-Bit Analog Output.
The Modbus Address parameter specifies the Modbus address of the 32-Bit Analog Output
assigned to the DNP Address. 32-Bit Analog Outputs use two consecutive Modbus registers for
each assigned DNP Address, the address that is entered in this box and the next consecutive
Modbus register. The SCADAPack and Micro16 controllers use Modbus addressing for all
analog outputs. Refer to the I/O Database Registers section of the TelePACE Ladder Logic
Reference and User Manual for complete information on analog output addressing in the
SCADAPack and Micro16 controllers. Valid Modbus addresses are:
40001 through 49998
The Allow Duplicate Modbus Addresses checkbox determines if the Modbus I/O database
addresses assigned to the DNP data points must be unique. Check this box if you want to allow
more than one point to use the same Modbus address.
Click the OK button to accept the 16-Bit Analog Output parameters and close the DNP Settings
dialog.
Click the Cancel button to close the dialog without saving any changes.
Short Floating Point Analog Output parameters are set in this property page. Each parameter is
described in the following paragraphs.
The Number of Points displays the number of Short Floating Point Analog Outputs reported by
the RTU. This value will increment with the addition of each configured Short Floating Point
Analog Input point. The maximum number of points is 9999. The maximum number of actual
points will depend on the memory available in the controller.
The Starting Address parameter specifies the DNP address of the first Short Floating Point
Analog Output point.
The Word Order selection specifies the word order of the 32-bit value. The selections are:
The Short Floating Point Analog Output parameters are described in the following paragraphs.
32-Bit Counter Inputs parameters are set in this property page. Each parameter is described in the
following paragraphs.
The 32-Bit Counter Input parameters are described in the following paragraphs.
The DNP Address window displays the DNP 32-Bit Counter Input address of the point. Each 32-
Bit Counter Input is assigned a DNP address as they are defined. The DNP point address starts at
the value set in the 32-Bit Counter Input configuration dialog and increments by one with each
defined 32-Bit Counter Input.
The Modbus Address parameter specifies the Modbus addresses of the 32-Bit Counter Input
assigned to the DNP Address. 32-Bit Counter Inputs use two consecutive Modbus registers for
each assigned DNP Address, the address that is entered in this box and the next consecutive
Modbus register. The SCADAPack and Micro16 controllers use Modbus addressing for all
counter inputs. Refer to the I/O Database Registers section of the TelePACE Ladder Logic
Reference and User Manual for complete information on analog input addressing in the
SCADAPack and Micro16 controllers. Valid Modbus addresses are:
30001 through 39998
40001 through 49998
To enable the use of DNP diagnostics you will need to upgrade the firmware in the controller to
the newer version.
The DNP Status window provides information on the status of the DNP protocol running in the
controller. Depending on the status the window may contain the following text.
Enabled or Disabled indicates whether the controller firmware supports DNP protocol.
Configured or Not Configured indicates whether the controller has been configured with
DNP protocol on at least one communications port.
Running or Not Running indicates whether the DNP tasks are running in the controller.
The Internal Indications window displays the current state of the DNP internal indications (IIN)
flags in the controller. For a detailed description of the IIN flags see the section 2.1.1.1 of this
The Communication Statistics window displays the message statistics for each DNP
communication port. The statistics include the total number of messages transmitted and received
and the total number of successes, failures, and failures since last success (which will only be
updated for messages sent by this controller) for each communication port. The counters
increment whenever a new DNP message is sent or received on the port, and roll over after 65535
messages.
Click the Reset button to reset the counters to zero.
The Last Message window displays information about the most recent DNP message. The
information is updated each time a new message is received or transmitted. The Last Message
window contains the following information.
Direction displays whether the message was received or transmitted.
Time displays the time at which the message was received or sent.
Port displays which communication port was used for the message.
Source displays the source DNP station address for the message.
Dest displays the destination DNP station address for the message.
Length displays the message length in bytes.
Link Func displays the Link Layer function code.
Appl Func displays the Application Layer function code.
IIN displays the Internal indications received with the last message
The Event Buffers window displays the number of events in each type of event buffer and the
allocated buffer size. The event buffers displayed are:
Binary In (binary inputs)
AIN-16 (16-bit analog inputs)
AIN-32 (32-bit analog inputs)
AIN-Float (floating point analog inputs)
Counter-16 (16-bit counter inputs)
Counter-32 (32-bit counter inputs)
Class 1 (class 1 events)
Class 2 (class 2 events)
Class 3 (class 3 events)
The DNP Address column shows the DNP address of the point.
The Modbus Address column shows the Modbus register address of the point.
The Value column shows the value of the point. Binary points are shown as OFF or ON. Numeric
points show the numeric value of the point.
The Communication Statistics window displays a list of all outstations and the communication
statistics for each station in the list. The statistics counters increment whenever a new DNP
message is sent or received, and roll over after 65535 messages. The following statistics are
displayed.
DNP Address displays the DNP address of the outstation.
The Remote Station window is where the DNP address of the remote station is entered. When
the Remote station field is changed all data fields on this tab and the following I/O tabs are
updated with the values for the newly selected Remote Station.
The DNP Address column shows the DNP address of the point.
The Modbus Address column shows the Modbus register address of the point. This is only
relevant for points that have an address mapping in the master station. For points that have an
address mapping, this will show the Modbus register address of the point. For points which do
not have an address mapping, this will show ---.
The Value column shows the value of the point. Binary points are shows as OFF or ON. Numeric
points show the numeric value of the point.
DNP v3.00
DEVICE PROFILE DOCUMENT
For Responses 2
Notable objects, functions, and/or qualifiers supported in addition to the Highest DNP Levels
Supported (the complete list is described in the attached table):
Maximum Data Link Frame Size (octets): Maximum Application Fragment Size (octets):
None None
Fixed at Configurable, range 0 to 255
Configurable, range 0 to 255
Never
Always
Sometimes If 'Sometimes', when?
Never
Always (not recommended)
When reporting Event Data (Slave devices only)
When sending multi-fragment responses (Slave devices only)
Configurable for always or only when Reporting Event Data and Unsolicited Messages
Others __________________________________________________________________________
Reports Binary Input Change Events when no Reports time-tagged Binary Input Change Events
specific variation requested: when no specific variation requested:
Never Never
Only time-tagged Binary Input Change With Time
Only non-time-tagged Binary Input Change With Relative Time
Configurable to send both, one or the Configurable (attach explanation)
other (attach explanation)
Never Never
Configurable by class When Device Restarts
Only certain objects When Status Flags Change
Sometimes (attach explanation)
No other options are permitted.
ENABLE/DISABLE UNSOLICITED
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
2 3 Binary Input Change with Relative Time 1 06,07,08 129, 130 17, 28
10 1 Binary Output
12 3 Pattern Mask
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
60 0
60 1 Class 0 Data 1 06
70 1 File Identifier
80 1 Internal Indications 2 00
index=7
81 1 Storage Object
82 1 Device Profile
90 1 Application Identifier
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
No Object 13
No Object 14
No Object 23
(see
4.14)
DNP V3.00
TIME SYNCHRONISATION PARAMETERS
This table describes the worst-case time parameters relating to time synchronisation,
as required by DNP Level 2 Certification Procedure section 8.7
PARAMETER VALUE
Maximum internal time reference error when set +/- 100 milliseconds
from the protocol
DNP v3.00
DEVICE PROFILE DOCUMENT
For Responses 2
Notable objects, functions, and/or qualifiers supported in addition to the Highest DNP Levels
Supported (the complete list is described in the attached table):
Maximum Data Link Frame Size (octets): Maximum Application Fragment Size (octets):
None None
Fixed at Configurable, range 0 to 255
Configurable, range 0 to 255
Never
Always
Sometimes If 'Sometimes', when?
Never
Always (not recommended)
When reporting Event Data (Slave devices only)
When sending multi-fragment responses (Slave devices only)
Configurable for always or only when Reporting Event Data and Unsolicited Messages
Others __________________________________________________________________________
Reports Binary Input Change Events when no Reports time-tagged Binary Input Change Events
specific variation requested: when no specific variation requested:
Never Never
Only time-tagged Binary Input Change With Time
Only non-time-tagged Binary Input Change With Relative Time
Configurable to send both, one or the Configurable (attach explanation)
other (attach explanation)
Never Never
Configurable by class When Device Restarts
Only certain objects When Status Flags Change
Sometimes (attach explanation)
No other options are permitted.
ENABLE/DISABLE UNSOLICITED
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
2 3 Binary Input Change with Relative Time 1 06,07,08 129, 130 17, 28
10 1 Binary Output
12 3 Pattern Mask
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
60 0
60 1 Class 0 Data 1 06
70 1 File Identifier
80 1 Internal Indications 2 00
index=7
81 1 Storage Object
82 1 Device Profile
90 1 Application Identifier
IMPLEMENTATION OBJECT
This table describes the objects, function codes and qualifiers used in the device:
No Object 13
No Object 14
No Object 23
(see
4.14)
DNP V3.00
TIME SYNCHRONISATION PARAMETERS
This table describes the worst-case time parameters relating to time synchronization,
as required by DNP Level 2 Certification Procedure section 8.7
PARAMETER VALUE
Maximum internal time reference error when set +/- 100 milliseconds
from the protocol