亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux平臺的EtherCAT主站設(shè)計與研究

        2023-12-18 10:42:15楊亮亮錢家豪魯文其潘曉銘
        計算機時代 2023年11期

        楊亮亮 錢家豪 魯文其 潘曉銘

        關(guān)鍵詞:EtherCAT;Linux;工業(yè)以太網(wǎng);SOEM

        中圖分類號:TP273 文獻標(biāo)識碼:A 文章編號:1006-8228(2023)11-12-04

        0 引言

        在工業(yè)自動化控制領(lǐng)域,控制系統(tǒng)需不斷滿足通信速度、控制精度、抗干擾能力和實時性的要求[1]。傳統(tǒng)總線控制方式已不能滿足要求,工業(yè)以太網(wǎng)技術(shù)因其高實時性和穩(wěn)定性成為工業(yè)技術(shù)發(fā)展的重要推動力,如廣泛應(yīng)用的有EtherCAT、EtherNet/IP、SERCOS等[2]。

        EtherCAT 協(xié)議使用了一種名為“處理數(shù)據(jù)”的方式,使得數(shù)據(jù)可以在網(wǎng)絡(luò)上以非常高的速度傳輸,從而獲得實時性能好的控制,在測控領(lǐng)域、工業(yè)機器人等領(lǐng)域都有著重要的應(yīng)用價值。

        目前市面上使用EtherCAT 來控制高端數(shù)控系統(tǒng)的主站,主要是倍福公司基于傳統(tǒng)的PC 研發(fā)的TwinCAT 商業(yè)主站,其價格高昂、不開源、靈活性差,正在被嵌入式主站逐步替代[3-4],但傳統(tǒng)的嵌入式主站因其芯片價格一直居高不下,故使用成本高。針對上述問題,本文設(shè)計了一種Linux+RT-PREEMPT+SOME 的框架下搭建EtherCAT 主站的方案,采用國產(chǎn)T3 芯片作為主站控制芯片,實現(xiàn)了對二臺伺服電機周期性控制,并對其周期性和實時性進行了測試。此方案即滿足了EtherCAT 主站強實時性和高穩(wěn)定性的要求,又解決了傳統(tǒng)EtherCAT 主站成本高、便攜性差的缺點。

        1 EtherCAT系統(tǒng)架構(gòu)

        EtherCAT 是一種實時以太網(wǎng)協(xié)議,其核心是一個分布式控制系統(tǒng),其中多個設(shè)備通過一個物理總線連接[5-6]。其系統(tǒng)總體架構(gòu)及運行原理如圖1 所示,搭載Linux 實時系統(tǒng)的全志T3 系列芯片與PHY 芯片連接,然后PHY 芯片連接帶有網(wǎng)絡(luò)隔離變壓器的RJ45 接口,組成了EtherCAT 主站,從站由多臺伺服驅(qū)動器和伺服電機構(gòu)成,主站通過網(wǎng)線將EtherCAT 報文發(fā)送至全部從站。

        2 Linux 系統(tǒng)實時性優(yōu)化

        EtherCAT 主站對其搭載的操作系統(tǒng)的實時性提出了要求[7],本文選用的Linux 操作系統(tǒng)內(nèi)核版本為Linux-3.10.65,其具有豐富軟件資料,穩(wěn)定性和重構(gòu)性強的優(yōu)勢,但本身作為一個通用操作系統(tǒng)內(nèi)核而設(shè)計的,存在實時性能差的缺點,因此選用RT-Preempt 實時補丁優(yōu)化Linux 系統(tǒng)[8-9]。優(yōu)化Linux 系統(tǒng)的實時性步驟如圖2 所示,通過SecureCRT 軟件,在其終端上輸入uname -a 來查看當(dāng)前開發(fā)板的Linux 內(nèi)核的相關(guān)信息,用來判斷Linux 操作系統(tǒng)實時性優(yōu)化是否成功。

        3 EtherCAT 主站設(shè)計

        3.1 應(yīng)用程序設(shè)計

        EtherCAT 主站和從站建立通信主要由EtherCAT總線配置和周期實時任務(wù)兩個階段組成。如圖3 所示。通過在終端使用ifconfig 命令查看所用的網(wǎng)絡(luò)設(shè)備并對網(wǎng)口進行配置。其中ec_config_init()函數(shù)負(fù)責(zé)從站的配置信息:包含從站的數(shù)量、產(chǎn)品的ID。以便于主站可以和特定的從站進行PDO 數(shù)據(jù)交換。

        EtherCAT 狀態(tài)機的通信機制是用來實現(xiàn)主站和從站之間的通信,并且定義了主站和從站在通信過程中可以采取的狀態(tài)[10]。EtherCAT 主站要控制從站運行,需要經(jīng)過四個狀態(tài),分別是Init( 初始化),Pre-Operational( 預(yù)運行),Safe-Operational( 安全運行),Operational(運行),必須按照“初始化→預(yù)運行→預(yù)運行→安全運行”順序進行狀態(tài)的轉(zhuǎn)化,不能越級轉(zhuǎn)化,從運行狀態(tài)返回時可以越級轉(zhuǎn)化[11]。

        EtherCAT 主站控制伺服電機周期同步位置模式模式(Cyclic synchronous position mode, CSP)運行,需要在Pre-Operational 狀態(tài)轉(zhuǎn)向Safe-Operational 狀態(tài)期間,需要配置從站的信息,主站按照CiA402 標(biāo)準(zhǔn)協(xié)議進行PDO 映射,PDO 可以分為RxPDO(信息寫入從站)和TxPDO(從站發(fā)出信息),其配置信息如圖4所示。

        伺服電機csp 模式運行之前,需要設(shè)置伺服驅(qū)動器的模式并且控制其使能,根據(jù)CiA402 協(xié)議,csp 模式對應(yīng)的控制模式為8,因此需要將地址60600008h 寫入8,地址60400010h 寫入任意數(shù)→6→7→15 的順序使能伺服驅(qū)動器。

        3.2 周期性實時任務(wù)

        周期性實時任務(wù)的作用是實現(xiàn)主站與從站之間過程數(shù)據(jù)的交換,其包含了主站周期性實時生成控制指令(邏輯運算指令和運動控制算法)并發(fā)送給從站,從站接收完主站指令執(zhí)行周期性任務(wù)以及反饋運行狀態(tài)。在SOEM 中實現(xiàn)的代碼如下所示:

        ec_send_processdata();

        ec_receive_processdata(EC_TIMEOUTRET);

        周期時間的控制精度影響著EtherCAT 實時性的精度,因此時鐘函數(shù)選用的是擁有納秒級精度的clock_gettime()和clock_nanosleep()。其周期實時任務(wù)設(shè)計模塊如圖5 所示。其中clock_gettime()和clock_nanosleep()函數(shù)的第一參數(shù)為CLOCK_MONOTONIC,將以絕對時間為準(zhǔn),獲取的時間為系統(tǒng)重啟到現(xiàn)在的時間,系統(tǒng)時間的更改對其沒有影響,t1 和t2為絕對時間。

        4 實驗平臺搭建及測試

        本文提出的基于Linux 嵌入式的EtherCAT 主站實驗平臺如圖6所示,其中主要由EtherCAT主站和從站組成,全志T3系列開發(fā)板上使用Linux+RT-PREEMPT+SOEM 的開源架構(gòu)作為EtherCAT 主站,從站選用了兩臺禾川公司開發(fā)的X3E 伺服驅(qū)動器和伺服電機。

        4.1 Linux 內(nèi)核實時性測試

        RT-PREEMPT 移植完成后,需要對其進行實時性測試,以此來用對在實際應(yīng)用場合中處理多任務(wù)高負(fù)載的場景,因此使用壓力測試工具模擬系統(tǒng)處于高負(fù)載的場景,并且同時運行EtherCAT 主站應(yīng)用程序,然后使用Cyclictest 工具測量系統(tǒng)的實時性。

        使用由圖7 可知,沒有實時內(nèi)核的Linux 系統(tǒng)的實時線程最大延遲達到了2ms,已經(jīng)超出了EtherCAT 對實時性的要求。而由圖8 表明,經(jīng)過實時性優(yōu)化的Linux 內(nèi)核的實時線程的性能得到了極大的提升,最大的延遲在60us 左右,平均延遲在18us 左右,最小延遲在11us 左右,其結(jié)果表明實時內(nèi)核的性能更加優(yōu)于非實現(xiàn)內(nèi)核,達到了EtherCAT 主站對實時性us 精度的要求。

        4.2 EtherCAT 通信測試

        周期時間需要實際工程的需求來設(shè)定,其中EtherCAT 數(shù)據(jù)幀收發(fā)的時間是一個重要的影響因素,周期時間設(shè)定的值必須要大于EtherCAT 一幀數(shù)據(jù)幀的收發(fā)時間,選用clock_gettime() 函數(shù)來測量EtherCAT 收發(fā)幀的時間,經(jīng)過長時間的測量,最大時間為420us??紤]到伺服運動控制也需要花費時間,因此將周期時間設(shè)為2ms。

        啟動EtherCAT 主站應(yīng)用程序,主站與從站進行周期數(shù)據(jù)交換后,使用交換機分別與PC 和T3 開發(fā)板的網(wǎng)口相連,使用Wireshark 軟件抓取EtherCAT 數(shù)據(jù)幀并進行統(tǒng)計與分析,EtherCAT 報文如圖9 所示。

        EtherCAT通過檢擦字報文中的WKC(Working Cnt)的值并和預(yù)期的值進行對比,以此來判斷從站是否有正確的處理報文,當(dāng)字報文經(jīng)過一個從站時,進行讀或?qū)懖僮鞒晒r,WKC 會加1,在進行讀/寫操作時,讀成功時WKC 加1,寫成功時WKC 加2,讀寫都成功時,WKC 的時便會加3[12]。由圖9 可知,主站連接著兩個伺服從站,執(zhí)行LRW 和FRMW 的命令后,WKC 的數(shù)值從0 分別變?yōu)榱? 和2,說明了從站正確處理了報文。

        4.3 主站實時性測試

        在SOEM 中,ecx_context.DCtime 是一個用來表示當(dāng)前DC 時鐘值的變量,可以通過檢查ecx_context.DCtime 的值來確定從站的同步狀態(tài),因此使用ns 級別精度的clock_gettime()函數(shù)來獲取當(dāng)前以及上一個ecx_context.DCtime 的值,通過當(dāng)前的DC 值減去上一次的DC 值,便可以計算出當(dāng)前的數(shù)據(jù)傳輸時間,經(jīng)過長時間的測試,其結(jié)果如表1 所示,EtherCAT 數(shù)據(jù)幀傳輸平均周期為2000005ns 左右,符合設(shè)定了2ms 周期,并且最大的周期為2139840ns,與設(shè)定的2ms 周期相差了130us 左右,符合EtherCAT 對實時性的要求,而且在測試期間伺服電機通信穩(wěn)定無報錯。

        由表1 的結(jié)果表明,該方案能穩(wěn)定運行EtherCAT通信,為了進一步分析其主站的性能,利用tshark 工具將Wireshark 抓取的EtherCAT 數(shù)據(jù)包中的時間戳提取出來并進行分析,其測試結(jié)果如下所示:

        由圖10 可知,在Linux+RT-PREEMPT+SOEM 的架構(gòu)中,EtherCAT 主站和從站能正常的周期性通信,該方案的抖動量在80us 左右,最大的抖動量在160us左右。與系統(tǒng)設(shè)置的2ms 周期相比,其延遲是符合預(yù)期要求的,并且在保證正常通信的情況下,該方案可以輕松地進行跨平臺移植,從而減少了大量不必要的安裝和部署工作,降低了學(xué)習(xí)難度。此外,隨著硬件性能的提高,抖動量也會逐漸減少。

        5 結(jié)束語

        本文介紹了基于Linux+RT-PREEMPT+SOEM 的開源框架搭建EtherCAT 主站的主要流程,著重介紹了應(yīng)用程序設(shè)計流程和Linux 內(nèi)核實時性優(yōu)化方法,對搭建好的主站進行性能測試,其結(jié)果表明,使用優(yōu)化后的Linux 內(nèi)核,以本文方案搭建的EtherCAT 主站能順利運行,主站抖動量穩(wěn)定在80us 左右,具有較高的實時性和穩(wěn)定性,較好地解決了傳統(tǒng)EtherCAT 成本高昂、便攜性差的問題,為EtherCAT 主站在Linux 平臺搭建提供了一種切實可行的方案。

        国产精品成人3p一区二区三区| 人妻av不卡一区二区三区| 丰满少妇被爽的高潮喷水呻吟| 丰满大爆乳波霸奶| 亚洲国产精品特色大片观看完整版| 国产精品视频免费的| 亚洲一区二区三区1区2区| 亚洲 另类 小说 国产精品| 久久99精品久久久久久秒播| 欧美日韩中文国产一区| 99久久综合国产精品免费| 自拍情爱视频在线观看| 老熟妇乱子交视频一区| 无码人妻精品一区二区在线视频| 亚洲精品无码久久毛片| 麻豆国产AV网站| 少妇被粗大猛进进出出男女片| 性久久久久久| 日本三级欧美三级人妇视频 | 国产剧情亚洲一区二区三区| 亚洲最大水蜜桃在线观看| 欧美黑人群一交| 欧美日韩国产免费一区二区三区欧美日韩 | 亚洲日韩成人无码| 成 人免费va视频| 精品五月天| 成人女同av免费观看| 日本a级免费大片网站| 亚洲va国产va天堂va久久| 免费av片在线观看网站| 国产午夜精品美女裸身视频69| 亚洲最大av在线精品国产| 乱中年女人伦av三区| 欧美亚洲国产精品久久高清| 激,情四虎欧美视频图片| 日本黄色影院一区二区免费看 | 久久精品国产亚洲一区二区 | 中文字幕av久久激情亚洲精品| 日本伊人精品一区二区三区| 亚洲av午夜福利精品一区二区| 亚洲七七久久综合桃花|