目录
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