dnp3forkingfisherrtus2.4

39
 DNP3 For Kingfisher Series II RTUs

Upload: elizabeth-king

Post on 12-Oct-2015

19 views

Category:

Documents


0 download

DESCRIPTION

DNP3 Kingfisher Manual

TRANSCRIPT

  • DNP3 For Kingfisher Series II RTUs

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 2 -

    Document Control Document Title DNP3 For Kingfisher Series II RTUs Master File Name DNP3ForKingfisherRTUs.doc Master Location RAD\RELEASE\Manuals\Series 2\Protocol Documents\DNP3

    Copyright Copyright RTUnet (Australia) Pty Ltd. ABN 35 006 805 910 [email protected], www.rtunet.com Intellectual Property

    RTUnet asserts ownership of the intellectual property contained herein and claims copyright and authorship. RTUnet has and retains all rights of ownership and use of the material herein in its on-going business.

    Licence

    This document is provided to the intended recipient(s) under a non-exclusive licence. This licence permits Fair Use of the document for operational requirements, without payment of further royalty or licence fee. Fair Use includes making copies of the document for operational, backup and archive purposes. Fair Use includes distributing copies of the document to other entities for the purposes of their performing related works for the intended recipient(s). Fair Use does not include creating, selling or distributing copies of the document for other purposes. All copies must retain this statement of Intellectual Property and Copyright.

    Revision History Rev. Date By Description

    1.0 17/1/2002 PM Provides an overview of how to configure Kingfisher RTUs to use the DNP3 protocol.

    1.1 30/5/2002 PM Added new port types. Document was reviewed again by engineering and edits were added.

    1.2 5/9/2002 VP Event logging of the data and status registers for an analog input was shown in the reverse order. The data register (second register) must be logged before the status register (first register) when storing class 1 to 3 data.

    1.3 24/4/2003 VP, PM Added Trip and Close options for digital output objects. Minor changes to text. Updated wording of chapter 2 Downloading The DNP3 Driver.

    1.4 1/05/2003 JvB Expanded DNP configuration structure, Added Frozen Counter support. Added extra functions to Object Variation Selection register. Added support for second master. Added master Select-operate and Direct operate no acknowledgment functions. Added master trip\close and pulse output commands.

    1.5 15/08/2003 JvB Added Select Received bit to all output objects. Updated DO ladder example. Added BLOCKMESSAGE explanation. 2.0 9/10/2003 PM Re-organised contents and added a configuration procedure that uses the DNP3 function blocks. Added descriptions of the DNP3 function blocks.

    2.01 23/10/2003 PM Noted that after downloading the DNP3 driver to flash RAM, the RTU configuration needs to be downloaded again.

    2.02 25/3/2004 PM Noted that LP-1 RTUs only support the DNP3 slave driver. 32-bit analog output function uses a long register for 'AO Output' instead of a float.

    2.1 2/9/2004 PM Added support for DNP3 SCADA. This option returns the data for each remote individually.

    2.2 2/9/2004 PM Detailed new Object Type options for Tx DNP3 ladder block.

    2.3 11/8/2005 JvB, PM Added new object configuration bits. Added information about how DNP3 address 0 or above 249 are handled by the RTU.

    2.4 4/1/2007 PM Updated some descriptions for the Internal Indication Register bits. Renamed chapter Configuring A Kingfisher RTU For DNP3 to Quick Start. Updated document control page, contact details and website addresses.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 3 -

    Table Of Contents DNP3 OVERVIEW ......................................................................................................4

    QUICK START............................................................................................................5

    CONFIGURATION DETAILS......................................................................................7 Downloading Drivers ............................................................................................................................... 7 DNP3 Port Setup ..................................................................................................................................... 8

    DNP3 FUNCTION BLOCKS .......................................................................................9

    Creating DNP3 Data................................................................................................................................ 9 DNP3 Setup Function (DNP3_SETUP) ................................................................................................ 10 Digital Input Function (DNP3_DI) .......................................................................................................... 11 Digital Output Function (DNP3_DO) ..................................................................................................... 12 16-Bit Analog Input Function (DNP3_AI16) .......................................................................................... 13 32-Bit Counter Function (DNP3_CT32) ................................................................................................ 14 Floating Point Input Function (DNP3_FLOAT)...................................................................................... 15 16-Bit Analog Output Function (DNP3_AO16)...................................................................................... 16 32-Bit Analog Output Function (DNP3_AO32)...................................................................................... 17 Floating Point Output Function (DNP3_AOFL) ..................................................................................... 18

    DNP3 OBJECTS.......................................................................................................19

    DNP3 Configuration Block..................................................................................................................... 19 DNP3 Digital Inputs ............................................................................................................................... 24 DNP3 Analog Inputs.............................................................................................................................. 25 DNP3 Digital Outputs ............................................................................................................................ 26 DNP3 Analog Outputs ........................................................................................................................... 27 DNP3 Counters ..................................................................................................................................... 28 DNP3 Frozen Counters ......................................................................................................................... 29 Analog And Digital Events (Time Tagged Data) ................................................................................... 30 DNP3 Digital Events.............................................................................................................................. 31 DNP3 Analog Events............................................................................................................................. 32

    COLLECTING AND MOVING DNP3 DATA .............................................................33

    Collecting DNP3 Data ........................................................................................................................... 33 Polling A DNP3 Outstation RTU............................................................................................................ 35 Exception Reporting DNP3 Data........................................................................................................... 36 Setting DNP3 Outputs Using Ladder Logic........................................................................................... 37

    SCADA SOFTWARE AND KINGFISHER DNP3......................................................39

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 4 -

    DNP3 Overview

    Distributed Network Protocol - DNP3 - is an industry standard protocol for RTU communications (especially for the water, gas and power industries). There are various compliance levels depending on the functionality of DNP3 compatible equipment. Kingfisher RTUs are level 2 compliant (they support real-time data transfers and historical events) and also include some level 3 functionality (eg floating point numbers).

    To allow a wide variety of devices to interchange data, the place where each device stores the data is not important. Data is simply referenced by its type (eg. digital input, analog input, digital output or analog output) and its object number (eg. object 1 to 250). It is up to each device how it manages the data so long as it provides the data in this standard format.

    Each piece of DNP3 data is called an object and contains a data value and information about that data value. For example, a digital input object consists of 8 bits of data. One bit is used for the status (eg ON or OFF), while the other bits provide additional information like whether the digital input is online or not.

    All data objects are assigned to DNP3 classes. There are 4 possible classes 0, 1, 2 or 3. Class 0 is used to denote all data points in the RTU. This is called static data. When an objects value changes, a time-stamped event log can be generated with a priority of 1, 2 or 3 corresponding to the class number. Class 1 (priority 1 event logs) are used to mark new data ready for exception reporting or polling by the master RTU.

    In many DNP3 networks the master station has a direct connection to each of the RTUs to be communicated with. The master station regularly requests all data whether it has changed or not and also receives exception reports from the outstation RTUs.

    A Kingfisher RTU can be configured to use the DNP3 protocol by following the steps in the next chapter Quick Start.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 5 -

    Quick Start

    Kingfisher RTUs (PC-1, CP-1/10/11/21 and LP-1) all support the DNP3 protocol and are configured using Toolbox software. All Toolbox commands below are shown in italics. The following Quick Start steps require the Toolbox DNP3 project files available from www.rtunet.com/support.

    Power up your Kingfisher RTU by following the wiring diagrams in the Kingfisher Hardware Manual (available from www.rtunet.com/support).

    Connect the Toolbox cable to port 1 of the RTU as shown below. Note: if you only have USB ports on your PC (and no DB9 serial COM ports), you will need a USB to 9-pin RS-232 serial converter cable.

    RJ45 Cable

    PC-1 CP11 PC Serial Port Adaptor ADP-05

    Port 1

    Port 2 PC USB Port DB9 Male

    Start Toolbox. Ensure Toolbox is using the correct PC communications port (usually COM1). The COM port can be changed from the Toolbox menu - Configuration, PC Setup. You can then automatically detect the address and baudrate of the RTU using View, Auto Detect.

    Ensure the RTU is running the latest firmware and driver for DNP3 using View, RTU Status. The document Protocols.PDF (available from www.rtunet.com/support) details the firmware and driver versions required for each type of RTU.

    Load the DNP3 project using File, Open a New or Existing Project. Select DNP3.PRJ (project is available from www.rtunet.com/support).

    A project window will appear. Double click on Site 001: Main. This will open the RTU configuration file Main.SDB. If you are not using a CP-10/11 then you will need to change the processor type using Configuration, System Parameters. Set RTU Type to match the RTU you are using (as labelled on the front of the RTU module). Click OK and then save the RTU configuration (File, Save).

    Download the configuration file into the RTU using Configuration, Download RTU Configuration. After the download, check that Toolbox can still communicate with the RTU using View, Auto Detect (the configuration sets RTU port 1 to 9600 baud). You do not need to download ladder logic at this stage.

    Download the latest DNP3 driver (as determined in step 4 above) using Utilities, Advanced, Download Firmware Driver. Choose to download to SRAM for a PC-1, CP-1 or LP-1 or download to Flash RAM for a CP-10/11. If you download the driver to flash RAM you will need to download the RTU configuration file again (repeat the above step). For all types of RTUs, when downloading the driver, use an Address Offset of 0 kB. If you are using a CP-21 RTU then you can skip this step as the DNP3 driver is included in firmware. If the DNP3 driver has been downloaded successfully, DNP3 will appear in the Firmware Drivers Included section of the RTU Status (View, RTU Status). For more information about DNP3 drivers please see the topic Configuration Details, Downloading Drivers.

    The default configuration (MAIN.SDB) sets up the DNP3 protocol on port 2. Port 2 is configured as a 9600 baud serial port. If you would like to change any DNP3 port settings please see the topic Configuration Details, DNP3 Port Setup.

    The number and type of DNP3 objects can now be configured by editing the MAIN.LL ladder logic. Please follow the comments in the ladder logic. For definitions of any of the function block parameters please see the chapter DNP3 Function Blocks. Once you have configured the DNP3 objects, the ladder can now be compiled and downloaded into the RTU using Ladder, Compile. Once the ladder logic has been compiled, click the Download button at the bottom of the compile window or select Ladder, Download to RTU.

    The RTU is now configured and ready for DNP3 communications. The DNP3 settings and data values can be viewed by using View, Freeform Display. Select the

    DNP3Freeform.TXT file (included with the DNP3 project files). This will allow you to view the various objects and registers that are now configured in the RTU.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 6 -

    To add exception reporting or to poll data from other DNP3 RTUs, please see the chapter Collecting And Moving DNP3 Data. To read DNP3 data out of the RTU using SCADA software, please see the chapter - SCADA Software And Kingfisher DNP3.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 7 -

    Configuration Details

    Downloading Drivers DNP3 is supported by Kingfisher RTUs by loading the DNP3 Master driver or the DNP3 Slave driver. The DNP3 slave driver was designed for PC-1 and CP-1 RTUs as it is smaller in size and can fit in the flash RAM of these RTUs. The master driver can also be used in PC-1 and CP-1 RTUs but it must be loaded in SRAM. An LP-1 can only use the slave driver and it must be loaded in SRAM.

    The DNP3 slave driver has been made smaller than the master driver by removing some functionality. The DNP3 slave driver cannot:

    Poll other RTUs Store data from other RTUs (Data Concentration)

    The DNP3 slave driver can: Respond to requests for data (when polled by a master) Generate exception reports and send new data Relay messages to other RTUs

    Before a driver can be downloaded to SRAM, memory for the driver(s) must first be allocated in the RTU configuration (this is already allocated in MAIN.SDB) and the configuration file downloaded into the RTU.

    To setup an RTU with drivers in both flash RAM and SRAM, please follow these steps:

    Download drivers to flash RAM (if there is enough room). The RTU will be cold-started after the download to flash RAM is completed.

    Download an RTU configuration that allocates enough memory for firmware drivers. Download the additional driver(s) to SRAM.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 8 -

    DNP3 Port Setup To use DNP3, an RTU must have a port configured with one of the DNP3 protocols. The port is configured using the Toolbox menu Configuration, Port List. After clicking a port number, the window shown below will be displayed.

    DNP3 protocol options:

    DNP-3: DNP3 industry standard protocol. Responds to poll requests for local and network data* and relays# messages to RTUs configured in the Network List.

    DNP-3 Limited Relay: Same as 'DNP-3' except that the RTU will only relay DNP3 messages if

    the DNP3 message is received on the port that is configured in the network list for the Initiating RTU. This option is useful when there are redundant comms paths. Messages that arrive on the 'secondary' port are not relayed while messages received on the 'primary' port are relayed.

    DNP-3 Local: Same as 'DNP-3' except that the RTU will only report local data points and not network data (data concentrated points).

    DNP-3 No Relay: Same as 'DNP-3' except that messages will NOT be relayed to RTUs configured in the Network List (ie. only messages destined for this RTU will be allowed).

    DNP-3 SCADA: (Was DNP3 Master) A data concentrator RTU will respond with the data for each

    remote RTU it receives a poll request for. If the comms fail bit of that remote is set in the general RTU status flags register (#R131), it will stop responding for that remote.

    * All of the above DNP3 options are supported by the DNP3 Master driver. The DNP3 Slave driver does not support polling of other DNP3 RTUs and will not respond to poll requests for network data.

    # Store and Forward RTUs store incoming messages and then relay the complete message to another RTU. With Series II messages this can be done using the one radio. However, DNP3 uses much longer messages composed of 292-byte frames. In order to speed up communications, as each frame is received it is relayed to the destination RTU without waiting until the complete message is received. Due to this process, when using radios and private lines, the message must be relayed out a different port to the receiving port as the message is still being received (as illustrated below). Ethernet allows for simultaneous receiving and transmitting and so a second port is not required.

    RTU2 Port2 Port 3 DNP3 DNP3 Radio 1 Radio 2

    Message from RTU1 Message to RTU3

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 9 -

    DNP3 Function Blocks

    Creating DNP3 Data Changing data from Kingfisher format to DNP3 format has been implemented in Kingfisher RTUs by using ladder logic function blocks (freely available from www.rtunet.com/support). The RTU has its own ladder logic file and simply sends DNP3 information to the function blocks that are supplied in the file DNP3.LL. The object data is then automatically formatted and ready for use with the DNP3 protocol.

    Each RTU (eg Main.SDB) has its own ladder logic file (MAIN.LL) that is used to call function blocks from the DNP3 ladder logic file (DNP3.LL). The two ladder logic files are attached to an RTU site by using a Toolbox project (eg DNP3.PRJ).

    The function blocks that are contained in DNP3.LL are:

    DNP3_SETUP Used to define the number and type of DNP3 objects. Must be called before any other DNP3 function blocks.

    DNP3_DI Call once for each Digital Input object DNP3_DO Call once for each Digital Output object DNP3_AI16 Call once for each 16-bit Analog Input object DNP3_CT32 Call once for each 32-bit Counter object DNP3_FLOAT Call once for each Floating Point Input object DNP3_AO16 Call once for each 16-bit-Analog Output object DNP3_AO32 Call once for each 32-bit Analog Output object DNP3_AOFL Call once for each Floating Point Output object

    Reserved Registers Some local registers are used by the DNP3 function blocks and should not be used for anything else as listed below.

    Register Description #R1 Reserved #R2 Data online flags #R3-128 Spare #R129-192 DNP3 configuration block #R204-214 DNP3 temporary storage #R215-1024 Spare #R1025-1920 DNP3 data storage #R1921-2048 Spare

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 10 -

    DNP3 Setup Function (DNP3_SETUP) Sets up the DNP3 address (can be different to the RTU address), the number of objects in the RTU, and sets the Restart bit of the DNP3 Internal Indication Register. DNP3_SETUP must be called before calling any other DNP3 functions.

    Example call to the DNP3_SETUP function block

    RTU DNP3 No: DNP3 address of the RTU. If this is the same as the RTU address then you can use

    #YADDRESS (the RTU address as configured in MAIN.SDB) or enter the new DNP3 address (1-65535).

    No of DI: (0-128*) Number of Digital Input objects.

    No of DO: (0-64*) Number of Digital Output objects.

    No of AI16: (0-64*) Number of 16-bit Analog Input objects.

    No of Count32: (0-32*) Number of 32-bit Counter objects.

    No of AO16: (0-64*) Number of 16-bit Analog Output objects.

    No of AI32: (0-16*) Number of 32-bit Analog Input objects.

    No of AO32: (0-16*) Number of 32-bit Analog Output objects.

    No of Float In: (0-16*) Number of Float Input objects.

    No of Float Out: (0-16*) Number of Float output objects.

    * These limits are set in the DNP3_SETUP function block. If the any of the limits need to be increased then the DNP3_SETUP function block will need to be updated. Please see the topic DNP3 Objects, DNP3 Configuration Block, DNP3 Setup Function Block Details.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 11 -

    Digital Input Function (DNP3_DI) This function must be called once from the main ladder for each Digital Input object to be used from the RTU. Objects can be either real inputs or derived points.

    DI Object No: (1-128*) The object number assigned to the DI Bit Source below.

    DI Bit Source: (bit) The source of the data to be used for the digital input object. Any hardware (#DI),

    local register (#R), network register (#N) or system register (#Y) bit can be used.

    DI Online: (0, 1 or bit) For a digital input channel (#DIx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    DI Class: (0-3) Used to set the class of any event data. Eg. If DI Class is set to 1, when the digital

    input changes status, a class 1 time stamped event log will be generated. If no event logs are required, 0 can be entered to disable logging on change. If 0 is used, the DNP3 object will only be available as Class 0 static data.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 12 -

    Digital Output Function (DNP3_DO) This function must be called once from the main ladder for each Digital Output object to be used in the RTU. Objects can be either real outputs or register bits.

    DO Object No: (1-64*) The object number assigned to the DO Bit Output below.

    DO Bit Output: (bit) The destination of the digital output object. Any hardware (#DO) or register (#R,

    #NR) bit can be used.

    DO Online: (0, 1 or bit) For a digital output channel (#DOx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    DO Type Trip ?, DO Type Close ?: (0 or 1) If DO Type Trip and DO Type Close are both 0 the

    digital output is assumed to be normal and will only accept latch or pulse commands. The output can be configured as a trip contact by setting DO Type Trip to 1 or as a close contact by setting DO Type Close to 1. If either the close or trip bit is set, the RTU will only accept trip or close commands for that DO object.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 13 -

    16-Bit Analog Input Function (DNP3_AI16) This function must be called once from the main ladder for each 16 bit Analog Input object to be used in the RTU. Objects can be either real inputs or registers.

    AI Object No: (1-64*) The object number assigned to the DO Bit Output below.

    AI Source: (16-bit register) The source of the data to be used for the analog input object. Any

    hardware (#DI), local register (#R), network register (#N) or system register (#Y) can be used.

    AI Online: (0, 1 or bit) For an analog input channel (#AIx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    AI Class: (0-3) Used to set the class of any event data. Eg. If AI Class is set to 2, when the analog

    input changes by more than AI Log Change %, a class 2 time stamped event log will be generated. If no event logs are required, 0 can be entered to disable logging on significant change. If 0 is used, the DNP3 object will only be available as Class 0 static data.

    AI Log Change %: (0-100) The percentage change (positive or negative) of the AI Source that will

    cause an event log to be generated. Percentages are calculated over the full scale analog input range of 0-32760 and are counted from the last logged value.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 14 -

    32-Bit Counter Function (DNP3_CT32) This function must be called once from the main ladder for each 32 bit Counter object to be used in the RTU. The function will count rising (0 to 1) or falling (1 to 0) edge changes of a real input or any other bit.

    CT Object No: (1-32*) The object number assigned to the CT Bit Source below.

    CT Bit Source: (bit) The source of the data to be used for the 32-bit counter object. Any hardware (#D), local register (#R), network register (#N) or system register (#Y) bit can be used.

    CT Online: (0, 1 or bit) When counting digital input changes (CT Bit Source=#DIx.y), a bit can be used

    to indicate if the I/O module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    Count Rise/Fall: (0 or 1) 1=count rising edge, 0=count falling edge of pulse.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 15 -

    Floating Point Input Function (DNP3_FLOAT) This function must be called once from the main ladder for each floating point input object to be used in the RTU.

    Float Object No: (1-16*) The object number assigned to the Float Source below.

    Float Source: (#F) The source of the floating point input data.

    Float Online: (0, 1 or bit) Use 1 to set always online or use 0 to set always offline.

    Float Class: (0-3) Used to set the class of any event data. Eg. If Float Class is set to 3, when the float

    changes by more than Log Change, a class 3 time stamped event log will be generated. If no event logs are required, 0 can be entered to disable logging on significant change. If 0 is used, the DNP3 object will only be available as Class 0 static data.

    Log Change: (0.0-Float Limit) When the float changes (positive or negative) by this amount, an event log will be generated. Change is counted from the last logged value.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 16 -

    16-Bit Analog Output Function (DNP3_AO16) This function must be called once from the main ladder for each 16-bit analog output object to be used in the RTU.

    AO Object No: (1-16*) The object number assigned to the AO Output below.

    AO Output: (#AO, #R or 16-bit register) The destination of the analog output object.

    AO Online: (0, 1 or bit) For an analog output channel (#AOx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 17 -

    32-Bit Analog Output Function (DNP3_AO32) This function must be called once from the main ladder for each 32-bit analog output object to be used in the RTU.

    AO Object No: (1-16*) The object number assigned to the AO Output below.

    AO Output: (#L) The destination of the analog output object.

    AO Online: (0, 1 or bit) For an analog output channel (#AOx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 18 -

    Floating Point Output Function (DNP3_AOFL) This function must be called once from the main ladder for each floating point output object to be used in the RTU.

    AO Object No: (1-16*) The object number assigned to the floating point output below.

    AO Output: (#F) The destination of the floating point output object.

    AO Online: (0, 1 or bit) For an analog output channel (#AOx.y), a bit can be used to indicate if the I/O

    module is present on the backplane. Use 1 to set always online or use 0 to set always offline.

    *Upper limit is configured in the DNP_SETUP function.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 19 -

    DNP3 Objects DNP3 Configuration Block Kingfisher RTUs use a block of 64 local registers to define the quantity and location of the DNP3 data objects. The beginning of the block of local registers used for DNP3 is defined in the System Parameters of the RTU configuration as the DNP Base Register. The default setting is #R129 *.

    Each DNP3 digital input object uses one local register, each digital output object and analog IO objects use two local registers (one register for the data and one register for the data flags) and each 32-bit floating point or long variable objects use 4 local registers.

    The Kingfisher DNP3 driver uses the configuration block to find the static DNP3 data and to translate the Kingfisher event logs into DNP3 change events. The various status registers are defined in the following sections.

    * The DNP Base Register (register where this DNP3 Configuration block starts) must be set to start at a 64-register boundary. The DNP3 configuration block can therefore start at #1, #R65, #R129, #R193 etc.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 20 -

    Reg. LP1 Reg.

    Title Description Default *

    R129 DNP3 RTU address RTU address for DNP3 messages (1-65535) R130 Internal indication register RTU message indicator bits R131 General RTU status flags Restart/communication lost flags R132 Digital input count Number of digital input objects 128 R133 Digital input data Start address of the digital input object (#R)1025 R134 digital output count Number of digital output objects 64 R135 digital output data Start address of the digital output object (#R)1153 R136 16 bit counter count Number of 16 bit counter objects R137 16 bit counter data Start address of the 16-bit counter objects R138 32 bit counter count Number of 32-bit counter objects R139 32 bit counter data Start address of the 32-bit counter objects R140 16 bit analog input count Number of 16 bit analog input objects 64 R141 16 bit analog input data Start of the 16 bit analog input objects (#R)1281 R142 32 bit analog input count Number of 32 bit analog input objects (max. 50) 32 R143 32 bit analog input data Start of the 32 bit analog input objects (#R)1409 R144 16 bit analog output count Number of 16 bit analog output objects 64 R145 16 bit analog output data Start of the 16 bit analog output objects (#R)1537 R146 32 bit analog output count Number of 32 bit analog output objects 32 R147 32 bit analog output data Start of the 32 bit analog output objects (#R)1665 R148 Floating point input count Number of floating point input objects 32 R149 Floating point input data Start of the floating point input objects (#R)1793 R150 Floating point output count Number of floating point output objects 32 R151 Floating point output data Start of the floating point output objects (#R)1857 R152 Object variation selection Selection bits for default object variation 0 R153 Maximum fragment size Maximum message fragment size transmitted 0 R154 Select-Operate Timeout Maximum allowable timeout between Select-and

    Operate message.

    R155 L155 Class 1 pointer Event log pointer for class 1 data (read only) R156 R163 Class 1 wrap count Event log wrap counter for class 1 data (read only) R157 L157 Class 2 pointer Event log pointer for class 2 data (read only) R158 R164 Class 2 wrap count Event log wrap counter for class 2 data (read only) R159 L159 Class 3 pointer Event log pointer for class 3 data (read only) R160 R165 Class 3 wrap count Event log wrap counter for class 3 data (read only) R161 L161 History pointer (special) Event log pointer for history data (read only) R162 R166 History wrap count (special) Event log wrap counter for history data (read only)

    L167 Class 1 pointer 2 Event log pointer for class 1 data (2nd master) L169 Class 2 pointer 2 Event log pointer for class 2 data (2nd master) L171 Class 3 pointer 2 Event log pointer for class 3 data (2nd master) L173 History pointer 2 (special) Event log pointer for history data (2nd master) R175 Class 1 wrap count 2 Event log wrap counter for class 1 data (2nd master) R176 Class 2 wrap count 2 Event log wrap counter for class 2 data (2nd master) R177 Class 3 wrap count 2 Event log wrap counter for class 3 data (2nd master) R178 History wrap count 2 (special) Event log wrap counter for history data (2nd master) R179 16 bit frozen counter data Start address of the 16-bit frozen counter objects R180 32 bit frozen counter data Start address of the 32-bit frozen counter objects R181 Second master address of the second DNP3 master (if used) R182 Internal indication register 2 RTU message indicator bits (2nd master)

    R183-R192 Reserved

    * Default settings as defined in the DNP3_SETUP function block below.

    Note 1: 32-bit data must start at an odd numbered register. Note 2: The Class pointers and wrap counts are internal pointers to indicate which events have been reported to

    the master. These fields should not be written to.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 21 -

    DNP3_SETUP Function Block Details The DNP3_SETUP function uses the following registers to store each type of object by default. These areas can be modified/moved in this function block if more objects of any type are required in the future.

    Object Type Starting Register End Register

    Notes

    Digital Input #R1025 #R1152 Can store up to 128 DI objects Digital Output #R1153 #R1280 Can store up to 64 DO objects 16-bit Analog Input #R1281 #R1408 Can store up to 64 16-bit AI objects 32-bit Counter #R1409 #R1536 Can store up to 32 32-bit Counter objects 16-bit Analog Output #R1537 #R1664 Can store up to 64 16-bit AO objects 32-bit Analog Input #R1665 #R1728 Can store up to 16 32-bit AI objects 32-bit Analog Output #R1729 #R1792 Can store up to 16 32-bit AO objects Floating Point Input #R1793 #R1856 Can store up to 16 Floating Point In objects Floating Point Output #R1857 #R1920 Can store up to 16 Floating Point Out

    objects

    DNP3_SETUP Parameter

    Description Notes

    %1 Integer [DNP3] RTU Number Goes into #R129 %2 Integer No of DNP DI points Goes into #R132 %3 Integer No of DNP DO points Goes into #R134 %4 Integer No of DNP 16-Bit AI points Goes into #R140 %5 Integer No of DNP 32-Bit Counter points Goes into #R138 %6 Integer No of DNP 16-Bit AO points Goes into #R144 %7 Integer No of DNP 32-Bit AI points Goes into #R142 %8 Integer No of DNP 32-Bit AO points Goes into #R146 %9 Integer No of DNP Floating Point Input points Goes into #R148 %10 Integer No of DNP Floating Point Output points Goes into #R150

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 22 -

    Internal Indication Register (#R130) The internal indication register contains information bits that are returned in every DNP poll reply or exception report.

    Bit Description Note 1 Global (all stations) message received Controlled by DNP3 driver 2 Class 1 data available Can be set by ladder, reset by driver 3 Class 2 data available Can be set by ladder, reset by driver 4 Class 3 data available Can be set by ladder, reset by driver 5 Time synchronisation required Can be controlled by ladder 6 All digital outputs in local state Can be controlled by ladder 7 Device trouble Can be controlled by ladder 8 Device restart Can be controlled by ladder 9 Function code not implemented Controlled by DNP3 driver 10 Requested object unknown Controlled by DNP3 driver 11 Parameters invalid or out of range Controlled by DNP3 driver 12 Event buffers have overflowed Controlled by DNP3 driver 13 Request understood but already executing Controlled by DNP3 driver 14 Configuration corrupt Controlled by DNP3 driver 15 Reserved Always 0 16 Reserved Always 0

    Bits 2, 3, 4: Set ON when the RTU ladder generates an event log of that particular class. The bits are set to indicate to the master station that event data of the particular class is available in the RTU. The master can then use this information to intelligently poll the RTU only when it has data available. Once all points of the class have been read by the master, the bit will be reset. Bit 5: Set ON when time synchronisation is required from the master. The master synchronises the time by writing the time and date to the outstation. The bit is cleared when the master sets the time. Bit 6:

    Set ON when some or all of the outstation's digital output points are in local mode. That is, the outstations digital outputs are NOT accessible through the DNP3 protocol. Bit 7: Set ON when an abnormal condition exists in the Outstation. This should only be used when a state cannot be described by a combination of one or more of the Internal Indication Register bits. Bit 8:

    Set ON when the ladder logic restarts (eg. after a warm start). It is cleared by the master station. Bit 9:

    Set ON if the requested function code is not implemented. Bit 10: Set ON If the requested object is not found by the driver. Bit 11:

    Set ON if a requested parameter is invalid or out of range. Bit 12:

    If the Log Index Pointer is invalid, the oldest event log in the buffer is pointed to and then this bit is set ON. Bit 13: Not currently implemented. Bit 14:

    Set ON when ladder logic or IO scanning is disabled.

    General RTU Status Flags (#R131) These flags apply to every data object in the RTU.

    Bit Description 1 always 0 2 RTU restarted. 3 communication lost 4-8 always 0 9 disable exception reporting class 1 10 disable exception reporting class 2 11 disable exception reporting class 3 12-16 Reserved

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 23 -

    Object Variation Selection (#R152) All objects will be by default returned with status flags (unless specifically asked not to). The first 8 bits in this register allow for the default to be overwritten. Bit 8 and 9 configure class 0,1,2,and 3 data.

    Bit Description 1 When set, all digital input objects are by default returned without flags. 2 When set, all digital output objects are by default returned without flags. 3 When set, 16-bit counter objects are by default returned without flags. 4 When set, 32-bit counter objects are by default returned without flags. 5 When set, 16-bit analog input objects are by default returned without flags. 6 When set, 32-bit analog input objects are by default returned without flags. 7 When set, analog floating-point objects are by default returned as 16-bit analog

    objects. 8 When set, analog floating point objects are by default returned as 32-bit analog

    objects (unless bit 7 is set). 9 When set, frozen counter data is included in class 0. 10 When set, all events are returned without time data. 11 When set, no digital outputs are included in class 0 message. 12 When set, no analog outputs are included in class 0 message. 13 When set, support for sending only last DI, AI and Counter event is enabled. 14 Reserved 15 Reserved 16 Reserved

    Maximum Fragment Size (#R153) The maximum fragment size returned is by default 2048 bytes. This size is configurable from 255 to 2048 bytes, by entering the required maximum size in this field. If a value outside the 255 to 2048 range is entered, the RTU will use the default value. Reducing the fragment size is particular useful in networks which have a high bit error rate.

    Select-Operate Timeout (#R154) This is the maximum allowable timeout between Select-and Operate message received from the DNP3 master.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 24 -

    DNP3 Digital Inputs Each DNP3 digital input is stored as a 16-bit register as detailed below.

    Bit Description 1 On-line (point has been read successfully) 2 Restart 3 Communication lost 4 Remote forced bit 5 Local forced bit 6 Chatter filter 7 =0 reserved 8 Digital input state 9 Only last event generated is sent in class 1,2,or 3 message

    (when bit 13 of Object Variation Selection register is set) 10-16 Reserved

    DNP3_DI Function Block When using the DNP3_DI function block, Digital Input objects are stored in the RTU using the digital input start register defined in the DNP3_SETUP function block. The DI Object number is used to determine where to store the data object. Eg. DI object 1 is stored in register #R1025, DI object 2 is stored in #R1026 and DI object 3 is stored in #R1027 etc. The digital input source bit is copied into bit 8 of the DI object register.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 25 -

    DNP3 Analog Inputs There are 3 types of analog outputs: 16-bit, 32-bit and floating point objects. The 16-bit objects number from 1 to 150, the 32-bit objects number from 201 to 250 and the floating point objects number from 151 to 200.

    Each DNP3 16-bit analog input is stored as 2 local registers as detailed below.

    Register Bit Description 1 1 On-line (analog input channel is available) 2 Field Device Restarted 3 Communication lost 4 Remotely Forced 5 Locally Forced 6 Over-range 7 Reference not stable 8 =0 (reserved) 9 Only last event generated is sent in class 1,2,or 3 message

    (when bit 13 of Object Variation Selection register is set) 10-16 Reserved 2 1-16 16-bit analog input value

    Each DNP3 32-bit analog input is stored as 4 local registers as detailed below.

    Register Description 1 Status (same as 16-bit analog input object) 2 Reserved 3-4 32-bit analog output value

    Each DNP3 32-bit floating point input is stored as 4 local registers as detailed below.

    Register Description 1 Status (same as 16-bit analog input object) 2 Reserved 3-4 Floating point analog output value

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 26 -

    DNP3 Digital Outputs Each DNP3 digital output is stored as 2 local registers as detailed below.

    Register Bit Description 1 1 On-line (digital output channel is available) 2 Field device restarted 3 Communication lost 4 Remotely forced 5 Locally forced 6 =0 (reserved) 7 =0 (reserved) 8 Digital output state 9 Disable direct operate - no acknowledge function 10 Disable direct operate function 11 Disable select-operate function 12 Point configured as close/lower relay output 13 Point configured as trip/raise relay output 14 Select (before Operate) message received 15 Pulse Type: 0 = pulse off, 1 = pulse on (not

    applicable if Pulse Time Period is zero) 16 New value received (set by driver) 2 1-16 Pulse time period in hundredths of a second

    DNP3 protocol supports both latched and pulsed outputs. The Latch command will set the output ON or OFF. The Pulse command from the master station will also send an on/off delay time in the second register. The ladder needs to be set up to use this delay time to set the digital output duration. If bit 16 is set and the time period (register 2) is not zero a pulse on or pulse off command has been received. Pulse on or off is indicated by bit 15. The New Value Received bit (bit 16) must be reset by ladder logic once the output has been acted upon.

    DNP3 recognises 3 different set output commands: Select-Operate, Direct Operate and Direct Operate No Acknowledgment. By default all three commands can be used to change an output object. To disable any command for an output, set bit 9, 10 or 11 respectively for Direct Operate No Acknowledgment, Direct Operate and Select-Operate

    Relay Close/Lower Trip/Raise Function

    A normal Digital Output point will only accept latch on/off and pulse on/off commands. It will not accept trip or close commands. To make a digital output accept trip or close command, the digital output must be configured as a close contact (by setting bit 12 on first scan) or as a trip contact (by setting bit 13 on first scan). If either the close or trip bit is set by ladder, the DNP3 driver will only accept trip or close commands for that DO object. All other bits will work as normal for this digital output.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 27 -

    DNP3 Analog Outputs There are 3 types of analog outputs: 16-bit, 32-bit and floating point objects. The 16-bit objects number from 1 to 150, the 32-bit objects number from 201 to 250 and the floating point objects number from 151 to 200.

    Each DNP3 16-bit analog output is stored as 2 local registers as detailed below.

    Register Bit Description 1 1 On-line (analog output channel is available) 2 Field device restarted 3 Communication lost 4 Remotely forced 5 Locally forced 6 =0 (reserved) 7 =0 (reserved) 8 Reserved 9 Disable direct operate - no acknowledge function 10 Disable direct operate function 11 Disable select-operate function 12-13 Reserved 14 Select (before Operate) message received 15 Reserved 16 New value received (set by driver) 2 1-16 Analog output value

    Each DNP3 32-bit analog output is stored as 4 local registers as detailed below.

    Register Description 1 Status (same as 16-bit analog output object) 2 Reserved 3-4 32-bit analog output value

    Each DNP3 32-bit floating point output is stored as 4 local registers as detailed below.

    Register Description 1 Status (same as 16-bit analog output object) 2 Reserved 3-4 Floating point analog output value

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 28 -

    DNP3 Counters There are 2 types of counters: 16-bit and 32-bit objects. The 16-bit objects number from 1 to 200 and the 32-bit objects number from 201 to 250.

    Each DNP3 16-bit counter is stored as 2 local registers as detailed below.

    Register Bit Description 1 1 On-line (counter input channel is available) 2 Field Device Restarted 3 Communication lost 4 Remotely Forced 5 Locally Forced 6 Over-range or roll-over 7 =0 (reserved) 8 =0 (reserved) 9 Only last event generated is sent in class 1,2,or 3 message

    (when bit 13 of Object Variation Selection register is set) 10-16 Reserved 2 1-16 16-bit counter value

    Each DNP3 32-bit counter is stored as 4 local registers as detailed below.

    Register Description 1 Status(same as 16-bit counter object) 2 Reserved 3-4 32-bit counter value

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 29 -

    DNP3 Frozen Counters There are 2 types of frozen counters: 16-bit and 32-bit objects. The 16-bit objects number from 1 to 200 and the 32-bit objects number from 201 to 250.

    The format of the frozen counters is the same as that of the counters and there are always the same number of frozen counters as there are counters of each type.

    If a freeze command is received for a counter, the counter data is copied into the corresponding frozen counter. If a freeze and clear command is received, the counter data is copied into the corresponding frozen counter and the counter value is reset to 0.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 30 -

    Analog And Digital Events (Time Tagged Data) When a digital input changes state or an analog input changes significantly (eg. changes by 5%), a time-stamped event log can be generated. Event Logs can also be generated at timed intervals or when other events occur. For example, the tank level is logged when a pump starts to run. In DNP3 these logs are called events.

    DNP3 uses 3 data classes to denote the level of importance of each event. In most cases the data classes can be defined specific to the project. Generally, the three classes are defined as follows:

    Class Data Importance Description 1 High Critical alarms. Generate on change and exception

    report to the master 2 Medium Eg. Hourly data. Only exception report if too many

    events. Otherwise wait for master to poll. 3 Low Eg. Daily or longer totals. Generate periodically. Only

    polled by master.

    The data class allows DNP3 to know what data to exception report to the master or what data to poll from an outstation RTU.

    When generating an event log in ladder logic, the Priority field of the Event Log block is used to set the data class.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 31 -

    DNP3 Digital Events The example below shows how an event log is generated for each change of DI1, DI2 and DI3. Different classes are assigned to each digital input event by using the Priority field of the Event Log block as shown below. As data for each class becomes available, the appropriate bit is set in the Internal Indication Register (#R130). The DNP3 driver then resets the bit after the data has been retrieved.

    Log DI changes of state DNP3 DI1 DI1Data+Stat #R1025 Type 1 [CHANGE](Event Log) #R1025 Class 1 Data #R130.2 (if DI1 is class 1 data) (S) ExRepClass1 #R3.2 (S) DNP3 DI2 DI2Data+Stat #R1026 Type 1 [CHANGE](Event Log) #R1026 Class 2 Data #R130.3 (if DI2 is class 2 data) (S) DNP3 DI3 DI3Data+Stat #R1027 Type 1 [CHANGE](Event Log) #R1027 Class 3 Data #R130.4 (if DI3 is class 3 data) (S)

    Event Log block used to log DI2 (#R1026) and set class 2 data (Priority 2)

    Note: in large systems a function block (using indirect addressing to allow loop style processing) would be used to manage change detection for all digital inputs.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 32 -

    DNP3 Analog Events The example below shows how an event log is generated each time the analog input changes significantly (using a hard coded constant of 1638 = 5% of the analog raw range 0-32760). Analog events can also be generated periodically eg. daily, weekly or monthly. Periodic events are typically denoted as class 2 or class 3 data. As data for each class becomes available, the appropriate bit is set in the Internal Indication Register (#R130) using ladder logic. The DNP3 driver then resets the bit after the data has been retrieved.

    When creating analog event data the status register must be logged after the data register. If the status register is logged before the data value (or not logged), the status register is ignored and a default value of 1 is used in the DNP3 message indicating that the point is on-line. This only affects event data (class 1,2 or 3) and not static data (class 0).

    Exception report unsolicited analog data on 5% sig. change DoEvery 0.1s AI1>HiLimit AI1 Data #YTICK.TENTH #R1282 Type 1 [>](Event Log) #R101 #R1282 AI1

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 33 -

    Collecting And Moving DNP3 Data

    Collecting DNP3 Data A Kingfisher DNP3 master RTU allows collecting (data concentration) of outstation RTU data. Data from outstation RTUs is grouped in the master RTU as an extension of its own data, thus allowing the host to read outstation RTU data objects from the master RTUs network registers and event log as illustrated below.

    Outstation RTUs

    RTU Network Images

    251-500

    Objects

    751-1000

    Objects

    RTU1

    RTU2

    RTU3

    RTU250

    501-750

    Objects

    62501-62750

    Objects

    Event Logs

    Objects

    1-250

    Event Logs

    RTU1 Objects

    1-250

    Event Logs

    RTU2 Objects

    1-250

    Event Logs

    RTU3 Objects

    1-250

    Event Logs

    RTU250

    Static Data

    Note: Changed data is used to update static data images

    Changed Data

    Static Data

    Objects 1-62750

    RTU201 Static Data

    Seq. Of Events

    Trends

    Alarm Logs

    DNP3 Host (eg Citect)

    Local RTU Static Data Objects

    1-250

    Master RTU (Data Concentrator)

    ...

    Changed Data

    Static Data

    ...

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 34 -

    A master RTU is able to concentrate the data from 250 outstation RTUs. Each of the 250 outstation RTUs may have up to 250 binary input, 250 binary output, 250 analog input and 250 analog output objects. The 250 analog input and output objects are subdivided into 16-bit, 32-bit and floating-point objects. The 16-bit analogs are numbered from 1 to 150, the floating-point objects are 151 to 200 and the 32-bit analog objects are 201-250.

    Local Data The master RTU uses the same DNP3 configuration block as a DNP3 outstation (slave). This DNP3 configuration structure defines the RTU number, the types and location of all objects. The local data is referenced as the first 250 objects of each object type.

    Network Static data The master RTU stores the static (class 0) DNP3 data received from outstations in the network registers for that outstation. The objects will be stored in the network registers corresponding to the master RTUs DNP3 configuration block.

    Each outstation RTU has a DNP3 configuration block (by default these are stored from local register #R129 in the outstation). When the outstation RTU replies to a Class 0 from the master RTU, the master RTU re-creates the configuration block for that outstation RTU in its network registers. The network registers that are used to store the outstation DNP3 configuration block are determined by the DNP3 base register as configured in the master RTU. For example, if the masters DNP3 configuration block is located from register #R129, the configuration block for RTU5 will be stored in the network registers for RTU5 starting at #NR5.129. The master RTU stores the number of each object type, the internal indication register and the start index of each object type. The starting registers indicating where the objects are stored is irrelevant for each outstation as the master RTU uses its own DNP3 configuration block to determine the starting network register to use.

    Network Event Data All DNP3 events received from DNP3 outstations are stored as event logs in the master RTU. All events received unsolicited are stored as class 1 data. Polled event data are stored as the same class as was polled for. The class 1,2 or 3 available bits will be set automatically. Static data images of an outstation will be updated with newly received class 1,2 or 3 event data.

    Status Flags The class 1,2 or 3 available bits will be set automatically when new event data is received from an outstation. When local event data is created, the class available bit needs to be set by the ladder logic (same as outstation RTUs).

    Multiple DNP3 master RTUs The Kingfisher RTU supports up to two DNP3 master RTUs. The DNP3 address of the second master must be configured in the DNP3 configuration block. The secondary master uses its own Class 1, 2 and 3 pointers and has its own internal indication register. These extra registers are included in the DNP3 configuration block and are only used when a second master has been configured. If a DNP3 slave needs to report to two DNP3 masters, it needs to set indication bits in both internal indication registers (#R130 and #R182) and it will need to send each exception report twice - once to each master.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 35 -

    Polling A DNP3 Outstation RTU A Kingfisher RTU can poll an outstation RTU using the RX-DNP3 ladder function. The format of the RX-DNP3 function is detailed below. Note: before a DNP3 RTU can be polled, its DNP3 address and communication settings must first be configured in the local RTU's Network List.

    RX-DNP3

    RTU number: (0-65535) The DNP3 address of the outstation RTU. When communicating with DNP3

    address 0 or 250 to 65535, the network list settings for RTU address 251 are used.

    Data: The class of data to poll. Class 0, Class 1, Class 2, Class 3 or MITS History (Special function for MITS ITN data format)

    Status Register: Blank or local register (#Rx). If a local register is specified, bit 1 is set ON as long as the function is active. Bit 2 is set ON if the message has failed.

    Max. Event Logs: (0=unlimited or 1-65535) The maximum number of event logs to poll in a single RX

    DNP3 message. Note: when polling class 0 data, zero must be entered for Max. Event Logs.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 36 -

    Exception Reporting DNP3 Data Important data can be sent to the master RTU without having to wait for the master to poll by using the ER-DNP3 block. This block allows the class of data to be specified so that only selected data is exception reported. Note: before data can be exception reported, the DNP3 address and communication settings for the master RTU must first be configured in the local RTU's Network List.

    ER-DNP3

    RTU number: (0-65535) The DNP3 address of the master RTU. When communicating with DNP3

    address 0 or 250 to 65535, the network list settings for RTU address 251 are used.

    Data: The class of data to exception report. Class 0, Class 1, Class 3 or MITS History (Special

    function for MITS ITN data format)

    Status Register: Blank or local register (#Rx). If a local register is specified, bit 1 is set ON as long as the function is active. Bit 2 is set ON if the message has failed.

    Max. Event Logs: (0=unlimited or 1-65535) The maximum number of event logs to send in a single ER-DNP3 message.

    The example below uses the flag set by the DNP3 events (as detailed in previous sections) to trigger an exception report of class 1 data when port 2 is not busy. Note: the block message bit is used to monitor if the port is still busy.

    Exception Report Data To Master RTU ExRepClass1 Port2 Busy ExReport #R3.2 #YPST2.9 RTU 1 /(ER_DNP3) ExRepClass1 #R3.2 (R)

    Notes: When the master polls class 0 data from an outstation RTU it obtains the DNP3 configuration

    block details and sets up a data table for each RTU. This allows the master to store the outstation data in the correct network registers. Before the master can accept an exception report, the outstation RTU must first be polled to allow this learning process to occur.

    It is not necessary to exception report class 0 data and class 1 data as the master RTU will update the class 0 data with the data values obtained in the class 1 event data.

    DNP3 messages initiated from ladder logic and DNP3 poll reply messages are managed in the RTU as block messages. A block message is a not single message string that is transmitted but a message that can generate multiple child messages. The Kingfisher DNP3 driver uses the block message system because one DNP3 message can exist out of multiple fragments or can be replied to with multiple fragments. A new DNP3 message should therefore only be initiated from the ladder logic when there are no other block messages pending on that port (#YPSTx.9).

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 37 -

    Setting DNP3 Outputs Using Ladder Logic

    TX DNP3

    Sends object data or a command to a remote RTU. Note: the address and communication settings to be used for the remote RTU must first be configured in the local RTU's network list.

    RTU address: (0-65535) The DNP3 address of the outstation RTU. When communicating with DNP3

    address 0 or 250 to 65535, the network list settings for RTU address 251 are used.

    Object Type:

    DNP3 DI to DO: the local DI object used to set the remote DO object. DNP3 DO, DNP3 AO16, DNP3 AO32, DNP3 Float: the local DO, AO or float object used to set the

    remote object. Time: synchronises the time in the remote RTU to the local RTU's time. Global Time: synchronises the time in all the RTUs that hear the message transmitted to the

    remote RTU. Freeze all counters: copies the 16 and 32 bit counter values to the frozen counter registers. Freeze & clear all counters: copies the 16 and 32 bit counter values to the frozen counter registers

    and then clears the 16 and 32 bit counters. Enable Unsolicited: uses bits 1 to 3 of the source register (defined below) to enable exception

    reporting of class 1 to 3 data respectively (sets the flags in #R131 - General RTU status flags). Bit ON = enable class, bit OFF = no action.

    Disable Unsolicited: uses bits 1 to 3 of the source register (defined below) to disable exception reporting of class 1 to 3 data respectively (sets the flags in #R131 - General RTU status flags). Bit ON = disable class, bit OFF = no action.

    Internal Indication Register: copies the value specified in the source register (defined below) to the internal indication register (#R130). Note: only bit 5 (time synchronisation) and bit 8 (device restart) can be set.

    Object start: (1-250) The first object to be targeted. Only used for the DNP3 DI, DO, AO and float

    objects detailed above.

    No. of objects: (1-250) Number of objects targeted. Only used for the DNP3 DI, DO, AO and float objects detailed above.

    Source Register: (#Rx) First register containing the data objects to be sent or a register containing control bits. If Object Type = DI, the source register must contain a DNP3 DI object. If Object Type = DO, the source register must contain a DNP3 DO object. If Object Type = AO16, the source register can be a DNP3 AI16 or a DNP3 AO16 object. If Object Type = AO32, the source register can be a DNP3 AI32 or a DNP3 AO32 object. If Object Type = Float, the source register can be a DNP3 FPI or a DNP3 FPO object. The Source Register field is not used if Object Type = Time, Global Time, Freeze all counters or Freeze & clear all counters.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 38 -

    Status Register: Blank or local register (#Rx). If a local register is specified, bit 1 is set ON as long as the function is active. Bit 2 is set ON if the message has failed. The top 8-bits of the Status register will be updated with the status register contained in the DNP3 reply message. The status register can have the following values: 0 Request accepted, initiated or queued 1 Request not accepted as the operate message was received after the arm timer timed out.

    The arm timer was started when the select operation for the same point was received. 2 No previous matching select message (ie. an operate message was sent to activate a control

    point that was not previously armed with the select message. 3 Request not accepted as there were formatting errors in the control request (either select,

    operate or direct operate) 4 Control operation not supported for this point. 5 Request not accepted, as the control queue is full or the point is ready active. 6 Request not accepted because of control hardware problems. 7 to 255 Undefined.

    DNP3 output commands selection DNP3 recognises 3 different set output commands: Select-Operate, Direct Operate and Direct Operate No Acknowledgment. The default command used is Direct Operate. To use the Select-Operate command the source register must specify a DNP3 DO or AO register and bit 10 of the status register of the first object must be set (= disable direct operate function). To use the Direct Operate No Acknowledgment command the source register must specify a DNP3 DO or AO register and, bit 10 and 11 of the status register of the first object must be both set (= disable direct operate and select-operate function)

    Relay Trip/Close contacts and pulse commands To initiate an output command to a Close/Lower contact, the source register must specify a DNP3 DO object and bit 12 of the status register must be set. To initiate an output command to a Trip/Raise contact, the source register must specify a DNP3 DO object and bit 13 of the status register must be set. To initiate a pulse on output command, the source register must specify a DNP3 DO object, bit 15 of the status register must be set and the pulse time register must specify the length of the pulse in milliseconds. To initiate a pulse off output command, the source register must specify a DNP3 DO object, bit 15 of the status register must be reset and the pulse time register must specify the length of the pulse in milliseconds.

    Targeting outstation outputs If the Kingfisher RTU is a DNP3 submaster, it can receive operate messages for digital and/or analog output objects located in the outstations. These objects are recognisable as such because their object number is above the submasters internal object range (above 250). The submaster will accept these operate messages and determine if the outstation is located on a DNP3 link or not. If the outstation is located on a DNP3 link, the message is translated into a new operate message targeting the outstation. On acknowledgment of the operate message from the outstation, the submaster will update its object images of the outstation. If the outstation is not located on a DNP3 link, the message data is directly placed in the DNP3 object images of that outstation. The data is placed in the network images in the same as it would have been placed in the outstation except the DO pulse length will be set in milliseconds (instead of hundredths of a second). This means that bit 16 of the status register will be set every time a new command is received. The submaster must have an image of the output before it will accept operate messages for an outstation. An image is obtained when the submaster performs a class 0 poll of the outstation. The submaster can relay pulse-on and pulse-off commands but will not update the image of that object on receipt of an acknowledgment.

  • DNP3 For Kingfisher Series II RTUs 2.4

    - 39 -

    SCADA Software And Kingfisher DNP3

    While Kingfisher RTUs manage data from other RTUs by using network registers, DNP3 treats all the data as if it came from a single RTU. DNP3 allows for 65,535 objects of each data type. These are addressed in DNP3 as follows:

    Analog inputs AI1 to AI65535 (can also used for counters) Analog outputs AO1 to AO65535 Digital inputs BI1 to BI65535 Digital outputs BO1 to BO65535

    Kingfisher DNP3 supports network RTU data by assigning 250 of each type of object (numbered from 1) to each possible RTU number in the telemetry network as follows:

    RTU1 Objects 251 to 500 (eg. AI251 to AI500, BI251 to BI500) RTU2 Objects 501 to 750 RTU3 Objects 751 to 1000 ...

    RTUz Objects (z x 250 +1) to ((z +1) x 250) ...

    RTU250 Objects 62501 to 62750

    There are 3 types of analog inputs and outputs. In order to distinguish the different types of analog data, the blocks of 250 analog inputs and 250 analog outputs for each RTU are divided as follows:

    Objects 1 to150 16-bit registers Objects 151 to 200 Floating point registers Objects 201 to 250 32-bit registers

    Manual InformationFront PageRevision HistoryContents

    OverviewQuick StartConfiguration DetailsFunction BlocksDNP3_SETUPDNP3_DIDNP3_DODNP3_AI16DNP3_CT32DNP3_FLOATDNP3_AO16DNP3_AO32DNP3_AOFL

    ObjectsConfiguration BlockDigital InputsAnalog InputsDigital OutputsAnalog OutputsCountersFrozen CountersEvents

    Managing DataCollectingPollingException ReportingSetting Outputs

    SCADA Software