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