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