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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章