3. EtherCAT數(shù)據(jù)抓包方法分析
檢測(cè)主站是否請(qǐng)求從站進(jìn)入op狀態(tài)
原理性分析:0x120是ESC的AL control寄存器,通過(guò)分析該值知道主站是否請(qǐng)求從站進(jìn)入相應(yīng)的狀態(tài),比如從站進(jìn)不了op,那么可以先根據(jù)該指令判斷主站是否請(qǐng)求從站進(jìn)入op了。AL control寄存器不同值對(duì)應(yīng)不同含義:
1: Request Init State
3: Request Bootstrap State
2: Request Pre-Operational State
4: Request Safe-Operational State
8: Request Operational State
通過(guò)設(shè)置過(guò)濾條件ecat.ado == 0x120,找到該寄存器值為8,從而知道在第32007條報(bào)文,主站開(kāi)始請(qǐng)求從站進(jìn)入op。
檢測(cè)從站是否進(jìn)入op狀態(tài)
原理性分析:0x130是ESC的AL status寄存器,通過(guò)分析該值知道從站是否已進(jìn)入相應(yīng)的狀態(tài),比如從站是否進(jìn)入op,AL status寄存器不同值對(duì)應(yīng)不同含義:
Actual State of the Device State Machine:
1: Init State
3: Bootstrap State
2: Pre-Operational State
4: Safe-Operational State
8: Operational State
通過(guò)設(shè)置過(guò)濾條件ecat.ado == 0x130,找到該寄存器值為8,從而知道在第32812條報(bào)文,從站才開(kāi)始進(jìn)入op,才有周期過(guò)程數(shù)據(jù)(pdo數(shù)據(jù)),也就是說(shuō),分析主站的周期性數(shù)據(jù),報(bào)文范圍是從32812開(kāi)始算起。
檢測(cè)主站數(shù)據(jù)發(fā)送周期情況
原理性分析:通過(guò)分析進(jìn)入op后,發(fā)送的過(guò)程數(shù)據(jù)邏輯尋址指令Lxx來(lái)分析主站報(bào)文周期抖動(dòng)情況,比如每個(gè)周期都會(huì)發(fā)送LWR邏輯寫(xiě),那么可以將LWR指令過(guò)濾出來(lái),cnt等于0表示剛從主站出來(lái),還沒(méi)經(jīng)過(guò)任何從站,所以WKC為0。
根據(jù)章節(jié)2連接好拓?fù)洌瑢?shù)據(jù)包通過(guò)偵聽(tīng)器抓取出來(lái)后,設(shè)置數(shù)據(jù)顯示格式如下:
過(guò)濾出在第32812條報(bào)文,從站開(kāi)始進(jìn)入op,主站開(kāi)始發(fā)送周期性報(bào)文。
分析周期性報(bào)文,注意到每個(gè)周期性報(bào)文包含三個(gè)子報(bào)文(邏輯尋址LRD,LWR,LRD)和DC指令,在DC模式下,每個(gè)DC周期都會(huì)發(fā)送相關(guān)的ARMW命令。
過(guò)濾出周期性報(bào)文,使用指令ecat.sub1.cmd == LRD && ecat.sub1.cnt == 0,過(guò)濾出子報(bào)文1為L(zhǎng)RD且計(jì)數(shù)器值為0(表示從主站發(fā)出,未經(jīng)過(guò)從站)的周期性報(bào)文,選擇三角進(jìn)行報(bào)文排序,可以是從小到大,或者從大到小,可以看出主站周期最小981.160us,最大是1015.040us,wireshark報(bào)文保存為CSV格式,然后excel打開(kāi) 通過(guò)對(duì)time列數(shù)據(jù)進(jìn)行excel波形圖分析,繪制出波形圖,可以看出主站周期抖動(dòng)情況,是否有數(shù)據(jù)包丟失等問(wèn)題。
-
寄存器
+關(guān)注
關(guān)注
31文章
5394瀏覽量
122405 -
指令
+關(guān)注
關(guān)注
1文章
614瀏覽量
36069 -
ethercat
+關(guān)注
關(guān)注
19文章
854瀏覽量
39383
原文標(biāo)題:基于RX72M開(kāi)發(fā)EtherCAT從站的數(shù)據(jù)包分析(下)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
EtherCAT抓包分析及故障排除示例
加密后抓包分析的問(wèn)題?
請(qǐng)問(wèn)怎樣分析抓包軟件的數(shù)據(jù)?具體每一條數(shù)據(jù)的作用是什么?
wireshark抓包數(shù)據(jù)分析問(wèn)題
空口抓包方式和wireshank分析工具使用介紹
請(qǐng)問(wèn)BLE-Dongle是否支持抓包協(xié)議分析?請(qǐng)問(wèn)怎么進(jìn)行抓包協(xié)議分析?
使用wireshark抓包分析TCP及UDP的資料詳細(xì)說(shuō)明

Wireshark數(shù)據(jù)抓包網(wǎng)絡(luò)協(xié)議的分析

MCU_Wireshark USB 抓包過(guò)濾(抓特定端口地址)

SRT協(xié)議的工作流程、數(shù)據(jù)包結(jié)構(gòu)及Wireshark抓包分析
滲透測(cè)試過(guò)程中所使用的抓包方法
如何抓取app數(shù)據(jù)包 網(wǎng)絡(luò)抓包原理及實(shí)現(xiàn)

基于RX72M微控制器的EtherCAT數(shù)據(jù)抓包方法分析

評(píng)論