DNP3协议及其在CW中的应用PPT课件下载推荐.pptx

上传人:b****1 文档编号:14306168 上传时间:2022-10-21 格式:PPTX 页数:32 大小:998.40KB
下载 相关 举报
DNP3协议及其在CW中的应用PPT课件下载推荐.pptx_第1页
第1页 / 共32页
DNP3协议及其在CW中的应用PPT课件下载推荐.pptx_第2页
第2页 / 共32页
DNP3协议及其在CW中的应用PPT课件下载推荐.pptx_第3页
第3页 / 共32页
DNP3协议及其在CW中的应用PPT课件下载推荐.pptx_第4页
第4页 / 共32页
DNP3协议及其在CW中的应用PPT课件下载推荐.pptx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

DNP3协议及其在CW中的应用PPT课件下载推荐.pptx

《DNP3协议及其在CW中的应用PPT课件下载推荐.pptx》由会员分享,可在线阅读,更多相关《DNP3协议及其在CW中的应用PPT课件下载推荐.pptx(32页珍藏版)》请在冰豆网上搜索。

DNP3协议及其在CW中的应用PPT课件下载推荐.pptx

支持主站与子站对时;

允许多主站和对等操作。

DNP3.0是分层实现的协议。

它定义了三层,即应用层:

处理用户数据并控制报文的流向和报文的目的;

数据链路层:

控制帧的类型;

物理层:

为链路层提供基本服务以及相应的接口。

虚拟传输层的由来,由于IEC870.5-101链路层每一帧中所传送的应用数据不超过255个字节,为了方便应用层传输大容量数据块,DNP3.0增加了一个传输层,将超过255个字节的应用数据分成若干个不超过255字节的数据子模块,送到链路层传输。

因此,为了实现的方便,DNP3.0在应用程序层与数据链路层之间增加了虚拟传输层。

为了支持高级RTU功能和大于最大帧长的报文,DNP3.0的数据链路层用虚拟传输层来完成最短报文的组装与分解。

图为通讯模型的比较,各层的帧结构图示,图1中:

(1)请求报头用于主站的数据请求报文,包含应用控制和功能码两个字段。

响应报头用于子站的响应报文,包含应用控制,功能码和内部信号三个字段。

这一字段指出报文的目的;

(2)对象标题:

指明了其后的数据对象,包含Object段、Qualifier段和Range段;

(3)数据段:

由对象标题指定的数据对象组成的数据。

-应用层,传输层,传输层在应用层形成的报文前加了一个字节长的传输控制单元,以便在应用层报文长度大于249个字节时提供必要的多帧信息。

数据链路层,数据链路层采用IEC8705系列的FT3帧格式,以传输层的报文为源数据进行打包,形成最终报文并发送出去。

图3中:

(1)0x05、0x64为固定的2个字节的起始字符;

(2)目的地址、源地址、CRC校验码各为2个字节长。

长度段、控制段各为1个字节长;

(3)数据块1(n1)中的源数据为16个字节长,剩余字节作为第n个(最后一个)数据块的源数据;

(4)协议为报头单独生成一组CRC校验码,为后面的每个数据块各生成一组CRC校验码。

对象(Object),在DNP协议中,每一个数据类型应称为一个对象组(ObjectGroup),每一个对象组中有对象组变量(ObjectGroupVariation),不同对象组变量表明所对应对象组中数据的不同组织方式。

对于遥信、遥测等信息,DNP协议采用轮询方式,而对于变位信息(如SOE数据),由发生数据变化的设备(即子站)主动上报,而不需主站去询问。

DNP3.0用对象组(Object)和变体(Variation)来描述实际应用中不同的数据及事件。

每一个对象组都定义了一种数据类型,变体则描述了该数据类型的某种具体表现形式,它们都有规定的格式和编号。

这些数据又可分配为4类,分别为:

0类(class0),1类(class1),2类(class2),3类(class3)。

每一类数据可以分配不同的优先级。

其应用层采用的面向对象的数据结构保证它可以灵活采用以下工作方式:

(1)主动上报模式(unsolicitedresponses);

(2)轮询模式(pollresponse);

(3)变位轮询模式(polledreportbyexception);

(4)对等传输模式(peertopeer)。

DNP3通讯结构图,Outstation,Master,DNP3ApplicationPseudoTransportLayer,DNP3LinkLayer,DNP3UsersCode,DNP3ApplicationPseudoTransportLayer,DNP3LinkLayer,DNP3UsersCode,BinaryInput,AnalogInput,Counter,BinaryInput,AnalogInput,Counter,BinaryOutput,AnalogOutput,LinkLayerBalancedTransmissionRequestMessage(UserData,ConfirmExpected)(Acknowledgment)ResponseMessage(UserData,ConfirmExpected)(Acknowledgment),Master,Slave,DNP3.0功能码简述,DNP3.0中的功能码均为一个字节长的字段。

在应用层中,功能码标识着报文的目的,分为两组:

一组用于请求;

一组用于响应。

在数据链路层中,功能码(控制字)标明帧的类型,原方用控制字功能码向副方请求各种过程,副方用控制字功能码指出报文是指示链路状态或是对原方报文的响应。

原方和副方的功能码取值均在0到15之间。

每个功能码均有其单独的控制操作。

Report-By-ExceptionProcessing(DNPEvents),AnyDNPStaticpointcanbeconfiguredtocreateDNPEventobjectsonvaluechanges.BinaryInputChangeEventsarecreatedwhenaDNPBinaryInputpointchangesstate.CounterandAnalogChangeEventobjectsarecreatedwhenthecorrespondingStaticobjectchangesbymorethanaprogrammabledeadbandvalue.Deadbandscanbesetonaper-objectbasis.Further,EventobjectscanbeassignedaseitherClass1,Class2,orClass3onaper-objectbasis.ProtocolslikeModbustransmitallthedataeachtimeadeviceispolled.RBEonlytransmitschanges,sofewerdatapoints.TimestampsallowcreationofSequenceofEvents(SOE)logonMasterStation.RBEcanbepolledorunsolicited.,TIMESYNCHRONIZATION,时间同步是由应用层来处理的,但是必须使用数据链接层的特殊服务。

应用程序须通过发送适当的请求或响应开始时间同步。

要同步主站和分站时间,参见下列各项:

1、主站发送延迟测试(DelayMeasurement)请求到分站,主站标记发送时间(MasterSendTime)在该请求的第一字节的第一位。

2、分站接收延迟测试请求的第一字节的第一位,此时时间是RtuReceiveTime,这是当前分站的时间。

3、分站发送响应到延迟测试请求的第一字节第一位,此时时间是RtuSendTime。

该响应包含时间延迟对象,对象中的时间是RtuTurnAround,它等于RTU发送响应时间减去RTU接收请求时间。

4、主站接收分站响应的第一字节的第一位,时间是MasterReceiveTime.5、主站可立即计算这一路线传播的延迟时间,计算公式如下:

6、主站发送写请求的第一字节的第一位,时间是发送写时间MasterSend。

该写请求包含时间与日期(TimeandDate)对象,对象中的时间等于MasterSend加上延迟(MasterSend+Delay).这是主站要设定到分站的时间。

7、分站接收写请求第一字节的第一位,此时时间是RtuReceive。

8、分站处理写请求,设置分站时钟新的时间。

运算规则是:

9、至此主站与分站同步完毕。

注:

时间同步采取的是分站到主站的传播延迟和主站到分站的传播延迟相等的方案。

应注意的事项,1报文组织DNP30规约按照低字节在前,高字节在后的顺序组织和发送报文。

子站也必须按照低字节在前,高字节在后的顺序解析报文,否则会造成校验错误,导致整个报文的丢失。

2校时在正常情况下,主站并不需要经常对子站进行校时。

校时操作经常发生在以下两种情况:

(1)主站重启后,需要对全部子站进行广播校时;

(2)子站重启后,在第一次响应主站请求数据的报文时,在报文中置“校时”标志,主站检查到此标志置位后,对该站校时,然后重新请求数据。

子站接收到校时报文后,将报文中的时间加上通道的延时存入时钟芯片。

校时命令的优先级高于其他命令,有校时命令时优先处理校时命令,然后再执行其他请求。

当前程序的同步,当前程序的时间同步,使用IOSERVER可读取到TimeandDate对象,对其写值即可立即同步RTU时间。

如图所示:

DNP3协议在CW中的应用,由于DNP3协议在ControlWave中是由程序编制使用,并非是嵌入在固件中,所以其很多相关设置均可在程序中更改,本文介绍使用DNP3通信CW作从时的基本设置和DNP3TCP方式通信的相关设置。

DNP3特点时间同步,带时间标签的事件多主对一从支持主动上报-RBE(Report-By-Exception)DNP3.0与IEC870.5-101的另一个重要区别是,能够在多种通信网络拓扑结构下支持自发响应(unsolicitedresponse)方式。

DNP3四级数据召唤Class0Class1Class2Class3DNP3数据类型:

BinaryInput(DI)注:

DNP3所描述的数据的结构有别于我们通常所描述的,它是一种新的结构体,需要我们在应用程序中做新的定义。

TYPEDNPBinInpStruct:

STRUCTChangeFlags:

UINT;

(*Tracksreportingofchangestoconnectedhosts-write16#fffftoforceexceptionreports*)Value:

BOOL;

(*Currentvalueforpoint.*)PointEnabled:

(*TRUEifpointenabledforcollection*)EventClass:

BYTE;

(*Eventclassassignedtopoint(1=Class1,2=Class2,4=Class3,0=None)*)Flags:

(*Bitstodefinestateforpoint-Seeabove.*)CustomFlags:

(*Eventtypewhichcanbeexecuted-seeabove-setbyfirmware*)Spare1:

END_STRUCT;

END_TYPE,AnalogInput(AI)Counter(PI)BinaryOutput(DO)AnalogOutput(AO)DNP3报文DNP3FrameHeaderDNP3数据变量Eventanalogdatacanberepresentedbythesevariations1.A32-bitintegervaluewithflag2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1