DNP Slave Options Module
Module icon
Overview
Each DNP Slave Options module’s settings apply to one session. A session consists of all incoming and outgoing DNP Master/Slave traffic on one of the meter’s communications ports. Each ION device can have a maximum of three concurrent sessions; one for each serial port, up to three using Ethernet, or a combination of both. Combinations available will depend on the meter’s communications options.
The Distributed Network Protocol Version 3.0 (DNP 3.0) is an open protocol used in the electric utility industry for communications and inter operability among substation computers, RTUs, IEDs, and Master Stations.
An ION meter can be integrated into a DNP network through the ION DNP Slave Import, Export and Options modules.
Complete documentation of the DNP protocol is available through the DNP User’s Group (on the web at www.dnp.org). This documentation includes the Data Link Layer Protocol Description, Transport Functions, Application Layer Protocol Description, and Data Object Library, and DNP 3.0 Subset Definitions.
Inputs
The DNP Slave Options module has no inputs.
Setup registers
The setup registers of this module define settings that apply to all DNP Slave Import and DNP Slave Export modules for a session. The available setup registers vary between ION products; refer to your product documentation for available setup registers, register bounds, and factory default information. Each of the setup registers described below are listed by DNP group.
Binary Inputs
BinInStatic (binary input static)
This register defines the variant that is returned in a class 0 poll for all Binary Input Static objects for a session. (These objects are created using DNP Slave Export modules.)
BinInEvents (binary input events)
This register defines the variant that is returned in a class 1-3 poll for all Binary Input Event objects for a session. (These objects are enabled by configuring DNP Slave Export modules.)
BinInEvDepth (binary
input event depth)
This read-only register defines the maximum number of Binary Input events that can be stored for a session. When this buffer fills up, new events overwrite the oldest events.
Binary Counters
BinCntStatic (binary counter static)
This register defines the variant that is returned in a class 0 poll for all Binary Counter Static objects for this session. (These objects are created using DNP Slave Export modules.)
FrzCntStatic (frozen counter static)
This register defines the variant that is returned in a class 0 poll for all Frozen Counter Static objects for a session. (These objects are created using DNP Slave Export modules.)
FrzCntEvents (frozen counter events)
This register defines the variant that is returned in a class 1-3 poll for all Frozen Counter Event objects for a session. (These objects are enabled using DNP Slave Export modules.)
FrzCntEvDepth (frozen counter event
depth)
This read-only register defines the maximum number of Frozen Counter events that can be stored for a session. When this buffer fills up, new events overwrite the oldest events.
CntChangeEvents
(counter change events)
This register defines the variant that is returned in a class 1-3 poll for all Counter Change Event objects for a session. (These objects are enabled using DNP Slave Export modules.)
CntChangeEvDepth (counter change
event depth)
This read-only register defines the maximum number of Counter Change events that can be stored for a session. When this buffer fills up, new events overwrite the oldest events.
Analog Inputs
AIStatic (analog input static)
This register defines the variant that is returned in a class 0 poll for all Analog Input Static objects for a session. (These objects are created using DNP Slave Export modules.)
FrzAIStatic (frozen analog input
static)
This register defines the variant that is returned in a class 0 poll for all Frozen Analog Input Static objects for a session. (These objects are created using DNP Slave Export modules.)
FrzAIEvents (frozen
analog input events)
This register defines the variant that is returned in a class 1-3 poll for all Frozen Analog Input Event objects for a session. (These objects are enabled using DNP Slave Export modules.)
FrzAIEvDepth (frozen analog input
event depth)
This read-only register defines the maximum number of Frozen Analog Input events that can be stored for a session. When this buffer fills up, new events overwrite the oldest events.
AIChangeEvents
( analog input change events)
This register defines the variant that is returned in a class 1-3 poll for all Analog Input Change Event objects for a session. (These objects are enabled using DNP Slave Export modules.)
AIChangeEvDepth (analog input change
event depth)
This register defines the variant that is returned in a class 1-3 poll for all Analog Input Change Event objects for a session. (These objects are enabled using DNP Slave Export modules.)
Analog Outputs
AOStatic (analog output static)
This register defines the variant that is returned in a class 0 poll for all Analog Output Block objects for a session. (These objects are created using DNP Slave Import modules.)
Control Options
The SelectTimeout setup register specifies the Select Before Operate time-out period in seconds, for a session.
Communication Options
This register defines the number of seconds between device requests for time syncs. It allows the device to control when it is time synched by the Master.
ALFragSize (application layer fragment
size)
This register defines the maximum application layer fragment size, in bytes, that the device can send to the Master for this session. This register is useful for minimizing data errors on noisy lines. It does not affect the total size of the device’s response message.
This register determines when the device will request data link layer acknowledgements from the Master for this session. If set to always, the device will always request data link layer acknowledgements. If set to multipacket only, the device will only request acknowledgement messages when sending multipacket responses. If set to never, the device will never request data link layer acknowledgements for this session.
DLTimeout (data link time-out)
This register determines how long the data link layer waits for an acknowledgement message from the Master for this session.
DLNumRetries (data
link number of retries)
This register specifies how many times the device tries to re-send a data link layer packet after failing to receive a data link layer acknowledgement from the Master for this session.
CommPort (communications port)
This register defines which communication port this DNP Slave Options module’s settings will be applied to.
ApplCnfrm (application
layer confirmation)
This register determines if the device will request that the application layer response be confirmed or not for this session. The default is to confirm only event data responses. The other option is to confirm all application layer responses.
MasterIPAddr (master IP address)
This register defines the IP address of the DNP Master that will be allowed to connect to the session. This allows different configurations to be used for different Masters over TCP/IP. Allowed values are a valid IPv4 or IPv6 address, none or an empty string. none and an empty string indicates that any IP address can connect to this session. The default is none.
This register defines the DNP Data Link address for Ethernet connections. The range is 1–65519.
This register defines how long the meter waits before timing out after no DNP traffic on the port. The range is 0-86,400 seconds. Zero (0) disables the timeout. This timeout only applies if CommPort (communications port) is set to ethernet.
Unsolicited Response Options
All unsolicited response registers are inactive unless the UnsolEnable register is enabled.
UnsolEnable (unsolicited response
enable)
Enables or disables unsolicited responses for this session. Currently, the only option is disabled.
UnsolClassMask
(unsolicited class mask)
This register defines which event classes can trigger an unsolicited response for this session. The default is all classes.
UnsolMaxRetries (unsolicited response
maximum retries)
This register defines the number of unsolicited response retries for this session before the device stops trying. The range is 0-100 attempts; default is 1. The value of zero indicates infinite retries.
UnsolRetryPeriod (unsolicited response
retry period)
This register defines the time period between retry attempts for this session. The range is 1-864,000 seconds (10 days); default is 60.
UnsolDestAddress (unsolicited response
destination address)
This register defines the DNP Master unit ID address that the unsolicited response will be sent to for this session. The range is 1-65,519; default is 3.
Output registers
When a DNP Master successfully reads any DNP Event object from the device, the Event object will be cleared from its associated buffer and the capacity of that buffer will increase.
This register indicates the current capacity of the Binary Input Event Object buffer for this session. It specifies how many DNP Event objects can be stored before overflow occurs. When the buffer is full, this register will run into negative numbers to indicate how many DNP Event objects have been overwritten.
FrzCntEv (frozen counter event)
This register indicates the current capacity of the Frozen Counter Event Object buffer for this session. It specifies how many DNP Event objects can be stored before overflow occurs. When the buffer is full, this register will run into negative numbers to indicate how many DNP Event objects have been overwritten.
CntChangeEv (counter change event)
This register indicates the current capacity of the Counter Change Event Object buffer for this session. It specifies how many DNP Event objects can be stored before overflow occurs. When the buffer is full, this register will run into negative numbers to indicate how many DNP Event objects have been overwritten.
FrzAIEv (frozen analog input event)
This register indicates the current capacity of the Frozen Analog Input Event Object buffer for this session. It specifies how many DNP Event objects can be stored before overflow occurs. When the buffer is full, this register will run into negative numbers to indicate how many DNP Event objects have been overwritten.
AIChangeEv (analog input change event)
This register indicates the current capacity of the Analog Input Change Event Object buffer for this session. It specifies how many DNP Event objects can be stored before overflow occurs. When the buffer is full, this register will run into negative numbers to indicate how many DNP Event objects have been overwritten.
ION events for this session are recorded in this output register. Possible ION events include changes to setup registers or labels (both which have a priority of 10).
The Event output register stores the following information for each ION event: time stamp, event priority, event’s cause, event’s effect, and conditions associated with the event’s cause and effect.
Responses to special conditions
The following table summarizes how the DNP Slave Options module behaves under different conditions:
Condition | Responses |
---|---|
Module goes online. | All DNP Event buffers and Frozen Static objects are cleared, depths reset to defaults. |
Event buffer is full. | Oldest events are overwritten by new events. |
When the device is started or powered-up (either the first time, or after a shut-down). | All DNP Event buffers and Frozen Static objects are cleared, depths reset to defaults. |