【應用案例】使用Profishark進行EtherCAT主站性能測試

EtherCAT 主站性能測試

一般情況下EtherCAT主站性能測試會關注主站通訊週期,circle time是否穩定,抖動多少,因此可以設置在不同的circle time,比如2ms,1ms,500us,250us,125us等條件下測試抖動,可以採用第三方的抓包工具+wireshark進行報文分析,不同主站週期,需要修改代碼以及ENI檔的circle time ,此處以1ms主站週期,有些任務週期是5ms(主站週期的5倍)。

EtherCAT報文抓取

抓包方式,主站和從站直接接入第三方的抓包工具,連接方式如下示意圖,可以先運行主站,待主從通訊穩定后,再進行數據抓包,這樣抓出來的數據包就是pdo數據/過程數據,也可以主站啟動前,開始抓包,這樣就可以把整個啟動過程的數據抓取出來,但是過濾時,op前的報文數據就不是我們需要分析的數據了。

宏虹提供最簡單的EtherCAT抓包工具, ProfiShark,幫助網路工程師輕鬆訪問網路並以正確的時間戳記捕獲每個單個數據包。 通過Profishark抓包可以得到高品質的數據,這些數據可在數據包分析器軟體(如Wireshark)中用於網路分析,或直接存儲到磁碟以供以後分析。 (詳細資訊請查看文末)

在Wireshark上進行EtherCAT報文分析

1 設置wireshark時間格式如下

2 使用ecat.ado == 0x130命令,過濾出從站在第幾條報文處進入op狀態的,這裡是33900,意味著33900前的報文不能用於分析circle time,因為pdo數據/週期性數據只在從站進入op後才被發送

3 分析週期性報文,注意到每個週期性報文包含三個子報文(邏輯尋址)以及一個DC相關的ARMW命令

4 過濾出週期性報文,使用該指令ecat.sub1.cmd == LRD && ecat.sub1.cnt == 0,過濾出子報文1為LRD且計算機值為0(表示從主站發出,未經過從站)的週期性報文,選擇三角進行報文排序,可以是從小到大,或者從大到小。

最小週期是999.496us
最大週期1000.536us

結論:可以看出1ms主站週期下,基於zcu102開發板,測試出來的主站週期的抖動是ns級別,實際在500us和250us,125us條件下,抖動都是在ns級別。

Profishark網路TAP 介紹

便攜式可靠流量捕獲

ProfiShark是攜帶型和小型故障診斷儀,是用於網路監視,流量捕獲和分析的專用網路TAP。

Profishark説明你:

快速了解數據包級別的資訊

Profishark以便攜式形式實現完整的數據捕獲。 這意味著您可以在任何地方快速部署,並捕獲所需的流量數據,而不會影響生產網路。

獲取您可以信賴的跟蹤檔

為了幫助優化您的分析工作流程並減少磁碟存儲消耗,Profishark提供了數據包切片功能,確保您僅獲得可操作的數據。

獲得透明和非侵入式訪問

捕獲網路數據而不會影響安全性或性能。 Profishark和主機PC將不會顯示為網路上的節點。 即使Profishark的電源中斷,網路連接也會保持。 Profishark設置為PoE直通。

獲得所需的時間戳記準確性

準確的時間戳對於分析報文的延遲和抖動等性能指標至關重要。 Profishark提供的型號具有低至5NS的硬體時間戳,以及+型號具有高級GPS / PPS時間戳功能。