PROFINET协议解析-DCP

目录

一 设置 Set(请求)

二 设置Set(应答)

三 识别 Identify(请求)

四 识别 Identify(应答)


      DCP全称Discovery and basic Configurat10n Protocol,发现和配置协议,如图1所示,其工作在OSI七层中的第二层-数据链路层,所以主要的识别站点的ID就是MAC地址。DCP在PROFINET中设置(Set),识别(ldentify),Hello,获取(Get)四大功能。下面将以Set和Identify为例分别介绍。

                                                                                                                                                                                 图1 OSI模型

       一 设置 Set(请求)

              配置的内容主要是网络参数和辅助功能,包括IP地址,子网掩码,网关,设备名称,闪烁识别等。下面以设置设备名称为例进行帧分析。设备名称类似于以太网的域名,相比较而言,域名是国际唯一的,而设备名称只要保证在你的控制网络中唯一即可;域名通过DNS解析为IP地址,而设备名称与MAC地址相绑定,都是为了更好的记忆和使用通信网络。

表1 链路层帧

FrameControl

DST

SDR

BSSID

Seq

QOS

LT

FrameID

DCPDU

Pad

CRC

 

表2 DCPDU结构

ServiceID

ServiceType

Xid

0000

DCPLength

SetReqBlock

 

设置请求块结构(SetReqBlock)

表3 SetReq块结构

DeviceProperties

Option,

SuboptionName

OfStation

DCPBlocklength,

BlockQuabfie,

NameOfStation

Value

 

根据以上结构,我们以IS620F设备名称为例,拼接一个DCP分配设备名称的数据帧:

条件:源MAC地址(上位机或PLC):28-30-11-02-11-01

              目的MAC地址:08-62-74-99-10-01

              设备名称:IS620F

              不带VLAN标签

08

62

74

99

10

01

28

30

11

02

11

01

88

92

FE

FD

04

00

00

00

01

00

00

00

00

0C

02

02

00

08

00

01

49

53

36

32

30

46

 

 

通过上述帧即可永久设置设备名称,其他参数设置类似,具体参考GBZ 25105.2-2010

二 设置Set(应答)

       发送请求帧后,接收返回的数据。设备会根据向请求的mac地址设备返回相应的数据信息。既然是响应就有成功与失败两种情况,PN在blockErr中详细规定了响应的情况。

 

以太网帧结构同上。

 

Set应答帧结构:

表4  SetRes帧

ServiceID

ServiceType

Xid

Padding

DCPDataLen

SetResBlock

 

SetResBlock帧结构:

表5 SetRes块

Control

SubOption

DCPBlockLen

NameOfStation

BlockErr

 

 

条件:以文章一的请求为例进行应答

28

30

11

02

11

01

08

62

74

99

10

01

88

92

FE

FD

04

01

00

00

01

00

00

00

08

05

04

00

03

02

02

00

00

 

 

 

 

 

 

 

 

三 识别 Identify(请求)

       Identify主要是用来扫描网络中的PN设备,所以该帧只需要源MAC地址就可以了,目标地址一般为广播MAC,所有接收到该帧的设备包括控制器都进行应答,就可以知到网络中的设备信息,为后续建立连接做准备。

       Identify有两种,一种是带过滤器的帧,毕竟多了过滤的功能,所以结构会更复杂,这里以不带过滤器的帧展开,即向所有的设备发送广播。

以太网链路层帧结构:

表6 链路层帧结构

FrameControl

DST

SDR

BSSID@

Seq@

QOS@

LT

FrameID

DCPDU

Pad

CRC

@为可选

Identi-ALL   DCPDU结构:

表7  DCP-Identi-ALL结构

ServiceID

ServiceType

Xid

Response

DelayFactor

DCPData

Length

AllSelector

Type

DCPBlocklength

 

 

条件:

       扫描网络中所有设备
       扫描主机mac:28-30-11-02-11-01

01

0E

CF

00

00

00

28

30

11

02

11

01

88

92

FE

FE

05

00

00

00

01

00

00

01

00

04

FF

FF

00

00

 

四 识别 Identify(应答)

这里的应答不再详述,扫描所有的设备,设备会应答所有的数据,包括IP,设备名称,厂家信息,mac地址,设备别名等。具体可以参考国标。

 

       本篇文章只是起到一个引导使用国标的作用,具体的各种帧情况并未这里详述。毕竟牵扯到了以太网,就有各种各样复杂的网络状况和拓扑,这些内容只能在数据帧中进行限制,这在很大程度上提提高了网络帧结构的复杂性,内容也很多,比如VLAN,路由,交换机,PC,IO设备等常用的网络设备,协议上包括常用LLDP,SNMP,MRP等,它们工作在符合CC-A的标准上,在PN中也可以烁识RT_CLASS_1,还有为了保证实时RT_CLASS_3,CC-C上的IRT等等。为了实现更好的过渡,下一篇文章计划在这片基础上进行实践,演示抓包工具或管理型交换机抓包,分析实际网路上的数据帧,更贴近实际使用情况。下下篇文章将开启第二部分,profinet的过程数据帧分析。

 

2020-12-12

  • 4
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值