在使用EtherCAT技術作為現場總線時,性能往往起著決定性的作用。但是,性能的真正含義是什么呢?在大多數情況下,性能等同于速度。在EtherCAT網絡中,這通常意味著需要快速的周期時間,大約1kHz或更快,以實現快速的控制周期。然而,高性能也可能意味著處理大量數據,或者從一個控制器上操作多個設備。
在EtherCAT網絡中,這些性能考慮因素都歸結為EtherCAT主站。因此,EtherCAT主站軟件應滿足以下所有要求:
- 支持較短的周期時間,實現快速的設備更新率
- 支持處理大量循環過程數據
- 能夠處理許多EtherCAT設備
此外,所有這些都必須在控制器上以盡可能低的負載來實現。對于高性能的EtherCAT網絡部署,不應在功能、錯誤檢查、診斷選項和出現問題時的可靠性方面妥協。基于此,本文將提出一種測量方法并給出結果,便于您對EC-Master協議棧的性能有更多了解。
測量方法
為了支持控制硬件的選擇,或者為了能夠對現有硬件在EtherCAT方面的可能性做出聲明,可以利用現有的性能值進行新的測量。在應用的關鍵循環處理區域中,正確且精確地測量EtherCAT協議棧建立的主站軟件運行的所有處理路徑的計算時間消耗,這一點非常重要。近年來,盟通科技合作伙伴acontis在具有不同操作系統和相同參考網絡配置的不同系統上進行了大量的性能測量。此數據可用于粗略評估給定處理器上可實現的性能。
然而,最可靠的值當然是通過在運行所需操作系統和實際所需網絡配置的真實硬件上進行實時測量而獲得的。這些測量不需要任何特殊的專業知識或額外的設備,并且可以通過EC-Master中包含的示例應用程序進而非常容易地執行:EcMasterDemo和EcMasterDemoDc。在這些演示應用程序中,各個主作業函數的執行時間(最小值、最大值和平均值)以及周期時間被計算并保存到日志文件中(或打印到控制臺)。
示例應用程序中的內置測量函數
在acontis的EtherCAT主站軟件協議棧中,應用程序與循環部分的主站集成是通過同步調用某些功能來實現的,每個函數都完成一項特定的任務。這些函數是從高優先級任務中調用的,用于控制網絡計時。在許多情況下,高優先級任務已存在于客戶應用程序中,因此可以簡單地從此現有任務中調用函數。這些作業是在應用程序的上下文中調用的,因此應用程序不會與其他任務進行交互。因此,通過測量這些函數的計算時間消耗,可以非常簡單準確地確定主堆棧的計算時間消耗。
功能包括:
在一個周期的開始,EC-Master的示例Demo首先會更新新接收的數據(輸入)。這是通過調用Process Inputs作業函數并評估先前接收的EtherCAT幀來實現的。接下來,應用程序獲取這些新接收的數據,并計算出應發送到網絡的數據(輸出)。當調用Write Outputs作業函數時,這些新的輸出數據便被發送出去。借助Direct Memory Access (DMA),幀從內存傳輸到以太網控制器并通過物理網絡發送,整個過程無需加載CPU。幀會經過網絡上的所有EtherCAT設備,并在返回到主站時自動接收,無需中斷。最后,調用"Master Administration"作業函數,執行主狀態機和每個單獨從設備上的狀態機。
在初始啟動過程中,所有從設備必須通過一系列連續步驟從INIT狀態轉移到OPERATIONAL狀態。在常規操作中,需要狀態機來處理非循環通信,例如通過郵箱協議CAN應用協議在EtherCAT (CoE)上下載參數。這些非循環郵箱通信需要另一個幀,其中包含針對從站的讀取和寫入命令。這個非循環幀是使用“發送非循環數據報/命令”作業函數發送的。主站能夠限制這種非循環數據流量的方式非常重要,否則網絡或CPU可能會過載。
使用示例應用程序進行性能測量
EC-Master協議棧在隨附的示例應用程序中具有內置的性能測量功能。可以使用帶有示例應用程序(–perf) 的命令行參數來調用此性能度量計算。啟用后,示例應用程序將測量在應用程序的循環部分內調用的作業函數的執行時間,以及循環任務本身消耗的總計算時間。示例應用程序使用包含的API ecatPerfMeasStart() 和ecatPerfMeasEnd() 進行高精度測量時間計算。
測量結果
以下測量結果是在具有不同循環時間的不同控制器上使用16、32和64個從站來執行測試的。EtherCAT主站(EC-Master)在CPU上的負載百分比是通過將工作函數的累積運行時間與總周期時間的比率來計算的。
Texas Instruments AM3359,ARM Cortex-A8,32位,600 MHz
NXP i.MX 8,ARM Cortex-A72,64位,1000 Mhz
Intel Atom, D510, 64-Bit, 1600MHz
-
測試
+關注
關注
8文章
5382瀏覽量
127073 -
主站
+關注
關注
0文章
43瀏覽量
7884 -
ethercat
+關注
關注
19文章
736瀏覽量
38877 -
EtherCAT主站
+關注
關注
2文章
13瀏覽量
4212
發布評論請先 登錄
相關推薦
評論