dnp3 and Ion PDF
dnp3 and Ion PDF
dnp3 and Ion PDF
NOVEMBER 2006
TECHNICAL NOTE
NOTE
Multiport DNP functionality in ION7550/ION7650 requires firmware version 250 or later. Multiport DNP
functionality in the ION8600 requires firmware version 310.
ThisdocumentprovidesinstructionsforconfiguringmultiportDNPenabledION
meterstocommunicateoveraDNPnetwork.
In This Document
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
DNP Protocol and ION Meters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Step1:ConfiguringtheDNPSlaveOptionsModules ....................... 4
Step2:PortConfiguration .............................................. 7
Step3:ConfiguringtheDNPSlaveExportModules........................ 9
Step4:ConfiguringtheDNPSlaveImportModules ....................... 11
DNP Architecture Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Additional Information
Electrical equipment should be
installed, operated, serviced, and
maintained only by qualified
personnel. No responsibility is
assumed by Schneider Electric for
any consequences arising out of
the use of this material.
2006 Schneider Electric.
All rights reserved.
www.powerlogic.com
IONReference
DNP3Overviewfoundatwww.TriangleMicroWorks.com
www.dnp.orgforgeneralDNPusersgroupinformation
Yourmeterstechnicaldocumentation
Session 1
Page 2
Session 2
IONmetersareintegratedintoaDNPnetworkusingIONmodules:
DNPSlaveImport(DSI)modulestakethevalueofaDNPobject(writtenbya
DNPmasterdevice)andimportitintoanIONregister.IONImportmodulesare
thenlinkedtootherIONmodules(suchasadigitaloutputmodule).
DNPSlaveExport(DSE)modulestakethevaluefromtheIONregisterand
createaDNPobjectthatcanbereadbyaDNPmasterdevice.
DNPSlaveOptions(DSO)modulesletyouspecifypersessionoptionsforall
DNPSlaveImportandExportmodules.Youcandefinethedefaultvariantsthat
arereturnedforvariousclassesofpollingandcommunicationsoptionssuchas
timesynchronizationperiodsanddatalinklayersettings.Theoutputregisters
ontheDNPSlaveOptionsmodulesindicatehowmucheventbufferspaceis
availableforthatsession.
Forspecificdetails,seethemoduledescriptionsintheIONReference.
NOTE
DNP points defined by DSI and DSE modules are common to all sessions.
DNP Slave
Export Module
Power Meter
Module
Vln a
ION Meter
DNP Slave
Options Module
DNP Objects
Data is
available
to DNP
Master
Source 1
Communication port
is set to DNP 3.0
Inthisexample,thePowerMetermoduleislinkedtoaDNPSlaveExportmodule
whichconvertstheIONdata(Vlna)intotheappropriateDNPobjects.These
objectsareavailablethroughthemetercommunicationsportthatisconfiguredto
usetheDNP3.0protocol.TheDNPSlaveOptionsmodulesetspersessionoptions
foralloftheDNPSlaveExportmodules.
Page 3
DNP Slave
Options Module
Control command
from DNP Master
DNP Objects
DNP Slave
Import Module
Relay 1
Digital Output
Module
Communication port
is set to DNP 3.0
External relay
for backup
generator
Inthisexample,theDNPMastersendsacontrolcommandtotheIONmeter
which,inturn,switchesanexternalrelay.Sucharelaycanbeusedtoturnonand
offabackupgenerator.
Page 4
Setup Register
BinInStatic
BinInEvents
BinInEvDepth
BinCntStatic
FrzCntStatic
FrzCntEvents
FrzCntEvDepth
CntChangeEvents
CntChangeEvDepth
AIStatic
FrzAIStatic
FrzAIEvents
FrzAIEvDepth
AIChangeEvents
AIChangeEvDepth
Setup Register
AOStatic
SelectTimeout
TimeSynchPeriod
ALFragSize
Maximum application layer message size (in octets) that IED can send.
DLAck
DLTimeout
How long data link layer waits (secs) for acknowledgement from
Master.
DLNumRetries
How many times a data link layer packet is re-sent after failing.
CommPort
ApplCnfrm
Determines if the device will request that the application layer response
be confirmed or not.
DLAddrForEthernet
MasterIPAddr
UnsolEnable
UnsolClassMask
UnsolMaxRetries
UnsolRetryPeriod
UnsolDestAddress
DNP Master unit ID address that the unsolicited response will be sent to
for this session.
* Read-only registers.
1.
UseDesignersoftwaretolinktheparametersthatyouwanttoaccessthrough
DNP.YoucanaddadditionalDNPSlavemodulesandlinkthedesiredION
parameterstothem.
2.
RightclickonthemoduleinDesignertoaccesstheregisters.IfyourDNP
networkrequiresdatainadifferentformatthanthefactoryDNPconfiguration,
youcaneditthesetupregistersintheDNPSlavemodulesandtheDNPOptions
moduleasnecessary.
Page 5
RunIONSetupandopentheSetupAssistant.
2.
NavigatetoCommunications>ThirdPartyProtocolsandclicktheDNP3.0tab.
3.
SelectParametermapandclickEdit.
4.
IntheDNPPortsetupwindowthatappears,selectEthernet(AllProtocols)from
thedesiredconnectionnumberandclickOptions.
5.
IntheDNPDefaultOptionswindow,clicktheCommunicationTab.
6.
Configureyourcommunicationsoptionsasdesired.
NOTE
Some third-party RTUs require two identifiers for slave devices, a Master IP Address and a unique Unit
ID. Therefore you must configure both the Master IP address and the DLAddrforEthernet settings.
Page 6
7.
ClickOK.ClickNexttocontinuewithyourDNPmapconfigurations.
8.
ClickFinish.
NOTE
Depending on your meter model and firmware version, DNP will be available on different communication
ports. See your meters technical documentation for more information.
CommunicationportsarecontrolledbyIONmodulesthatexistonthemeter.
Somemetersallowyoutoconfigurethecommunicationsmodulesthroughthe
metersfrontpanel.Seeyourmeterstechnicaldocumentationformoredetailed
informationonusingthefrontpanel.
NOTE
The DSO module must be assigned to a communication port BEFORE that communication ports protocol
can be changed to DNP. Similarly, if DNP protocol is running on a communication port, the DSO module
assigned to it cannot be assigned to another COM port until DNP is deselected on that COM port.
Assigning the DNP protocol to the communication port via the front panel
1.
ChoosethehardwareportthroughwhichyouwanttotransmitdatainDNP
format.
2.
SettheprotocolinthemoduletoDNP3.0.
YoucanalsouseIONsoftwaretoconfigurethecommunicationsports.Thisisthe
onlymethodyoucanuseforTRANmeters(ION7550andION7650)without
displays.
Assigning the DNP protocol to the communication port via ION Setup
1.
OpenIONSetupandconnecttothemeter.
2.
DoubleclicktheSetupAssistantfromtherighthandpanetoopen.
Page 7
3.
SelecttheCommunicationsfolderfromthelefthandpaneandclickonPort
Settings.
4.
ClickthetabofthecommunicationsportyouwishtouseforDNP.
5.
SelectProtocolandclickEdit.Youwillbepromptedforthemeterpassword.
6.
SelecttheDNPV3.00protocolfromthedropdownboxthenclickOK.
Assigning the DNP protocol to the communication port via ION Enterprise
Page 8
1.
OpenyourmeterintheDesignercomponentofIONEnterprise.
2.
FindtheCommunicationsmoduleforthecommunicationsportyouwishtouse
forDNP,inthemetersframework.RightclicktheCommunicationsmoduleto
configure.
3.
RightclickontheCommunicationsmoduleanddoubleclickontheProtocol
setupregistertoedit.
4.
SelecttheDNPV3.00protocolfromthedropdownboxthenclickOK.
Setup Register
BasePoint
Varies see your meters DNP 3.00 Device Profile document for default DNP to
ION mapping.
StaticObj
EventObj
Deadband
FrozStaObj
FrozEvtObj
EventClass
Class 1
Page 9
Setup Register
Scaling
IONZero
IONFull
DNPZero
DNPFull
TheBasePointregistermapsthefirstinputofaDSEmoduleintoaDNPpoint
number.TheDNPmastercanthenreadthestatic,frozen,andeventobjects
associatedwiththatDNPpoint.Eachsubsequentinput,anditsrelatedDNPpoint,
isaddressablebytheappropriateoffsetfromthatBasePoint.
TheScalingregisterdetermineswhetherornotthemetersmeasurementsare
scaledforoutputtoaDNPmaster.Youcanusethistoscaleuptoincludedecimal
components.IONZeroandIONFullspecifytherangeofsourcevalueswhile
DNPZeroandDNPFullspecifytherangeofoutputvalues.Valuesarelinearly
mappedfromtheIONZero,IONFulltoDNPZero,DNPFullranges.
StaticObjisaBinaryInput,BinaryCounterorAnaloginputfromanIONregister.
YoucanenableEventObj,totriggeraneventwhenavalueexceedsaspecified
deadbandthreshold.Theseeventsarereturnedtothemasterinaclass13pollas
specifiedintheEventClassregister.
WhenFrozStaObj,FroEvtObjareenabledandafreezeoccurs,thestaticobjectmakes
twothings(ifenabled):
AFrozenStaticobjectthatgetsreturnedinaclass0poll(aFrozenstaticobjectis
overwritteneachtimeafreezehappens)
AFrozenEventobjectisreturnedinaclass13poll(frozeneventsarenot
overwrittenasmoreeventobjectsarecreated,unlessthereisnofreespace)
EventClassdefinestheclassofeventthatiscreatedbytheExportSlavemodule.A
class1,2,3pollisthenusedtoretrieveeventsasappropriate.
DNPSlaveExportmodulessupportthefollowingDNPfunctions:
Function
Description
Confirm
Response
Confirm
Read
Page 10
Function
Description
Immediate Freeze
Meter copies the specified objects to a freeze buffer and responds with
status of the operation.
Meter copies the specified objects to a freeze buffer but does not respond
with a status message.
Not supported.
Not supported.
Delay Measurement
Master requests data from the meter in order to calculate the meters
communication delay and use it for time synchronization. The meter
responds with the Time Delay object.
NOTE
No DSI modules are present in the default framework.
VariousparametersareavailablethroughDNP,howeverimportingDNPdatatothe
meterisnotafactoryconfiguredoption.ThepossiblesettingsforDNPSlaveImport
modulesare:
Setup Register
Default Setting
DNPPoint
0 to 15
DNPObjGrp
Binary Output
RelayMode
DNPPointspecifiesthepointnumberoftheDNPobjectthatyouwanttomapto
theIONmodule.DNPObjGrpspecifiesthegroupoftheDNPobjectandRelayMode
specifiesthemethodofaccessingtriporcloserelays.
TheDSImodulesupportsthefollowingfunctions:
Function
Description
Confirm
Read
Master requests particular objects from meter; meter responds with requested objects that
are available. For Analog Outputs, the value of the AnalogOut output register is returned as
the status. For Binary Outputs, the ORd value of the Relay 1 & Relay 2 output registers are
returned as the status. For class 0 polls, status of all Analog and Binary Outputs are returned.
Page 11
Function
Description
Select
Select (or arm) output points (controls, setpoints, analog outputs) at meter but do not activate
them; meter responds with the status of the output points selected. When it receives the Select
message, the meter starts a timer and must receive an Operate message before the timer
expires to activate these outputs.
Operate
Activate the meters outputs that were previously selected with the Select function; respond
with the status of the outputs.
Direct Operate
Activate the meters outputs without a preceding Select message; meter responds with the
status of the outputs.
Direct Operate-No
Acknowledge
Activate the meters output without a preceding Select message; meter does not respond with
the status of the outputs.
NOTE
Class 0 polls return DNP status objects for both Analog and Binary Output objects.
Page 12
1.
InDesigner,useaDNPSlaveImportmoduletotakeaDNPAnalogoutputor
BinaryoutputobjectandmapthemintoIONregisters.
2.
TherearenoinputregistersfortheImportmodule.Youmustconfigurethe
setupregisterstodefineaDNPobject.ConsulttheIONReferenceforinformation
ontakingthesetupinformationandoutputtingittoIONregisters.
Start Octets
05
Data
Link
Control
Length
64
Destination
LSB
MSB
Source
LSB
CRC
10 BYTES
MSB
TOTAL
Data Block:
Transpor
t Header
I BYTE
Applicatio
n Header
2 OR 4
BYTES
Object
Header
#1
VARIABLE
SIZE
Data #1
VARIABLE SIZE
Object
header
#2
VARIABLE
SIZE
Data #2
VARIABLE SIZE
Data #n
CRC used
every
16 bytes
...
Thedatalinkcontrolbyteindicatesthepurposeofthedatalinkframe,andstatus
ofthelogicallink.Possibledatalinkcontrolbytevaluesinclude:ACK,requestdata
linkconfirm(ACK)offrame,NACK,requestlinkstatus,linkneedsreset,link
statusreply,linkisreset.
Page 13
Whenadatalinkconfirmationisrequested,thereceivermustrespondwithan
ACKdatalinkframeiftheframeisreceivedandpassesCRCchecks.Ifadatalink
confirmationisnotrequested,nodatalinkresponseisrequired.
Pseudo-Transport Layer
Thepseudotransportlayersegmentsapplicationlayermessagesintomultiple
datalinkframes.Foreachframe,itinsertsasinglebytefunctioncodethatindicates
ifthedatalinkframeisthefirstframeofthemessage,thelastframeofamessage,
orboth(forsingleframemessages).Thefunctioncodealsoincludesarollingframe
sequencenumberwhichincrementswitheachframeandallowsthereceiving
transportlayertodetectdroppedframes.
Application Layer
Theapplicationlayerrespondstocompletemessagesreceivedandbuilds
messagesbasedontheneedfor,oravailabilityofuserdata.Oncemessagesare
built,theyarepasseddowntothepseudotransportlayerwheretheyare
segmentedandpassedtothedatalinklayerandcommunicatedoverthephysical
layer.Thetotallengthofreceivedmessagesisindicatedbypseudotransportlayer
asitappendsdatalinklayerframes,eachwiththeirownindicatedlength.
Whenthedataistoolargeforasingleapplicationlayermessage,multiple
messagesmaybebuiltandtransmittedsequentially.Eachmessage,exceptthelast,
indicatesthatmoremessagesfollow.Becausetheapplicationdatacanbe
fragmented,eachmessageisreferredtoasafragmentthatmayeitherbesingle
fragmentoramultifragment.
ApplicationlayerfragmentsfrommasterDNPstationsaretypicallyrequestsfor
operationsondataobjects.ApplicationlayerfragmentsfromSlaveDNPstations
aretypicallyresponsestothoserequests.
Asinthedatalinklayer,applicationlayerfragmentsmaybesentwitharequest
forconfirmation.Anapplicationlayerconfirmationindicatesthatamessageis
receivedandparsedwithouterror.(Adatalinklayerconfirmation(ACK)indicates
thatthedatalinkframeisreceivedanditpassedCRCerrorchecks.)
Eachapplicationlayerfragmentbeginswithaheaderfollowedbyoneormoreobject
header/objectdatacombinations.Theheadercontainsanapplicationcontrolcode
andanapplicationfunctioncode.Theapplicationcontrolcodecontainsthe
followinginformation:
identifiesifthemessageismultiorsinglefragment
specifiesifanapplicationlayerconfirmationisrequestedforthefragment
identifiesifthefragmentwasunsolicited
providesarollingapplicationlayersequencenumber
Theapplicationlayersequencenumberallowsthereceivingapplicationlayerto
detectfragmentsthatareoutofsequenceordropped.Theapplicationlayerheader
functioncodeindicatesthepurpose,orrequestedoperationofthemessage.DNP
allowsmultipledatatypesinasinglemessagebutitonlyallowsasinglerequested
operationonthedatatypeswithinthemessage.Theheaderfunctioncodeapplies
toallobjectheaders,andthereforealldatawithinthemessagefragment.
Page 14
Page 15
Foreachchangedatapoint,atimecanbeassociatedwiththechange.Forbinary
input,eachdetectionofadatavaluethatchangesisconsideredachangeevent.For
analoginputandbinarycounter,aneventiscreatedwhenthechangeisbya
certainamount(deadband).Atanygiventime,itispossibletohavemultiple
changeeventsforsomepointsandnochangeeventsforotherpoints.
Objectgroupsandthedatapointswithinthem,arefurtherorganizedintoclasses.
Thisprovidesanefficientmethodofrequestingdata;asimple(andsmall)message
issenttorequestalldatainaspecificclass.Thisisreferredtoasscanningforclass
data.TherearefourclassesdefinedinDNP3.0.Class0representsallstatic(not
eventdata).Classes1,2,and3,canrepresentdifferentprioritiesofchangeevent
data.Byassociatingdifferenteventdatawithdifferentclasses,theclassescanbe
requestedwithvaryingperiodicrates.
NOTE
Frozen statics and frozen events are specific to analog inputs and binary counters.
Ifclass1containsthehighestprioritychangeeventdataandclass3containsthe
lowestprioritychangeeventdata,thenaclass1pollshouldbeperformedasoften
aspossible,aclass2pollperformedlessoften,andaclass3pollperformedeven
lessoften.Foreachclassdataresponse,onlytheclassdatathathaschangedis
returned.Finally,toacquiredatanotassociatedwitheitherclass1,2,or3,an
integritypoll,consistingofaclass0scan,isperformed.Sincealargeamountof
datamaybereturnedinaclass0scan,itshouldnotbeperformedoften.
Page 16