01關于EtherCAT技術
今天,EtherCAT已經是世界上最受歡迎的實時以太網解決方案之一。EtherCAT技術團隊(ETG)負責給所有正在使用和將要使用的用戶朋友們開放EtherCAT技術。同時,ETG也是世界上會員人數最多的現場總線技術組織,任何人都可以在ETG官網的主頁上找到會員名單。
02EtherCAT技術與Windows系統
在Windows系統中,EtherCAT主站協議棧的運行較為簡單,用戶僅需使用一塊標準以太網卡即可運行EtherCAT主站協議棧。即Windows系統下配置EtherCAT主站不需調用特殊的接口網卡,可以直接運行在內置于主板中的板載以太網控制器或低成本的外部標準網卡上。
然而,Windows并不是一個實時操作系統(RTOS),這意味著用戶難以確保穩定地體驗到EtherCAT周期時間具有的確定性、穩定性和實時快速等優點。雖然EtherCAT在Windows上可以實現周期時間大于10毫秒的更新頻率,用戶也不能順利穩定地實現,更何況這一頻率也難以應對部分極限場景下的應用需求。因此,通常情況下,用戶很難十分便利地在該系統內使用EtherCAT的分布式時鐘(DC)功能。
03兩種解決
實時需求場景的思路
為了讓用戶能完全地體驗EtherCAT技術,我們探討了兩種思路,并給出了三種方案來對比和驗證思路,接下來我們將為您介紹我們的思路和對應的方案:
思路一:在軟件層面進行優化的驅動
一個提高Windows性能的思路是把Windows網絡驅動程序替換為acontis提供的實時以太網驅動程序,通過替換驅動程序并使用acontis提供的優化驅動程序來消除Windows網絡協議棧的影響。這個思路讓軟實時行為的實時性得到了很大改善,進而能夠在系統中使用分布式時鐘功能。但是,該方案仍然缺少確定性,因此,不建議在生產過程中使用。
思路二:更完善的跨系統解決方案
另一個更好的思路是同時運行Windows和EC-Win。EC-Win 指的是一種使用acontis 提供的實時虛擬機管理程序的相關技術來同時在Windows 和 RTOS系統運行的硬實時解決方案,從而可以創建出速率快、確定性好、且基于硬實時行為的EtherCAT應用程序,其更新速率可以達到20kHz(50毫秒)。
04Windows系統實現
EtherCAT的不同方案
您將看到acontis測試的在Windows上的用不同方案實現EtherCAT主站協議的三種情形和結果
一、沒有實時性能的解決方案:Windows NDIS 濾波器驅動程序
網絡驅動程序接口規范(NDIS)是網絡驅動程序體系結構的規范,它允許傳輸協議(如 TCP/IP)與底層物理網絡適配器進行通信。該規范由微軟聯合開發,并在Windows中使用。因此,為了在Windows中發送和接收EtherCAT幀,EC-Master包括一個NDIS鏈路層(emllNdis.dll),以利用作為Windows網絡協議棧一部分的以太網驅動程序。
更新速率的體系結構> = 10 毫秒:
圖 1 Windows NDS 篩選器驅動軟件實現EtherCAT
二、具有軟實時性能的解決方案:Acontis 以太網驅動程序
為了實現更快的更新速度,我們用acontis內核模塊EcatDrv和優化的實時以太網驅動程序來取代標準的Windows網絡驅動程序。EcatDrv 內核模塊提供從用戶空間直接訪問物理網絡控制器所需的權限。這樣就可以發送和接收EtherCAT幀,而無需在兩者之間使用任何Windows軟件。采用這種方案的結果是降低了 CPU 負載,減少了抖動,規避了其他的網絡通信過程所產生的不利后果。
更新速率的體系結構:> = 1 毫秒(難以保證):
圖2 Acontis驅動實現EtherCAT
三、具有硬實時性能的解決方案:EC-Win
前文的思路二中,我們發現把RTOS系統和Windows系統結合起來將在Windows上獲得最佳的EtherCAT性能。Acontis提供了一個可以同時運行在Windows和實時Linux(RT-Linux)上的基于Windows的實時管理程序,結合EC-Master,用戶可以調用這套完整的解決方案來在Windows上實現EtherCAT。(EC-Win)
借助EC-Win,EtherCAT 主站協議棧關聯的EtherCAT應用程序可在 RT-Linux(實時Linux系統)上運行,從而實現高達20 kHz(50 微秒)的更新速率的硬實時性能。此外,acontis 還提供了為 Linux系統優化的實時以太網驅動程序,進一步提高了 EtherCAT 的整體性能。通過acontis的實時管理程序,Windows和RT-Linux被安全地分開,從而為實時Linux應用程序(包括EtherCAT)提供保護,使其免受Windows系統故障的影響。雖然該方案存在有操作系統層面的拆分,對于Windows上的應用程序和實時Linux系統上的應用程序,用戶仍然都可以在用戶更為熟悉的Microsoft的Visual Studio軟件環境下進行開發與調試。
圖 3 使用EC-Win方案實現EtherCAT
實時以太網驅動程序(鏈路層)
Windows NDIA filter driver (emllNdis)
Windows網絡驅動程序接口濾波器驅動程序
Intel Pro/1000 (emllI8254x)
Inter Pro/1000
Realtek Gigabit (emllRTL8169)
Realtek千兆網卡
Beckhoff CCAT(emllCCAT)
倍福CCAT軟件
審核編輯:湯梓紅
-
WINDOWS
+關注
關注
3文章
3545瀏覽量
88707 -
ethercat
+關注
關注
18文章
690瀏覽量
38705
原文標題:在Windows系統上穩定實現EtherCAT主站的兩種思路
文章出處:【微信號:ilinki,微信公眾號:智匯工業】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論