国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

EtherCAT原理介紹及應(yīng)用實(shí)例

Linux閱碼場(chǎng) ? 來(lái)源:CSDN技術(shù)社區(qū) ? 作者:pwl999 ? 2022-05-18 13:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者簡(jiǎn)介

偉林,中年碼農(nóng),從事過(guò)電信、手機(jī)、安全、芯片等行業(yè),目前依舊從事Linux方向開(kāi)發(fā)工作,個(gè)人愛(ài)好Linux相關(guān)知識(shí)分享,個(gè)人微博CSDN pwl999,歡迎大家關(guān)注!

文章目錄

1. 簡(jiǎn)介

1.1 運(yùn)動(dòng)控制

1.2 實(shí)時(shí)以太網(wǎng)

1.3 EtherCAT

2. EtherCAT原理介紹

2.1 實(shí)時(shí)性

2.2 端口管理

2.3 EtherCAT網(wǎng)絡(luò)拓?fù)?/p>

2.4 EtherCAT網(wǎng)絡(luò)協(xié)議棧

2.5 EtherCAT數(shù)據(jù)幀格式

2.6 EtherCAT設(shè)備尋址方式

2.7 分布式時(shí)鐘(Distribute Clock)

2.8 應(yīng)用層(Application Layer)

2.9 設(shè)備配置(Device Profile)

2.10 主站設(shè)計(jì)

2.11 從站設(shè)計(jì)

3. 應(yīng)用層(Application Layer)

3.1EtherCAT Slave Implementation (從站實(shí)現(xiàn))

4. 應(yīng)用實(shí)例

4.1 主站操作系統(tǒng)(RTAI)

4.2 主站EtherCAT程序(IGH)

4.3 主站應(yīng)用開(kāi)發(fā)(LinuxCNC)

4.4 ET1200

4.5 從站程序設(shè)計(jì)

4.6 實(shí)驗(yàn)測(cè)試

5. 工具

5.1 TwinCAT

5.2 LinuxCNC

5.3 開(kāi)源的EtherCAT Master

1. 簡(jiǎn)介

1.1 運(yùn)動(dòng)控制

運(yùn)動(dòng)控制系統(tǒng)處理機(jī)械系統(tǒng)中一個(gè)或多個(gè)坐標(biāo)上的運(yùn)動(dòng)以及運(yùn)動(dòng)之間的協(xié)調(diào),實(shí)現(xiàn)精確的位置控制、速度和加速度控制、轉(zhuǎn)矩和力的控制等。

單軸的運(yùn)動(dòng)控制系統(tǒng)可分為開(kāi)環(huán)、半閉環(huán)和閉環(huán)伺服系統(tǒng)。

多軸運(yùn)動(dòng)控制系統(tǒng)可以分成點(diǎn)位控制、連續(xù)軌跡控制和同步控制。

典型的運(yùn)動(dòng)控制系統(tǒng),從結(jié)構(gòu)上看,包括上位機(jī)控制窗口、運(yùn)動(dòng)控制器驅(qū)動(dòng)器電機(jī)以及測(cè)量反饋系統(tǒng)等幾個(gè)部分組成:

9db41e5e-d63f-11ec-bce3-dac502259ad0.png

1.2 實(shí)時(shí)以太網(wǎng)

實(shí)時(shí)以太網(wǎng)(RTE, Real Time Ethernet)是常規(guī)以太網(wǎng)技術(shù)的延伸,以便滿足工業(yè)控制領(lǐng)域的實(shí)時(shí)性數(shù)據(jù)通信要求。目前,國(guó)際上有多種實(shí)時(shí)工業(yè)以太網(wǎng)協(xié)議,根據(jù)不同的實(shí)時(shí)性和成本的要求使用不同的原理,大致可以分為以下三類:

9dce760a-d63f-11ec-bce3-dac502259ad0.png

(1)基于TCP/IP實(shí)現(xiàn)的工業(yè)以太網(wǎng)仍使用TCP/IP協(xié)議棧,通過(guò)上層合理的控制來(lái)解決通信過(guò)程中的不確定因素。這種方式具有較高的傳輸速率,適應(yīng)于大量數(shù)據(jù)通信,更適合作為網(wǎng)關(guān)和交換設(shè)備的應(yīng)用,不能實(shí)現(xiàn)很好的實(shí)時(shí)性。常用的通信控制方法有:合理調(diào)度,減少?zèng)_突的概率;定義幀數(shù)據(jù)的優(yōu)先級(jí),為實(shí)時(shí)數(shù)據(jù)分配最高優(yōu)先級(jí);使用交換式以太網(wǎng)等。使用這種方式的典型協(xié)議有Modbus/TCP和Ethernet/IP等。

(2)基于以太網(wǎng)實(shí)現(xiàn)的工業(yè)以太網(wǎng)仍然使用標(biāo)準(zhǔn)的、未修改的以太網(wǎng)通信硬件,但是不適用TCP/IP來(lái)傳輸數(shù)據(jù)。它使用特定的報(bào)文進(jìn)行傳輸。TCP/IP協(xié)議棧能使用時(shí)間控制層分發(fā)一定的時(shí)間片來(lái)利用網(wǎng)絡(luò)資源。該類協(xié)議主要有Ethernet Powerlink, EPA C Ethernet for Plant Automation ), PROFINET IRT等。通過(guò)這種方式可以實(shí)現(xiàn)較好的實(shí)時(shí)性。

(3)通過(guò)修改以太網(wǎng)協(xié)議實(shí)現(xiàn)的工業(yè)以太網(wǎng),實(shí)現(xiàn)應(yīng)答時(shí)間小于lms的硬實(shí)時(shí),從站使用特定的硬件實(shí)現(xiàn)。由實(shí)時(shí)MAC控制實(shí)時(shí)通道內(nèi)的通信,從根本上避免報(bào)文間的沖突。非實(shí)時(shí)數(shù)據(jù)依然能在通道中按原協(xié)議通信。典型協(xié)議有德國(guó)倍福的EtherCAT、西門子的PROFINET IRT等。

1.3 EtherCAT

德國(guó)BECKHOFF自動(dòng)化公司于2003年開(kāi)發(fā)出的EtherCAT實(shí)時(shí)以太網(wǎng)技術(shù)突破了其他以太網(wǎng)解決方案的系統(tǒng)限制:通過(guò)該項(xiàng)技術(shù),無(wú)需接受以太網(wǎng)數(shù)據(jù)包,將之解碼,然后再將過(guò)程數(shù)據(jù)復(fù)制到各個(gè)設(shè)備。

2. EtherCAT原理介紹

EtherCAT從站設(shè)備在報(bào)文經(jīng)過(guò)其節(jié)點(diǎn)時(shí)讀取相應(yīng)的數(shù)據(jù)報(bào)文,同樣輸入數(shù)據(jù)也是在報(bào)文經(jīng)過(guò)時(shí)插入到報(bào)文中。整個(gè)過(guò)程報(bào)文只有幾納秒的時(shí)間延遲,實(shí)時(shí)性獲得極大提高

EtherCAT作為一種工業(yè)以太網(wǎng)總線,充分利用了以太網(wǎng)的全雙工特性。使用主從通信模式,主站發(fā)送報(bào)文給從站,從站從中讀取數(shù)據(jù)或?qū)?shù)據(jù)插入至從站。

  • 主站可使用標(biāo)準(zhǔn)網(wǎng)卡實(shí)現(xiàn)

  • 從站選用特定的EtherCAT從站控制器ESC(EtherCAT Slave Controller)或者FPGA實(shí)現(xiàn)

主要完成通信控制應(yīng)用兩部分功能,EtherCAT物理層選用標(biāo)準(zhǔn)以太網(wǎng)物理層器件。

從站能將收到的報(bào)文直接處理,并讀取或插入有關(guān)的數(shù)據(jù),再將報(bào)文發(fā)送給下一個(gè)EtherCAT從站。最末尾的EtherCAT從站返回處理完全的報(bào)文,然后由第一個(gè)從站發(fā)送給主站。整個(gè)通信過(guò)程充運(yùn)行于全雙工模式下,TX線發(fā)出的報(bào)文又通過(guò)RX線返回給主站:

9deae218-d63f-11ec-bce3-dac502259ad0.png

2.1 實(shí)時(shí)性

  • 數(shù)據(jù)包刷新時(shí)間的計(jì)算

數(shù)據(jù)包中所有從站的 Process Datarocess Datarocess Data rocess Data rocess Data rocess Datarocess Data數(shù)據(jù) 決定了數(shù)據(jù)包的長(zhǎng)度。

一個(gè)Ethernet thernet數(shù)據(jù)包最小84 字節(jié),不足 84 字節(jié)會(huì)補(bǔ)齊84 字節(jié)。由于EtherCAT Frame中有一些公共開(kāi)銷, 84 字節(jié)的數(shù)據(jù)包最多含18字節(jié)的過(guò)程數(shù)據(jù)。考慮到數(shù)據(jù)包必須經(jīng)過(guò)每個(gè)從站兩次才能回到主站,所數(shù)據(jù)包以固定的波特率100 Mbps在網(wǎng)絡(luò)上傳輸兩次的時(shí)間 這就是它的總線刷新時(shí)間 。

1.基于這個(gè)原則,以包含 1000路開(kāi)關(guān)量信號(hào)的數(shù)據(jù)包為例,計(jì)算過(guò)程如下:

過(guò)程數(shù)據(jù)長(zhǎng)度:1000/8=125Bytes數(shù)據(jù)包長(zhǎng)度:84-18+125=191Bytes=191*8 Bit= 1528 Bit總線刷新時(shí)間:(1528Bit/100,000,000 Bps)*2=15.28us*2=30.56us

注意,通常的數(shù)字量模塊, 都是單純的輸出或者輸入模塊,而不是混合模塊。所以 1000 個(gè)數(shù)字 量信號(hào), Frame 中就會(huì)分配 125 字節(jié)。

2.再以包含100個(gè)EtherCAT伺服驅(qū)動(dòng)器過(guò)程數(shù)據(jù)的EtherCAT數(shù)據(jù)包為例,假如每個(gè)伺服的過(guò)程數(shù)據(jù)只包括控制字(2字節(jié))、狀態(tài)字(2字節(jié))、目標(biāo)位置(4字節(jié))、實(shí)際位置(4字節(jié)),其總線刷新時(shí)間的計(jì)算過(guò)程如下:

過(guò)程數(shù)據(jù)長(zhǎng)度:100*(2+4)=600 Byte數(shù)據(jù)包長(zhǎng)度:84-18+600=1266 Byte =671*8 Bit =5328 Bit 總線刷新時(shí)間:(5328Bit/100,000,000Bps)*2=100.656μs

注意,F(xiàn)rame中只為一個(gè)伺服分配了6個(gè)字節(jié),這是因?yàn)楦鶕?jù)Beckhoff公司的控制軟件TwinCAT中關(guān)于EtherCAT的默認(rèn)設(shè)置是從站的Input和Output使用同一數(shù)據(jù)段,所以數(shù)據(jù)包進(jìn)入伺服驅(qū)動(dòng)器時(shí)該數(shù)據(jù)段存放的是控制字和目標(biāo)位置,而出來(lái)時(shí)則存放伺服的狀態(tài)字和實(shí)際位置。

以上兩個(gè)數(shù)據(jù)30.56μs和101.28 μs就是EtherCAT官方宣傳資料中,刷新1000個(gè)數(shù)字量需要30μs,刷新100個(gè)伺服軸只需要100μs的數(shù)據(jù)由來(lái)。實(shí)際上,根據(jù)從站的類型、是否包含分布時(shí)鐘、是否啟用時(shí)鐘同步、時(shí)鐘同步的參數(shù)設(shè)置不同,在數(shù)據(jù)包中有可能還會(huì)增加8-12字節(jié)用于傳輸同步時(shí)鐘值,以及相應(yīng)的為每個(gè)從站增加一個(gè)Bit的標(biāo)記等等,會(huì)增加幾個(gè)微秒的刷新時(shí)間,暫且忽略不計(jì)。

以上計(jì)算只是數(shù)據(jù)包傳輸需要的理論時(shí)間,實(shí)際上,數(shù)據(jù)包經(jīng)過(guò)每個(gè)從站會(huì)產(chǎn)生短暫的硬件延時(shí)。100M超五類網(wǎng)線接口的從站延時(shí)約1μs,而EBus的IO模塊類從站延時(shí)約0.3μs,在毫秒級(jí)以下的控制任務(wù)中如果從站數(shù)量較多,這個(gè)時(shí)間也相當(dāng)可觀,計(jì)算刷新周期時(shí)應(yīng)該考慮進(jìn)去。

2.2 端口管理

一個(gè)從站控制器最多可以有4個(gè)端口,如果一個(gè)端口關(guān)閉了,控制器主動(dòng)連接下一個(gè)端口。端口可以隨著EtherCAT命令主動(dòng)的打開(kāi)或者關(guān)閉。邏輯端口設(shè)置決定了EtherCAT幀的處理和發(fā)送順序。

9e210834-d63f-11ec-bce3-dac502259ad0.png

9e6fe486-d63f-11ec-bce3-dac502259ad0.png

9ea60cd2-d63f-11ec-bce3-dac502259ad0.png

9ec3cf7e-d63f-11ec-bce3-dac502259ad0.png

2.3 EtherCAT網(wǎng)絡(luò)拓?fù)?/h2>

所有數(shù)據(jù)幀在網(wǎng)絡(luò)中以一種“邏輯閉環(huán)”的方式傳播,與網(wǎng)絡(luò)的硬件拓樸無(wú)關(guān),無(wú)論它是鏈?zhǔn)健⒕栈ㄦ湣⑿切芜€是樹(shù)形拓樸。

9f016104-d63f-11ec-bce3-dac502259ad0.png

所有數(shù)據(jù)幀都由Master發(fā)出,以事前嚴(yán)格定義的順序,依次經(jīng)過(guò)網(wǎng)絡(luò)上的所有從站,走過(guò)一個(gè)完整的閉環(huán)后回到Master 。所有數(shù)據(jù)幀通過(guò)從站中的 EtherCAT Processing Unit (EtherCAT處理單元)只有 1 次。

線型拓?fù)洌喝我鈹?shù)目的設(shè)備成線型連接 最多65535個(gè)設(shè)備

9f1fe46c-d63f-11ec-bce3-dac502259ad0.png

數(shù)據(jù)處理鏈型拓?fù)?/span>

9f9b1fc4-d63f-11ec-bce3-dac502259ad0.png?

帶有分支線的數(shù)據(jù)處理鏈型拓?fù)?/span>

9fd05e28-d63f-11ec-bce3-dac502259ad0.png

樹(shù)型拓?fù)洌?/span>

9fe95900-d63f-11ec-bce3-dac502259ad0.png

實(shí)時(shí)星型拓?fù)洌?/span>

a0257f5c-d63f-11ec-bce3-dac502259ad0.png

冗余線纜

a05df882-d63f-11ec-bce3-dac502259ad0.png?

選擇冗余電纜可以滿足快速增長(zhǎng)的系統(tǒng)可靠性需求,以保證設(shè)備更換時(shí)不會(huì)導(dǎo)致網(wǎng)絡(luò)癱瘓。您可以很經(jīng)濟(jì)地增加冗余特性,僅需在主站設(shè)備端增加使用一個(gè)標(biāo)準(zhǔn)的以太網(wǎng)端口(無(wú)需專用網(wǎng)卡或接口),并將單一的電纜從總線型拓?fù)浣Y(jié)構(gòu)轉(zhuǎn)變?yōu)榄h(huán)型拓?fù)浣Y(jié)構(gòu)即可(見(jiàn)圖7)。當(dāng)設(shè)備或電纜發(fā)生故障時(shí),也僅需一個(gè)周期即可完成切換。因此,即使是針對(duì)運(yùn)動(dòng)控制要求的應(yīng)用,電纜出現(xiàn)故障時(shí)也不會(huì)有任何問(wèn)題。

EtherCAT也支持熱備份的主站冗余。由于在環(huán)路中斷時(shí)EtherCAT從站控制器芯片將立刻自動(dòng)返回?cái)?shù)據(jù)幀,一個(gè)設(shè)備的失敗不會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。例如,拖鏈設(shè)備可以配置為分支拓?fù)湟苑谰€纜斷開(kāi)。

2.4 EtherCAT網(wǎng)絡(luò)協(xié)議棧

a0861506-d63f-11ec-bce3-dac502259ad0.png

a0b6eb72-d63f-11ec-bce3-dac502259ad0.png

CoE(Can over EtherCAT)PDO(Process Data Object 過(guò)程數(shù)據(jù)對(duì)象)SDO(Service Data Object 服務(wù)數(shù)據(jù)對(duì)象)PDI(ProcessDataInterface過(guò)程數(shù)據(jù)接口)(uC,SSI,I/O)
ESM(EtherCAT State Machine)ESI(EtherCAT Slave Information) (XML device description)ENI(EtherCAT Network Information)CTT(Conformance Test Tool 一致性測(cè)試工具)SM(SyncManagers 同步管理器)MDP(modulardevicedescription模塊化設(shè)備描述)

2.5 EtherCAT數(shù)據(jù)幀格式

EtherCAT數(shù)據(jù)直接嵌入在以太網(wǎng)數(shù)據(jù)幀中進(jìn)行傳輸,只是采用了一種特殊的幀類型,該類型為Ox88A4, EtherCAT數(shù)據(jù)幀結(jié)構(gòu)如圖所示:

a1010720-d63f-11ec-bce3-dac502259ad0.png

EtherCAT數(shù)據(jù)包由數(shù)據(jù)頭和數(shù)據(jù)實(shí)體兩部分組成,EtherCAT數(shù)據(jù)頭包含2個(gè)字節(jié),每個(gè)數(shù)據(jù)包里面可以只包含一個(gè)EtherCAT子報(bào)文,也可以包含多個(gè)子報(bào)文;一個(gè)EtherCAT子報(bào)文對(duì)應(yīng)著一個(gè)從站,因此一個(gè)EtherCAT數(shù)據(jù)包可以操作 多個(gè)EtherCAT從站,相應(yīng)的數(shù)據(jù)長(zhǎng)度在44-1498字節(jié)之間,EtherCAT數(shù)據(jù)幀結(jié)構(gòu)定義:

a13a78fc-d63f-11ec-bce3-dac502259ad0.png

類型字段:

a17c0812-d63f-11ec-bce3-dac502259ad0.png

EtherCAT子報(bào)文結(jié)構(gòu)定義:

a1fc5846-d63f-11ec-bce3-dac502259ad0.png

  • 地址區(qū)字段

EtherCAT 尋址:

a21ec520-d63f-11ec-bce3-dac502259ad0.png

EtherCAT 通信的實(shí)現(xiàn)是通過(guò)由主站發(fā)送至從站的 EtherCAT 數(shù)據(jù)幀來(lái)完成對(duì)從站設(shè)備內(nèi)部存儲(chǔ)區(qū)的讀寫操作, EtherCAT 報(bào)文對(duì) ESC 內(nèi)部存儲(chǔ)區(qū)有多種尋址操作方式,從而可以實(shí)現(xiàn)多種通信服務(wù)。EtherCAT 段內(nèi)尋址有設(shè)備尋址和邏輯尋址兩種方式。

設(shè)備尋址是面對(duì)一個(gè)從站進(jìn)行讀寫操作。
邏輯尋址是面向過(guò)程的數(shù)據(jù)操作,實(shí)現(xiàn)同一報(bào)文讀寫多個(gè)從站設(shè)備的多播功能。

具備全部尋址方式的從站稱為完整性從站,只具備部分尋址方式的從站則稱為基本從站。

  • 命令字段

不同命令通過(guò)信息傳輸系統(tǒng)最優(yōu)化對(duì)所有存取方法的讀寫

a26718c0-d63f-11ec-bce3-dac502259ad0.png

a27a3a0e-d63f-11ec-bce3-dac502259ad0.png

  • WKC字段

Working Counter。如果成功尋址了EtherCAT設(shè)備,并且成功執(zhí)行了讀操作,寫操作或讀/寫操作,則工作計(jì)數(shù)器將遞增。

可以為每個(gè)數(shù)據(jù)報(bào)分配一個(gè)工作計(jì)數(shù)器值,該值是根據(jù)預(yù)期報(bào)文通過(guò)所有設(shè)備數(shù)來(lái)設(shè)置的。通過(guò)將工作計(jì)數(shù)器的預(yù)期值與所有設(shè)備通過(guò)后的實(shí)際值進(jìn)行比較,主站可以檢查EtherCAT數(shù)據(jù)報(bào)是否已成功處理。

a2b43970-d63f-11ec-bce3-dac502259ad0.png

  • 同步管理器

    a2d29f8c-d63f-11ec-bce3-dac502259ad0.png

2.6 EtherCAT設(shè)備尋址方式

a3341a96-d63f-11ec-bce3-dac502259ad0.png

a26718c0-d63f-11ec-bce3-dac502259ad0.png

在EtherCAT的每個(gè)子報(bào)文中,有32位空間用于對(duì)EtherCAT設(shè)備進(jìn)行尋址。尋址方式有四種,分別為:

a3fe0496-d63f-11ec-bce3-dac502259ad0.png

  • 位置尋址

位置尋址方式是根據(jù)從站的連接順序,即物理位置實(shí)現(xiàn)的。在報(bào)文頭的32bit地址中,前16bit的Position用于存放地址值,Offset用于存放ESC邏輯寄存器或者內(nèi)存地址。報(bào)文每經(jīng)過(guò)一個(gè)從站設(shè)備,其Position中的地址值加1。當(dāng)一個(gè)從站接收到EtherCAT報(bào)文后,如果報(bào)文中的地址值為0,則該報(bào)文就是這個(gè)從站要要接收的報(bào)文。

a428ef4e-d63f-11ec-bce3-dac502259ad0.png

在上圖中,如果需要總線上第8個(gè)設(shè)備響應(yīng)報(bào)文,則主站需要將報(bào)文的地址設(shè)為0xFFF9,當(dāng)報(bào)文經(jīng)過(guò)第1個(gè)從站時(shí),地址為0xFFF9,不等于0,第1個(gè)從站不會(huì)響應(yīng)報(bào)文,報(bào)文地址加1,變?yōu)?xFFFA。當(dāng)報(bào)文經(jīng)過(guò)第2個(gè)從站時(shí),地址為0XFFFA,不等于0,第2個(gè)從站不會(huì)響應(yīng)該報(bào)文,報(bào)文地址加1,變?yōu)?xFFFB。以此類推,當(dāng)報(bào)文到達(dá)第8個(gè)從站時(shí),此時(shí)地址值為0x0000,當(dāng)前從站將接收?qǐng)?bào)文。

位置尋址(Position Address / Auto Increment Address)只應(yīng)在啟動(dòng)EtherCAT系統(tǒng)時(shí)用于掃描現(xiàn)場(chǎng)總線,以后只能偶爾使用以檢測(cè)新連接的從站。如果由熱連接或鏈接問(wèn)題導(dǎo)致循環(huán)暫時(shí)關(guān)閉,使用位置尋址可能會(huì)出現(xiàn)問(wèn)題。在這種情況下位置地址被移位,并且,如錯(cuò)誤寄存器的值到設(shè)備的映射變得不可能,因此不能定位故障鏈路。

  • 節(jié)點(diǎn)尋址

在啟動(dòng)階段,主站通常采用位置尋址方式對(duì)總線上的從站進(jìn)行尋址,之后采用節(jié)點(diǎn)尋址方式。

在報(bào)文中,報(bào)文頭的32bit地址,前16bit的Address用于存放站點(diǎn)地址值,Offset用于存放ESC邏輯寄存器或者內(nèi)存地址。

在每個(gè)從站中站點(diǎn)地址保存在寄存器(0x0010) 中。

順序?qū)ぶ窌r(shí),主站可以對(duì)每個(gè)從站的站點(diǎn)地址進(jìn)行設(shè)置,也可以直接讀取每個(gè)從站的的站點(diǎn)地址。

節(jié)點(diǎn)尋址方式的優(yōu)點(diǎn)是,每個(gè)從站的地址與其在總線中的位置無(wú)關(guān)。在添加/刪除從站,甚至是改變總線拓?fù)浣Y(jié)構(gòu)的時(shí)候都能對(duì)從站進(jìn)行正確的訪問(wèn)。

a444b9e0-d63f-11ec-bce3-dac502259ad0.png

上圖是節(jié)點(diǎn)尋址方式的示意圖。8個(gè)從站的地址與其在總線中的位置并沒(méi)有關(guān)系。出于直觀的目的,4臺(tái)伺服驅(qū)動(dòng)器的地址被設(shè)置為連續(xù)的,4個(gè)I/O模塊的地址被設(shè)置為連續(xù)的,在實(shí)際中并沒(méi)有這樣的要求。

EtherCAT從設(shè)備可以有兩個(gè)配置的站點(diǎn)地址,一個(gè)由主站分配(Configured Station Address),另一個(gè)存儲(chǔ)在SII EEPROM,并且可以由從站應(yīng)用程序更改(Configured Station Alias address)。

配置站點(diǎn)地址由主站在啟動(dòng)期間分配,并且不能由EtherCAT從站更改。配置站別名地址存儲(chǔ)在SIIEEPROM中,可由EtherCAT從站更改。配置的站別名必須由主站啟用。如果節(jié)點(diǎn)地址(NodeAddress)與配置的站地址配置的站點(diǎn)別名匹配,將執(zhí)行相應(yīng)的命令操作。

  • 邏輯尋址

EtherCAT的第三種尋址方式是邏輯尋址,首先需要了解的是FMMU。

FMMU(Fieldbus Memory Management Units)

FMMU稱為總線內(nèi)存管理單元,它存在與從站芯片ESC中,負(fù)責(zé)對(duì)從站物理地址與主站邏輯地址進(jìn)行翻譯并建立映射關(guān)系。主站在總線啟動(dòng)過(guò)程中對(duì)FMMU進(jìn)行配置,內(nèi)容包括:

? 邏輯地址的起始地址? 數(shù)據(jù)長(zhǎng)度(按跨字節(jié)數(shù)計(jì)算)? 邏輯地址的起始位? 邏輯地址的終止位? 從站物理地址的起始地址? 從站物理地址的起始位? 操作類型(只讀、只寫、讀寫)?使能

在報(bào)文中,使用報(bào)文頭的32bit地址的全部,用來(lái)表示大小為4GB的邏輯地址空間。

a4669146-d63f-11ec-bce3-dac502259ad0.png

以上圖為例,F(xiàn)MMU將邏輯地址中0x00012345第2位開(kāi)始的,到0x00012346以第2位終止的區(qū)域,與從站物理地址中0x0010第0位開(kāi)始的區(qū)域進(jìn)行映射。

當(dāng)從站收到來(lái)自主站的報(bào)文時(shí),會(huì)檢查報(bào)文中的地址是否與FMMU中的地址相符,如果有,將根據(jù)操作類型進(jìn)行讀寫操作。

a4a7303e-d63f-11ec-bce3-dac502259ad0.png

這種尋址方式的優(yōu)點(diǎn)是,在主站想對(duì)每個(gè)從站進(jìn)行訪問(wèn)的時(shí)候,只需要對(duì)邏輯空間中的地址進(jìn)行操作,而無(wú)須關(guān)心該地址對(duì)應(yīng)的從站物理地址,減輕了主站的負(fù)擔(dān)。

所有器件讀取和寫入相同的邏輯4 GB地址空間(EtherCAT數(shù)據(jù)報(bào)中的32位地址字段)。從器件使用映射單元(FMMU,現(xiàn)場(chǎng)總線存儲(chǔ)器管理單元)將數(shù)據(jù)從邏輯過(guò)程數(shù)據(jù)映像映射到其本地地址空間。在啟動(dòng)期間,主器件配置每個(gè)從器件的FMMU。從站使用FMMU的配置信息知道邏輯過(guò)程數(shù)據(jù)映像的哪些部分必須映射到哪個(gè)本地地址空間。

邏輯尋址支持逐位映射。邏輯尋址是一種強(qiáng)大的機(jī)制,可以減少過(guò)程數(shù)據(jù)通信的開(kāi)銷,因此通常用于訪問(wèn)過(guò)程數(shù)據(jù)。

當(dāng)從站設(shè)備收到的EtherCAT報(bào)文帶有邏輯尋址標(biāo)志位時(shí),從站設(shè)備將檢查自身是否有相應(yīng)的FMMU單位地址與之匹配。

總結(jié):EtherCAT使用三種方式對(duì)設(shè)備進(jìn)行尋址,在啟動(dòng)過(guò)程中,使用順序?qū)ぶ贩绞綖閺恼痉峙涔?jié)點(diǎn)地址,然后通過(guò)節(jié)點(diǎn)尋址方式配置從站寄存器,將邏輯地址與從站物理地址進(jìn)行映射,之后就可以使用邏輯尋址方式進(jìn)行過(guò)程數(shù)據(jù)交換了。

  • Broadcast尋址

每個(gè)EtherCAT從站都被尋址。

使用廣播尋址。如果從站的預(yù)期是相同的,用于所有從站的初始化和檢查所有從站的狀態(tài)。每個(gè)從器件具有一個(gè)16位Local地址空間:

地址范圍0x0000:0x0FFF專用于EtherCAT寄存器,地址范圍0x1000:0xFFFF用作過(guò)程數(shù)據(jù)RAM

通過(guò)EtherCAT數(shù)據(jù)報(bào)的偏移字段尋址,過(guò)程數(shù)據(jù)。

2.7 分布式時(shí)鐘(Distribute Clock)

通過(guò)分布式時(shí)鐘精確的調(diào)整,系統(tǒng)可達(dá)到精確的同步。

a4dd6b18-d63f-11ec-bce3-dac502259ad0.png

外部時(shí)鐘同步IEEE1588

a5381554-d63f-11ec-bce3-dac502259ad0.png

EtherCAT設(shè)備同步

定義系統(tǒng)時(shí)間

定義一個(gè)參考時(shí)鐘:

一個(gè)EtherCAT從站被當(dāng)做參考時(shí)鐘使用參考時(shí)鐘循環(huán)的發(fā)布它的時(shí)鐘參考時(shí)鐘根據(jù)一個(gè)全局參考時(shí)鐘IEEE1588

2.8 應(yīng)用層(Application Layer)

應(yīng)用層AL(Application Layer) 為用戶與網(wǎng)絡(luò)之間提供接口,應(yīng)用層在EtherCAT 通信協(xié)議層次結(jié)構(gòu)中是與用戶聯(lián)系最緊密最直接的一層,它可以直接與用戶進(jìn)行交互,實(shí)現(xiàn)面對(duì)具體的應(yīng)用程序和控制任務(wù)等功能, EtherCAT 應(yīng)用層為各種服務(wù)協(xié)議與應(yīng)用程序之間定義了接口, 使其能夠滿足應(yīng)用層所要求的各種協(xié)議共同工作的需求。

EtherCAT 作為網(wǎng)絡(luò)通信技術(shù),支持CAN open 協(xié)議中的CiA402,以及 SERCOS 協(xié)議的應(yīng)用層( 即 CoE 和SoE)等多種符合行規(guī)的設(shè)備和協(xié)議。

EtherCAT狀態(tài)機(jī) 設(shè)備和網(wǎng)絡(luò)的啟動(dòng)

郵箱接口和協(xié)議 設(shè)備的存取變量 異步傳輸

協(xié)議:

EOE: Ethernet over EtherCATCOE: CANopen over EtherCATFOE: Filetransfer over EtherCATSOE:ServoDriveoverEtherCAT

從站信息接口 設(shè)備特征和配置信息

  • EtherCAT狀態(tài)機(jī)

狀態(tài)機(jī)構(gòu)建于數(shù)據(jù)鏈路層

定義EtherCAT從站設(shè)備一般信息狀態(tài)

指定對(duì)EtherCAT從站設(shè)備啟用網(wǎng)絡(luò)時(shí)初始化和錯(cuò)誤處理

狀態(tài)和主從站之間通信關(guān)系相一致

從站設(shè)備的請(qǐng)求狀態(tài)和當(dāng)前狀態(tài)反應(yīng)于應(yīng)用層和應(yīng)用層注冊(cè)中

定義了五種狀態(tài):

Init                // 應(yīng)用層沒(méi)有數(shù)據(jù)交互,主站對(duì)數(shù)據(jù)傳輸信息注冊(cè)有同路Pre-Operational     // 應(yīng)用層上的郵箱通信。沒(méi)有過(guò)程數(shù)據(jù)交互Safe-Operational    // 應(yīng)用層上的郵箱通信。過(guò)程數(shù)據(jù)通信,但是僅僅是輸入被評(píng)估,輸出置于Safe狀態(tài)Operational         // 輸入和輸出都是有效的
Bootstrap           // 定義了固件更新。是可選的,但是在固件必須要更新時(shí)推薦選擇//只能和init進(jìn)行狀態(tài)間轉(zhuǎn)換,沒(méi)有過(guò)程數(shù)據(jù)通信,通過(guò)應(yīng)用層的郵箱進(jìn)行通信,根據(jù)需要的情況對(duì)郵箱進(jìn)行配置,只能使用FoE協(xié)議。

a5785416-d63f-11ec-bce3-dac502259ad0.png

從站設(shè)備的請(qǐng)求狀態(tài)和當(dāng)前狀態(tài)反應(yīng)于應(yīng)用層控制和應(yīng)用層注冊(cè)中:

應(yīng)用層控制(0x0120)      初始化設(shè)備狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換應(yīng)用層狀態(tài)(0x0130)      設(shè)備狀態(tài)機(jī)的實(shí)際狀態(tài)應(yīng)用層狀態(tài)代碼(0x0134)錯(cuò)誤原因或者其他狀態(tài)代碼
  • 郵箱傳輸

交換變量數(shù)據(jù)的標(biāo)準(zhǔn)方式 郵箱接口是可選擇的,但是推薦使用 如果過(guò)程數(shù)據(jù)是可設(shè)置的,或者有其他的非周期性服務(wù),必須郵箱通信 全雙工能力 從站可以發(fā)起一個(gè)數(shù)據(jù)交互 預(yù)留兩個(gè)同步管理器通道:Sync Manager 0(主站到從站),Sync Manager 1(從站到主站) 數(shù)據(jù)交互的早期階段,郵箱方式是可利用的(State Pre-Operational) 支持多種協(xié)議的能力

郵箱通信協(xié)議的類型:

EOE: Ethernet over EtherCAT     // 通過(guò)EtherCAT傳輸?shù)臉?biāo)準(zhǔn)以太網(wǎng)幀COE: CANopen over EtherCAT      // 訪問(wèn)CANopen對(duì)象字典和它的對(duì)象,CANopen緊急事件和事件驅(qū)動(dòng)的PDO消息FOE: Filetransfer over EtherCAT // 下載上傳固件和其他的一些文件SOE:ServoDriveoverEtherCAT//存取伺服輪廓檢驗(yàn)(IDN)
  • 從站信息接口

強(qiáng)制從站信息接口SII(Slave Information Interface)由所有能被持久保持的對(duì)象組成 信息被存儲(chǔ)于一個(gè)EEPROM,EtherCAT從站控制器和EEPROM之間有一個(gè)SPI接口。

SII包括:

boot設(shè)置數(shù)據(jù)設(shè)備一致性    vender id,產(chǎn)品序列號(hào),修正號(hào),serial no    和CoE對(duì)象0x1018里,相同的信息應(yīng)用程序信息數(shù)據(jù)

額外的一些數(shù)據(jù)

  • AL Status Code(Application Layer Status Code)

Application Layer: Describes the highest layer of the EtherCAT slave stack which includes the EtherCAT State Machine, error handling, Mailbox protocol handling, slave application.

此可選屬性由應(yīng)用程序控制,并報(bào)告由AL的狀態(tài)控制事例檢測(cè)到的最后錯(cuò)誤或ID值。AL(應(yīng)用層)狀態(tài)代碼給出從機(jī)進(jìn)入錯(cuò)誤狀態(tài)的原因。如果錯(cuò)誤標(biāo)志(寄存器0x0130:04)為TRUE,則應(yīng)提供AL狀態(tài)代碼.

2.9 設(shè)備配置(Device Profile)

設(shè)備行規(guī)描述了設(shè)備的應(yīng)用參數(shù)和功能特性,如設(shè)備類別相關(guān)的機(jī)器狀態(tài)等。現(xiàn)場(chǎng)總線技術(shù)已經(jīng)為I/O設(shè)備、驅(qū)動(dòng)、閥等許多設(shè)備類別提供了可利用的設(shè)備行規(guī)。用戶非常熟悉這些行規(guī)以及相關(guān)的參數(shù)和工具,因此,EtherCAT無(wú)需為這些設(shè)備類別重新開(kāi)發(fā)設(shè)備行規(guī),而是為現(xiàn)有的設(shè)備行規(guī)提供了簡(jiǎn)單的接口。該特性使得用戶和設(shè)備制造商可以輕松完成從現(xiàn)有的現(xiàn)場(chǎng)總線到EtherCAT技術(shù)的轉(zhuǎn)換過(guò)程。

  • EtherCAT實(shí)現(xiàn)CANopen (CoE)

CANopen設(shè)備和應(yīng)用行規(guī)廣泛用于多種設(shè)備類別和應(yīng)用,如I/O組件、驅(qū)動(dòng)、編碼器、比例閥、液壓控制器,以及用于塑料或紡織行業(yè)的應(yīng)用行規(guī)等。

EtherCAT可以提供與CANopen機(jī)制[7]相同的通訊機(jī)制,包括對(duì)象字典、PDO(過(guò)程數(shù)據(jù)對(duì)象)、SDO(服務(wù)數(shù)據(jù)對(duì)象),甚至于網(wǎng)絡(luò)管理。

因此,在已經(jīng)安裝了CANopen的設(shè)備中,僅需稍加變動(dòng)即可輕松實(shí)現(xiàn)EtherCAT,絕大部分的CANopen固件都得以重復(fù)利用。并且,可以選擇性地?cái)U(kuò)展對(duì)象,以便利用EtherCAT所提供的巨大帶寬。

  • EtherCAT實(shí)施伺服驅(qū)動(dòng) 設(shè)備行規(guī)IEC 61491 (SoE)

SERCOS interface 是全球公認(rèn)的、用于高性能實(shí)時(shí)運(yùn)行系統(tǒng)的通訊接口,尤其適用于運(yùn)動(dòng)控制的應(yīng)用場(chǎng)合。

用于伺服驅(qū)動(dòng)和通訊技術(shù)的SERCOS框架屬于IEC 61491標(biāo)準(zhǔn)[8] 的范疇。該伺服驅(qū)動(dòng)框架可以輕松地映射到EtherCAT中,嵌入于驅(qū)動(dòng)中的服務(wù)通道、全部參數(shù)存取以及功能都基于EtherCAT郵箱(參見(jiàn)圖12)。在此,關(guān)注焦點(diǎn)還是EtherCAT與現(xiàn)有協(xié)議的兼容性(IDN的存取值、屬性、名稱、單位等),以及與數(shù)據(jù)長(zhǎng)度限制相關(guān)的擴(kuò)展性。過(guò)程數(shù)據(jù),即形式為AT和MDT的SERCOS數(shù)據(jù),都使用EtherCAT從站控制器機(jī)制進(jìn)行傳送,其映射與SERCOS映射相似。并且,EtherCAT從站的設(shè)備狀態(tài)也可以非常容易地映射為SERCOS協(xié)議狀態(tài)。EtherCAT從站狀態(tài)機(jī)可以很容易地映射到SERCOS協(xié)議的通信階段。

EtherCAT為這種在CNC行業(yè)中廣泛使用的設(shè)備行規(guī)提供了先進(jìn)的實(shí)時(shí)以太網(wǎng)技術(shù)。這種設(shè)備行規(guī)的優(yōu)點(diǎn)與EtherCAT分布時(shí)鐘提供的優(yōu)點(diǎn)相結(jié)合,保證了網(wǎng)絡(luò)范圍內(nèi)精確時(shí)鐘同步。可以任意傳輸位置命令,速度命令或扭矩命令。取決于實(shí)現(xiàn)方式,甚至可能繼續(xù)使用相同的設(shè)備配置工具。

a594a472-d63f-11ec-bce3-dac502259ad0.png

  • EtherCAT實(shí)現(xiàn)以太網(wǎng)(EoE)

EtherCAT技術(shù)不僅完全兼容以太網(wǎng),而且在“設(shè)計(jì)”之初就具備良好的開(kāi)放性特征——該協(xié)議可以在相同的物理層網(wǎng)絡(luò)中包容其它基于以太網(wǎng)的服務(wù)和協(xié)議,通常可將其性能損失降到最小。對(duì)以太網(wǎng)的設(shè)備類型沒(méi)有限制,設(shè)備可通過(guò)交換機(jī)端口在EtherCAT段內(nèi)進(jìn)行連接。以太網(wǎng)幀通過(guò)EtherCAT協(xié)議開(kāi)通隧道,這也正是VPN、 PPPoE (DSL) 等因特網(wǎng)應(yīng)用所普遍采取的方法。EtherCAT網(wǎng)絡(luò)對(duì)以太網(wǎng)設(shè)備而言是完全透明的,其實(shí)時(shí)特性也不會(huì)發(fā)生畸變(參見(jiàn)圖13)。

a5f43608-d63f-11ec-bce3-dac502259ad0.png

EtherCAT設(shè)備可以包容其它的以太網(wǎng)協(xié)議,因此具備標(biāo)準(zhǔn)以太網(wǎng)設(shè)備的一切特性。主站的作用與第2層交換機(jī)所起的作用一樣,可按照編址信息將以太網(wǎng)幀重新定向到相應(yīng)的設(shè)備。因此,集成萬(wàn)維網(wǎng)服務(wù)器、電子郵件和FTP 傳送等所有的因特網(wǎng)技術(shù)都可以在EtherCAT的環(huán)境中得以應(yīng)用。

  • EtherCAT實(shí)現(xiàn)文件讀取(FoE)

這種簡(jiǎn)單的協(xié)議與TFTP類似,允許存取設(shè)備中的任何數(shù)據(jù)結(jié)構(gòu)。因此,無(wú)論設(shè)備是否支持TCP/IP,都有可能將標(biāo)準(zhǔn)化固件上載到設(shè)備上。

  • ADS over EtherCAT (AoE)

ADS over EtherCAT (AoE)是由EtherCAT規(guī)范定義的客戶端-服務(wù)器郵箱協(xié)議。盡管CoE協(xié)議提供了詳盡的描述,但AoE則更適合路由與并行服務(wù)的應(yīng)用:通過(guò)網(wǎng)關(guān)設(shè)備訪問(wèn)子網(wǎng)絡(luò),如EtherCAT至CANopen 或EtherCAT至IO-Link 網(wǎng)關(guān)設(shè)備。AoE使EtherCAT主站應(yīng)用(如PLC程序)可以訪問(wèn)所屬CANopen 或 IOLink從站的各個(gè)參數(shù)。AoE路由機(jī)制開(kāi)銷遠(yuǎn)低于因特網(wǎng)協(xié)議(IP)所定義的開(kāi)銷,并且發(fā)送方和接收方尋址參數(shù)始終包含在AoE報(bào)文中。因此,EtherCAT主站和從站端的實(shí)施更為精簡(jiǎn)。AoE也通過(guò)EtherCAT自動(dòng)化協(xié)議(EAP)進(jìn)行非周期通信的標(biāo)準(zhǔn)化,從而為上位機(jī)MES系統(tǒng)或主計(jì)算機(jī)、EtherCAT主站及其從屬的現(xiàn)有設(shè)備之間提供無(wú)縫通信。同時(shí),AoE也提供了從遠(yuǎn)程診斷工具獲取EtherCAT網(wǎng)絡(luò)診斷信息的標(biāo)準(zhǔn)化方法。

2.10 主站設(shè)計(jì)

EtherCAT可以在單個(gè)以太網(wǎng)幀中最多實(shí)現(xiàn)1486字節(jié)的分布式過(guò)程數(shù)據(jù)通訊。其它解決方案一般是,主站設(shè)備需要在每個(gè)網(wǎng)絡(luò)周期中為各個(gè)節(jié)點(diǎn)處理、發(fā)送和接收幀。

而EtherCAT系統(tǒng)與此不同之處在于,在通常情況下,每周期僅需要一個(gè)或兩個(gè)幀即可完成所有節(jié)點(diǎn)的全部通訊,因此,EtherCAT主站不需要專用的通訊處理器。主站功能幾乎不會(huì)給主機(jī)CPU帶來(lái)任何負(fù)擔(dān),輕松處理這些任務(wù)的同時(shí),還可以處理應(yīng)用程序,因此EtherCAT無(wú)需使用昂貴的專用有源插接卡,只需使用無(wú)源的NIC卡或主板集成的以太網(wǎng)MAC設(shè)備即可。EtherCAT主站很容易實(shí)現(xiàn),尤其適用于中小規(guī)模的控制系統(tǒng)和有明確規(guī)定的應(yīng)用場(chǎng)合。

例如,如果某個(gè)單個(gè)過(guò)程映像的PLC沒(méi)有超過(guò)1486 字節(jié),那么在其周期時(shí)間內(nèi)循環(huán)發(fā)送這個(gè)以太網(wǎng)幀就足夠了。因?yàn)閳?bào)文頭運(yùn)行時(shí)不會(huì)發(fā)生變化,所以只需將常數(shù)報(bào)文頭插入到過(guò)程映像中,并將結(jié)果傳送到以太網(wǎng)控制器即可。

EtherCAT映射不是在主站產(chǎn)生,而是在從站產(chǎn)生(外圍設(shè)備將數(shù)據(jù)插入所經(jīng)以太網(wǎng)幀的相應(yīng)位置),因此,此時(shí)過(guò)程映像已經(jīng)完成排序。該特性進(jìn)一步減輕了主機(jī)CPU的負(fù)擔(dān)。可以看到,EtherCAT主站完全在主機(jī)CPU中采用軟件方式實(shí)現(xiàn),相比之下,傳統(tǒng)的慢速現(xiàn)場(chǎng)總線系統(tǒng)通過(guò)有源插接卡方可實(shí)現(xiàn)主站的方式則要占用更多的資源,甚至服務(wù)于DPRAM的有源卡本身也將占用可觀的主機(jī)資源。

系統(tǒng)配置工具(通過(guò)生產(chǎn)商獲取)可提供包括相應(yīng)的標(biāo)準(zhǔn) XML 格式啟動(dòng)順序在內(nèi)的網(wǎng)絡(luò)和設(shè)備參數(shù)。

a6144696-d63f-11ec-bce3-dac502259ad0.png

已經(jīng)在各種實(shí)時(shí)操作系統(tǒng)上實(shí)現(xiàn)了EtherCAT主站,包括但并不限于:eCos, INtime, MICROWARE OS-9,MQX, On Time RTOS-32, Proconos OS, Real-Time Java, RT Kernel, RT-Linux, RTX, RTXC, RTAI Linux,PikeOS, Linux with RT-Preempt, QNX, VxWin + CeWin, VxWorks, Windows CE, Windows XP/XPE with CoDeSys SP RTE, Windows NT/NTE/2000/XP/XPE/Vista with TwinCAT RTE, Windows 7 and XENOMAI Linux. 可以獲得開(kāi)源主站協(xié)議棧,作為示例代碼或商業(yè)軟件。也有各種公司提供各種硬件平臺(tái)上的實(shí)施服務(wù)。可以在EtherCAT網(wǎng)站上的產(chǎn)品區(qū)找到快速增長(zhǎng)的供應(yīng)商信息[1]。

另一種EtherCAT主站的實(shí)現(xiàn)方式是使用樣本代碼,花費(fèi)不高。軟件以源代碼形式提供,包括所有的EtherCAT主站功能,甚至還包括EoE(EtherCAT實(shí)現(xiàn)以太網(wǎng))功能(見(jiàn)圖15)。開(kāi)發(fā)人員只要把這些應(yīng)用于Windows環(huán)境的代碼與目標(biāo)硬件及所使用的RTOS加以匹配就可以了。該軟件代碼已經(jīng)成功應(yīng)用于多個(gè)系統(tǒng)。

a6672eba-d63f-11ec-bce3-dac502259ad0.png

2.11 從站設(shè)計(jì)

從站EtherCAT Processing Unit 總是位于 Port 0 之后其它端口之前,并在數(shù)據(jù)幀傳輸?shù)倪^(guò)程中提取和插入數(shù)據(jù):

a6ef4afc-d63f-11ec-bce3-dac502259ad0.png

DPRAM:雙端口存儲(chǔ)器 Dual-Ported RAM,可以分別從主站及本地微處理器uC訪問(wèn)。訪問(wèn) ESC 的 Dual-Ported RAM 讀出 并/或 寫入數(shù)據(jù)。

從器件具有一個(gè)16位Local地址空間:

地址范圍0x0000:0x0FFF專用于EtherCAT寄存器,地址范圍0x1000:0xFFFF用作過(guò)程數(shù)據(jù)RAM

a71ffd64-d63f-11ec-bce3-dac502259ad0.png

SyncManagers阻止主站和從站微處理器(uC)同時(shí)訪問(wèn) ESC存儲(chǔ)區(qū),確保數(shù)據(jù)的一致性

→含周期性數(shù)據(jù)(ProcessData)和非周期性數(shù)據(jù)(Mailbox)

FMMUs為L(zhǎng)xx數(shù)據(jù)報(bào)文完成邏輯地址到物理地址的轉(zhuǎn)換

→僅對(duì)于周期性數(shù)據(jù)(ProcessData

從站的SyncManagers 和 FMMU 是由主站在初始化階段自動(dòng)配置的,該配置基于每個(gè)從站的XML文件和整個(gè)網(wǎng)絡(luò)的設(shè)置。

a75ef820-d63f-11ec-bce3-dac502259ad0.png

a77e55e4-d63f-11ec-bce3-dac502259ad0.png

EtherCAT從站設(shè)備使用一個(gè)價(jià)格低廉的從站控制器芯片ESC。從站不需要微處理器就可以實(shí)現(xiàn)EtherCAT通信。可以通過(guò)I/O接口實(shí)現(xiàn)的簡(jiǎn)單設(shè)備可以只由ESC和其下的PHY,變壓器和RJ45接頭。給從站的過(guò)程數(shù)據(jù)接口是32位的I/O接口。這種從站沒(méi)有可配置的參數(shù),所以不需要軟件或郵箱協(xié)議。EtherCAT狀態(tài)機(jī)由ESC處理。ESC的啟動(dòng)信息從EEPROM中讀取,它也支持從站的身份識(shí)別。

a798cbfe-d63f-11ec-bce3-dac502259ad0.png

更復(fù)雜的可配置從站有使用一個(gè)CPU。這個(gè)CPU和ESC之間使用8位或16位并行接口或串行SPI接口。要求的CPU性能取決于從站的應(yīng)用,EtherCAT協(xié)議軟件在其上運(yùn)行。EtherCAT協(xié)議棧管理EtherCAT狀態(tài)機(jī)和應(yīng)用層協(xié)議,可以實(shí)現(xiàn)CoE協(xié)議和支持固件下載的FoE協(xié)議。EoE協(xié)議也可以實(shí)施。

a7cdb850-d63f-11ec-bce3-dac502259ad0.png

從站控制器通常都有一個(gè)內(nèi)部的DPRAM(DUAL PORT RAM),并提供存取這些應(yīng)用內(nèi)存的接口范圍:

串行SPI(串行外圍接口)主要用于數(shù)量較小的過(guò)程數(shù)據(jù)設(shè)備,如模擬量I/O模塊、傳感器、編碼器和簡(jiǎn)單驅(qū)動(dòng)等。該接口通常使用8位微控制器,如微型芯片PIC、DSPIntel 80C51等(見(jiàn)圖16)。8/16位微控制器并行接口與帶有DPRAM接口的傳統(tǒng)現(xiàn)場(chǎng)總線控制器接口相對(duì)應(yīng),尤其適用于數(shù)據(jù)量較大的復(fù)雜設(shè)備。通常情況下,微控制器使用的接口包括Infineon 80C16x、Intel 80x86、Hitachi SH1、ST10、ARM和TI TMS320等系列(見(jiàn)圖16)。32位并行I/O接口不僅可以連接多達(dá)32位數(shù)字輸入/輸出,而且也適用于簡(jiǎn)單的傳感器或執(zhí)行器的32位數(shù)據(jù)操作。這類設(shè)備無(wú)需主機(jī)CPU(見(jiàn)圖17)。

PDO(過(guò)程數(shù)據(jù)對(duì)象)、SDO(服務(wù)數(shù)據(jù)對(duì)象)

報(bào)文通過(guò)從站控制器時(shí),從站讀取出相關(guān)命令并進(jìn)行對(duì)應(yīng)處理,數(shù)據(jù)處理通過(guò)硬件完成,延間約為100-_500ns,通信性能獨(dú)立于MCU的響應(yīng)時(shí)間。每個(gè)ESC最大有容量為64KB的可用的內(nèi)存編址,能進(jìn)行連續(xù)或同步的讀寫。多個(gè)EtherCAT命令數(shù)據(jù)可以被嵌入到一個(gè)以太網(wǎng)報(bào)文中,每個(gè)數(shù)據(jù)對(duì)應(yīng)獨(dú)立的設(shè)備或內(nèi)存區(qū)。

EtherCAT極大提高了以太網(wǎng)的性能,比如操作1000個(gè)I/O信號(hào)的時(shí)間約為30微秒。單個(gè)報(bào)文至多容納1486字節(jié)的過(guò)程數(shù)據(jù),和12000位I/O信號(hào)相當(dāng),更新所需時(shí)間約為300微秒。控制100個(gè)伺服單元的時(shí)間約為100微秒。

在基于PC的主站中,一般使用網(wǎng)絡(luò)接口卡NIC(Network Interface Card)其中的網(wǎng)卡芯片集成了以太網(wǎng)通信控制器和物理層數(shù)據(jù)收發(fā)器。但是在嵌入式主站中,通信控制器通常集成在微處理器中。

EtherCAT從站設(shè)備同時(shí)實(shí)現(xiàn)應(yīng)用控制和數(shù)據(jù)通信兩部分功能,其組成如圖所示,由四部分組成:從站控制微處理器、EtherCAT從站控制器ESC芯片、物理層器件和其他應(yīng)用層器件。

a80ccd88-d63f-11ec-bce3-dac502259ad0.png

EtherCAT報(bào)文由從站控制器來(lái)處理,使用雙端口存儲(chǔ)區(qū)完成主從站間的數(shù)據(jù)交換。每個(gè)從站ESC在環(huán)路上按各自的順序移位讀寫數(shù)據(jù)。當(dāng)數(shù)據(jù)幀經(jīng)過(guò)從站時(shí),ESC從中讀取發(fā)送給自己的命令數(shù)據(jù)并放到內(nèi)部存儲(chǔ)區(qū),插入的數(shù)據(jù)又被從內(nèi)部 存儲(chǔ)區(qū)寫到子報(bào)文中。

從站控制微處理器主要負(fù)責(zé)處理EtherCAT通信和完成控制任務(wù)。微處理器從ESC獲取控制數(shù)據(jù)實(shí)現(xiàn)設(shè)備控制功能,并采樣設(shè)備的反饋數(shù)據(jù)寫入ESC。從站控制微處理器的選型根據(jù)設(shè)備控制任務(wù),可以使用ARM或DSP; 8位、16位或32位的處理器。EtherCAT從站采用MII接口模式時(shí),需要使用標(biāo)準(zhǔn)以太網(wǎng)物理層器件:物理層芯片PHY,隔離變壓器等。采用EBUS接口時(shí)不需要任何其他芯片。

a84e2080-d63f-11ec-bce3-dac502259ad0.png

3. 應(yīng)用層(Application Layer)

3.1EtherCAT Slave Implementation (從站實(shí)現(xiàn))

  • DPRAM (雙端口存儲(chǔ)器)size and number of SyncManagers(同步管理 )

The DPRAM is used for exchange of cyclic and acyclic data(循環(huán)和非循環(huán)的數(shù)據(jù)交換) via the EtherCAT network. SyncManagers ensure data consistency(保證數(shù)據(jù)的一致性) within the DPRAM.

Each ESC has 4kByte ofregisters(addresses 0x0000 to 0x0FFF) which are reserved for (EtherCAT and PDI communication)configuration settings(配置設(shè)置 ).

Mailbox(郵箱) andprocess datais exchanged via additional DPRAM (also called user memory用戶存儲(chǔ)器 ). EtherCAT allows addressing(編址) of user memory of up to 60kBytes. ASICs provide between 1kByte and 8kByte of DPRAM, IP Cores can be configured to provide the full 60kByte of user memory.

Application Note: The standard SyncManager configuration is(標(biāo)準(zhǔn)的同步管理配置)

- 1 SyncManager per acyclic data output (mailbox out, master to slave) - 1 SM for acyclic data input (mailbox in, slave to master) - 1 SM for cyclic data output (process data out, master to slave) -1SMforcyclicdatainput(processdatain,slavetomaster)

For process data, SM running in 3-buffer-mode(3緩存模式) need three times the length (3倍長(zhǎng)度) of actual process data for physical memory(物理內(nèi)存) . The following table shows a schema(體系結(jié)構(gòu),模式) of how to allocate(分配) the length for the 4 SM.

Table 5: DPRAM Size Calculation Example( DPRAM大小計(jì)算示例)

SyncManager Buffer Count Length [Byte] Total length [Byte]
SM0 Output Mailbox 1 L_MbxOut 1*L_MbxOut
SM1 Input Mailbox 1 L_MbxIn + 1*L_MbxIn
SM2 Outputs 3 L_Out (TxPDO) + 3*L_Out
SM3 Inputs 3 L_In (RxPDO) +3*L_In
- - - - ∑ DPRAM size

SyncManagers are enabled(開(kāi)啟) by the following settings of the master during network initialization(網(wǎng)絡(luò)初始化) .

-Physical address of ESC(ESC物理地址) -Data length (數(shù)據(jù)長(zhǎng)度) -SyncManager control input(同步管理控制輸入) :     i. Operation mode【操作模式】 (mailbox-mode/3-buffer-mode)     ii. Access direction【訪問(wèn)方向:讀或者寫】 (Read direction/Write direction)     iii. Interrupt settings 【中斷設(shè)置】 (Valid/Invalid 有效/無(wú)效 )     iv. SyncManager watchdog setting【同步管理看門狗定時(shí)器設(shè)置】 (Valid/Invalid) v.SyncManagersetting(Valid/Invalid)

The default values are set in the ESI (chapter 2.4.1); the master initializes the SyncManager using the values from the ESI.(默認(rèn)值在 ESI中設(shè)置,主站初始化時(shí)調(diào)用 ESI中的值)

Syncmanagers(同步管理器)

同步管理器簡(jiǎn)稱SM用來(lái)協(xié)調(diào)應(yīng)用程序和主機(jī)的數(shù)據(jù)交互,同步管理器同步的是數(shù)據(jù)而非時(shí)間,同步管理器確保了應(yīng)用程序和主機(jī)能夠正確的寫入或讀取數(shù)據(jù)。同時(shí)同步管理器可以以中斷的形式通知主機(jī)和應(yīng)用程序發(fā)生的數(shù)據(jù)更新事件。

從站的ESC中包含多個(gè)同步管理器,每一個(gè)同步管理器都可以單獨(dú)的配置:

同步管理器的配置中包括告知同步管理器其需要管理的內(nèi)存地址的范圍,管理內(nèi)存的屬性(屬于讀或?qū)懀瑢儆卩]箱數(shù)據(jù)或過(guò)程數(shù)據(jù))。

所以每一種數(shù)據(jù)交互方式都會(huì)有一個(gè)同步管理器來(lái)管理,應(yīng)用程序進(jìn)行數(shù)據(jù)交互時(shí),只需要更具不同的同步管理器就可以方便的區(qū)分?jǐn)?shù)據(jù)的類型(PDO 或SDO、讀或?qū)懀恼驹诔跏蓟瘯r(shí)會(huì)讀取SM管理器中的配置來(lái)確定數(shù)據(jù)的存放地址。

數(shù)據(jù)的交互主要有緩沖模式和郵箱模式。緩沖模式主要應(yīng)用于周期性過(guò)程數(shù)據(jù)的傳送。

  • Number of Fieldbus Memory Management Units (FMMUs)(現(xiàn)場(chǎng)總線儲(chǔ)存管理單元)

In an EtherCAT network, the memory of all slaves can be compiled in the master(所有從站的儲(chǔ)存都可以在主站中編輯) to a logical memory(邏輯內(nèi)存) . This logical memory is managed by FMMUs to map(映射) logical addresses to physical addresses in the slavesFMMUs(邏輯內(nèi)存通過(guò) 的管理和從站中的物理內(nèi)存相對(duì)應(yīng)) .

For the FMMU configuration in a device, each consistent output and each consistent input block needs one FMMU and an additional FMMU for mailbox status response is necessary.

// 對(duì)于設(shè)備中的FMMU配置,每個(gè)一致的輸出和每個(gè)一致的輸入塊都需要一個(gè)FMMU,并且還需要一個(gè)用于郵箱狀態(tài)響應(yīng)的附加FMMU。

Application Note: The standard configuration is one FMMU per each, cyclic output and cyclic input data block , optionally an additional one for mapping the mailbox response availability flag into process data (thus, no polling of mailboxes is necessary). If the outputs and inputs are groupede.g. like in Table 5, 3 FMMUs are configured, see Table 6.

// 應(yīng)用說(shuō)明:標(biāo)準(zhǔn)配置是每個(gè)循環(huán)輸出和循環(huán)輸入數(shù)據(jù)塊一個(gè)FMMU,還可以選擇另外一個(gè)用于將郵箱響應(yīng)可用性標(biāo)志映射到過(guò)程數(shù)據(jù)中(因此,不需要輪詢郵箱)。如果輸出和輸入被分組,例如 如表5所示,配置了3個(gè)FMMU,請(qǐng)參閱表6。

Table 6: FMMU Configuration

FMMU Assigned SyncManager Name Length [Byte]
1 SM2 Outputs L_Out (TxPDO)
2 SM3 Inputs L_In (RxPDO)
3 SM0 & SM1 Mbx-SM Status Flags Mbx In/Out Length
  • Distributed Clocks (DCs(同步) with other slave devices,分布式時(shí)鐘 ) for synchronization

Evaluate if the device should support high precise(支持高精度) synchronization with other slave devices. If so, DCs should be supported by the selected ESC. Distributed Clocks refer to the DC function for EtherCAT slaves (chapter 1.3.5). The times held by slaves are adjusted with this mechanism(途徑) and thus enable precise synchronization of the nodes(節(jié)點(diǎn)) in the EtherCAT network.

// 評(píng)估設(shè)備是否應(yīng)支持與其他從設(shè)備的高精度同步。如果是這樣,所選的ESC應(yīng)該支持DC。分布式時(shí)鐘指的是EtherCAT從站的DC功能(第1.3.5章)。通過(guò)這種機(jī)制可以調(diào)整從站保持的時(shí)間,從而實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)中節(jié)點(diǎn)的精確同步。

  • EEPROM(電可擦只讀存儲(chǔ)器)

The EEPROM is mounted(安裝) outside the ESC and connected via I2C with point-to-point link(點(diǎn)對(duì)點(diǎn)連接) . According to the size of the EEPROM the EEPROMSIZE signal should be set. For more details, refer to the Knowledge Base, chapter 11.3 d electrical Interface EEPROM an(I 2C)". For EEPROM (SII) Enhanced Link Detection setting (加強(qiáng)連接檢測(cè)設(shè)置) , refer to documentation of the ESC vendor. // EEPROM安裝在ESC外部,并通過(guò)I2C與點(diǎn)對(duì)點(diǎn)鏈接連接。根據(jù)EEPROM的大小,應(yīng)設(shè)置EEPROMSIZE信號(hào)。有關(guān)更多詳細(xì)信息,請(qǐng)參見(jiàn)知識(shí)庫(kù)第11.3章“電氣接口EEPROM和(I 2C)”。有關(guān)EEPROM(SII)增強(qiáng)鏈接檢測(cè)設(shè)置,請(qǐng)參閱ESC供應(yīng)商的文檔。

  • Application Controller【應(yīng)用控制】 (Host Controller, μ C)

If a local software application provides the device functionality, any 8 or 16 bit synchronous or asynchronous microcontroller(任何一個(gè) 8位或者 16位同步或者異步微控制器) can be connected to the ESC. The application controller communicates with the ESC via the Process Data Interfaces (PDI).

To adapt the application software on the host(為了和主站的應(yīng)用程序相適應(yīng) ) controller to the ESC, sample software stacks(樣本軟件棧) are available for communication implementation(通訊的實(shí)現(xiàn)), e.g. the Slave Sample Code(從站樣本代碼) (SCC). If the device is a 32 bit digital I/O interface, no application controller or additional communication software is necessary.

// 為了使主機(jī)控制器上的應(yīng)用軟件適應(yīng)ESC,可以使用示例軟件堆棧進(jìn)行通信實(shí)現(xiàn),例如從機(jī)樣本代碼(SCC)。如果設(shè)備是32位數(shù)字I/O接口,則無(wú)需應(yīng)用程序控制器或其他通訊軟件。

In most cases, manufacturers(制造商) can use a familiar microcontroller type as application controller in the EtherCAT device(使用相似型號(hào)的微控制器作為應(yīng)用控制使用在 EtherCAT設(shè)備中) . If application software already exists, e.g. for a different fieldbus, it can be used for the EtherCAT device as well.

// 在大多數(shù)情況下,制造商可以在EtherCAT設(shè)備中使用熟悉的微控制器類型作為應(yīng)用程序控制器。如果應(yīng)用軟件已經(jīng)存在,例如 對(duì)于不同的現(xiàn)場(chǎng)總線,它也可以用于EtherCAT設(shè)備。

The source code(源代碼) for communications software on the host controller allocates(分配) about 70kByte. The following features are a typical configuration (referring to the Slave Sample Code):

EtherCAT State Machine (ESM), including error handling(錯(cuò)誤處理) Device diagnosis(設(shè)備診斷) Master-Slave data synchronization (主從站之間的數(shù)據(jù)同步) with SyncManager event (no DCs) Mailbox CoE Object Dictionary (對(duì)象字典) (20 objects) for process data objects (過(guò)程數(shù)據(jù)對(duì)象) CoEservices,includingCoEInfoservices(信息服務(wù)),nosegmentedtransfer(無(wú)分割轉(zhuǎn)換)

A list of other available sample stacks can be obtained on the product section of the ETG website.

  • Application Layer Communication Protocols (應(yīng)用層通訊協(xié)議)

In EtherCAT, several protocols are available (see chapter 1.3.6) for the application layer to implement (實(shí)施) the required specification of the product development(產(chǎn)品開(kāi)發(fā)時(shí)所需的規(guī)格) . When to apply them is described here.

CAN application protocol (總線應(yīng)用協(xié)議 )over EtherCAT(CoE) To provide acyclic data exchange as well as mechanisms to configure PDOs for cyclic data exchange in a structured way, CoE (with SDO-Info support) should be implemented. 
Servo drive profile(伺服驅(qū)動(dòng)配置文件) over EtherCAT(SoE) SoE is an alternative drive profile to the CiA402 drive profile. It is often used by drive manufacturers which are familiar with the SERCOS interface. 
Ethernet(以太網(wǎng)) over EtherCAT(EoE) EoE is usually used to provide webserver interfaces(網(wǎng)絡(luò)接口) via EtherCAT. It is also used for devices providing decentral standard Ethernet ports(分散生產(chǎn)方式的標(biāo)準(zhǔn)以太網(wǎng)端口) . ? File Access(文件存取組件) over EtherCAT(FoE) If the device should support firmware(固件)download via EtherCAT, FoE should be supported. FoE is based on TFTP. It provides fast file transfer and small protocol implementation. 
ADSoverEtherCAT(AoE)小協(xié)議實(shí)施Whenplanningtocontrolthedeviceviaa.Netinterface,AoEisanoptiontoapply.

Application Note:An exemplary(典范) CoE implementation is shown below.

a8a43344-d63f-11ec-bce3-dac502259ad0.png

The user application runs the device specific software(設(shè)備專用軟件) on the μ C to implement device features(實(shí)現(xiàn)設(shè)備功能特性 ). Sample source code(protocol stacks) offered by EtherCAT stack vendors can be used to develop this application or to adapt existing software to EtherCAT.

Application Note:EtherCAT Slave Stack Code (SSC,從站堆棧代碼 ).

The SSC is a free sample codefrom Beckhoff(德國(guó)倍福自動(dòng)化有限公司)(免費(fèi)樣本代碼) which provides an interface to the ESC. For hardware independent software development(獨(dú)立于硬件的軟件開(kāi)發(fā)) , the SSC runs on several evaluation kits(評(píng)估板) and can be customized(自定義) for implementation in accordance with the product specification. Figure 14 shows the SSC structure with the interfaces to the user specific device application(用戶特定的設(shè)備應(yīng)用) and the ESC.

a8ea3f24-d63f-11ec-bce3-dac502259ad0.png

Application Note:EtherCAT Slave Protocol Stack.(從站協(xié)議棧)

Hilscher(德國(guó)赫優(yōu)訊公司) offers a Slave Control Stack based on its netX hardware withDual Port Memoryinterface (DPM,雙端口記憶器 ) and it is available for the user application with an API. Figure 15 shows the protocol stack architecture(協(xié)議棧構(gòu)架) with interfaces to the ESC and the user application.

a934db88-d63f-11ec-bce3-dac502259ad0.png

  • Device Profiles(設(shè)備配置文件)

During network initialization(網(wǎng)絡(luò)初始化期間) , parameter setup(參數(shù)設(shè)定) is necessary, where data does not need to be transmitted cyclically(周期性傳輸) but only during network initialization. Acyclic data exchange is done via mailbox protocols(非循環(huán)的數(shù)據(jù)傳輸通過(guò)郵箱協(xié)議) , usually via theCoEprotocol (see chapter 2.3.5). For devices with variable process data structure, the definition of a modular device description(MDP,模塊化設(shè)備描述 ) is available. The MDP is described in the ETG.5001 Modular Device Profile Specification(說(shuō)明書) .

// 在網(wǎng)絡(luò)初始化期間,必須進(jìn)行參數(shù)設(shè)置,這些數(shù)據(jù)不需要循環(huán)傳輸,而僅在網(wǎng)絡(luò)初始化期間需要傳輸。非循環(huán)數(shù)據(jù)交換是通過(guò)郵箱協(xié)議(通常通過(guò)CoE協(xié)議)完成的(請(qǐng)參閱第2.3.5章)。對(duì)于具有可變過(guò)程數(shù)據(jù)結(jié)構(gòu)的設(shè)備,可以使用模塊化設(shè)備描述(MDP)的定義。EDP.5001模塊化設(shè)備配置文件規(guī)范中描述了MDP。

The MDP is based on the object dictionary defined byCoE(CAN application protocol over EtherCAT). The object dictionary can be described as a two dimensional list(二維表) . Each list entry (每個(gè)表的入口) is identified(識(shí)別) by an index(指針,索引) (0x0000–0xFFFF) which represents an object. Each object can contain up to 255 subindices(分目錄) , also called object entries. The object list is structured in different areas, see Table 7.

// MDP基于CoE(基于EtherCAT的CAN應(yīng)用協(xié)議)定義的對(duì)象字典。對(duì)象字典可以描述為二維列表。每個(gè)列表?xiàng)l目均由代表對(duì)象的索引(0x0000-0xFFFF)標(biāo)識(shí)。每個(gè)對(duì)象最多可以包含255個(gè)子索引,也稱為對(duì)象條目。對(duì)象列表的結(jié)構(gòu)在不同區(qū)域中,請(qǐng)參見(jiàn)表7。

a982561a-d63f-11ec-bce3-dac502259ad0.png

The idea of the MDP is to provide a basic structure for masters(為主站提供一個(gè)基本構(gòu)架) and configuration tools(配置工具) to handle(處理) slaves with complex (modular) structure easily. The user has the advantage, that if the slave variables’(變量)s are sorted in an MDP style, he can find the different data types by identical patterns(相同的模式) .

// MDP的思想是為主機(jī)和配置工具提供基本結(jié)構(gòu),以輕松處理具有復(fù)雜(模塊化)結(jié)構(gòu)的從機(jī)。用戶的優(yōu)勢(shì)在于,如果以MDP樣式對(duì)從屬變量進(jìn)行排序,則他可以通過(guò)相同的模式找到不同的數(shù)據(jù)類型。

The MDP can be applied to various types of devices. It is applicable to multiple axis(多軸) servo drive system(伺服驅(qū)動(dòng)系統(tǒng)) of various functionality groups(各種功能組) , such as positioning(位置控制) , torque(扭矩控制) and velocity control(轉(zhuǎn)速控制) . It is further applicable to gateway(網(wǎng)關(guān)) between different fieldbuses, i.e., Profibus, DeviceNet. Modular devices are driven by two aspects:

// MDP可以應(yīng)用于各種類型的設(shè)備。適用于各種功能組的多軸伺服驅(qū)動(dòng)系統(tǒng),例如定位,轉(zhuǎn)矩和速度控制。它進(jìn)一步適用于不同現(xiàn)場(chǎng)總線之間的網(wǎng)關(guān),即Profibus,DeviceNet。模塊化設(shè)備由兩個(gè)方面驅(qū)動(dòng):

Comprise(包含) physically connectable modules and plurality of functionalities(多數(shù)功能) . //包括物理上可連接的模塊和多種功能。Comprise plurality of channels(多數(shù)通道) directly being connected to the EtherCAT network. //包括多個(gè)直接連接到EtherCAT網(wǎng)絡(luò)的通道。

The MDP imagines slaves which consist of one or several modules. A module can be hardware which is connected/disconnected to a slave. Examples are gateways between EtherCAT and e.g. CANopen or a bus coupler(總線耦合器) between EtherCAT and a proprietary backbone bus(專用主干總線) .

// MDP設(shè)想從站由一個(gè)或幾個(gè)模塊組成。模塊可以是已連接/斷開(kāi)連接到從站的硬件。示例是EtherCAT與例如CANopen或EtherCAT與專有骨干總線之間的總線耦合器。

A module can also be a logical module which describes data sets, e.g. a drive which supports a velocity controlled mode and a position controlled mode –the MDP would describe the data as two modules, one for each mode.(把數(shù)據(jù)描述成 2種模式,每個(gè)對(duì)應(yīng)相應(yīng)的模式)

// 模塊也可以是描述數(shù)據(jù)集的邏輯模塊,例如。一個(gè)支持速度控制模式和位置控制模式的驅(qū)動(dòng)器-MDP將數(shù)據(jù)描述為兩個(gè)模塊,每個(gè)模式一個(gè)。

No matter what kind of module is described it needs more or less the same information categories(需要相對(duì)應(yīng)的信息分類) , which are organized in the profile specific index range (Table 7).

// 無(wú)論描述哪種模塊,它都或多或少需要相同的信息類別,這些信息類別在配置文件特定的索引范圍內(nèi)進(jìn)行組織(表7)。

Application Note:Modular Device Profile Structure(模塊化設(shè)備配置文件結(jié)構(gòu)) .

// 應(yīng)用說(shuō)明:模塊化設(shè)備配置文件結(jié)構(gòu)。

Consider an MDP for a line of slave device modules which are connected together on a backbone layer(主干網(wǎng)層面) via LVDS and via a coupler(耦合器) with MII. Figure 16 shows a schema how to define device profiles(如何定義設(shè)備配置文件) such that a modular profile dictionary is set up for the slave device line.

// 考慮一排從設(shè)備模塊的MDP,這些設(shè)備通過(guò)LVDS和帶有MII的耦合器在主干層上連接在一起。圖16顯示了一種模式,該模式如何定義設(shè)備配置文件,以便為從屬設(shè)備線設(shè)置模塊化配置文件字典。

a9c2833e-d63f-11ec-bce3-dac502259ad0.png

For implementation of the profile (CiA402 Drive Profile) for servo drive, build the program with reference to the corresponding specifications(技術(shù)規(guī)格,說(shuō)明書) . In this example, this would be the

ETG.6010 Implementation Directive(指令) for the CiA402 Drive Profile, and IEC61800-7DriveProfilesandMappingtoEtherCAT.

4. 應(yīng)用實(shí)例

由于EtherCAT實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)具有適用范圍廣、拓?fù)浣Y(jié)構(gòu)靈活、數(shù)據(jù)通信效率高、實(shí)時(shí)性強(qiáng)和同步性能好等多種優(yōu)點(diǎn),所以特別適用于實(shí)時(shí)性要求高、通信數(shù)據(jù)量大的運(yùn)動(dòng)控制系統(tǒng)。

控制系統(tǒng)設(shè)計(jì)采用“PC+運(yùn)動(dòng)控制器”的方案,構(gòu)建多軸運(yùn)動(dòng)控制系統(tǒng),采用PC機(jī)為主站、ARM+MCX314為從站處理器的架構(gòu)。其核心插補(bǔ)與控制算法都放在工業(yè)PC中完成,運(yùn)動(dòng)控制器要求大為降低,其主要完成數(shù)字給定量到實(shí)際脈沖信號(hào)的轉(zhuǎn)變。該控制系統(tǒng)方案的優(yōu)勢(shì)在于簡(jiǎn)化硬件設(shè)計(jì)工作,主要以標(biāo)準(zhǔn)化的硬件為主:上位機(jī)可以采用工業(yè)PC機(jī)、下位機(jī)使用開(kāi)發(fā)的通用運(yùn)動(dòng)控制器,方便日后升級(jí)維護(hù)。工業(yè)PC機(jī)與運(yùn)動(dòng)控制器直接采用EtherCAT實(shí)時(shí)工業(yè)以太網(wǎng)進(jìn)行通信連接。

4.1 主站操作系統(tǒng)(RTAI)

PC機(jī)部分軟件以LinuxCNC為基礎(chǔ),往下LinuxCNC通過(guò)HAL(硬件抽象層)與EtherCAT主站驅(qū)動(dòng)之間進(jìn)行通信連接,然后EtherCAT主站通過(guò)以太網(wǎng)線給從站運(yùn)動(dòng)控制器發(fā)控制命令;往上利用LinuxCNC提供的Python調(diào)用接口和人機(jī)界面通信,數(shù)控系統(tǒng)人機(jī)界面采用PyQt開(kāi)發(fā);由于LinuxCNC需要運(yùn)行實(shí)時(shí)任務(wù),需要將普通操作系統(tǒng)進(jìn)行改造。因此,目前的主要工作是對(duì)Linux系統(tǒng)進(jìn)行實(shí)時(shí)性改造、安裝EtherCAT主站、編寫HAL模塊、編寫人機(jī)界面。

雖然EtherCAT主站程序能夠安裝在非實(shí)時(shí)操作系統(tǒng)上,但一般情況下會(huì)對(duì)主站進(jìn)行實(shí)時(shí)性改造,而且LinuxCNC中有運(yùn)行實(shí)時(shí)任務(wù)的需要,所以對(duì)Linux系統(tǒng)進(jìn)行實(shí)時(shí)性改造迫在眉睫。眾所周知,Linux系統(tǒng)本質(zhì)上是一個(gè)分時(shí)操作系統(tǒng),不是一個(gè)實(shí)時(shí)操作系統(tǒng)。Linux系統(tǒng)實(shí)時(shí)性不強(qiáng)使其在嵌入式應(yīng)用中有一定的局限性,受內(nèi)核可搶占性、進(jìn)程調(diào)度方式、中斷處理機(jī)制、時(shí)鐘粒度、虛擬內(nèi)存管理等幾個(gè)方面的制約。

根據(jù)實(shí)時(shí)性系統(tǒng)要求以及Linux的特點(diǎn)和性能分析,對(duì)標(biāo)準(zhǔn)Linux實(shí)時(shí)性的改造存在多種方法,較為合理的兩大類方法為:直接修改Linux內(nèi)核源代碼和雙內(nèi)核法。

  • 1.直接修改Linux內(nèi)核源代碼:對(duì)Linux內(nèi)核代碼進(jìn)行細(xì)微修改并不對(duì)內(nèi)核作大規(guī)模的變動(dòng),在遵循GPL協(xié)議的情況下,直接修改內(nèi)核源代碼將Linux改造成一個(gè)完全可搶占的實(shí)時(shí)系統(tǒng)。核心修改面向局部,不會(huì)從根本上改變Linux內(nèi)核,并且一些改動(dòng)還可以通過(guò)Linux的模塊加載來(lái)完成,即系統(tǒng)需要處理實(shí)時(shí)任務(wù)時(shí)加載該功能模塊,不需要時(shí)動(dòng)態(tài)卸載該模塊。這種方法存在的問(wèn)題是:很難百分之百保證,在任何情況下,GPOS(通用操作系統(tǒng))程序代碼絕不會(huì)阻礙RTOS的實(shí)時(shí)行為。也就是說(shuō),通過(guò)修改Linux內(nèi)核,難以保證實(shí)時(shí)進(jìn)程的執(zhí)行不會(huì)遭到非實(shí)時(shí)進(jìn)程所進(jìn)行的不可預(yù)測(cè)活動(dòng)的干擾。

  • 2.雙內(nèi)核法:雙內(nèi)核法是在同一硬件平臺(tái)上采用兩個(gè)相互配合,共同工作的系統(tǒng)核心,通過(guò)在Linux系統(tǒng)的最底層增加一層實(shí)時(shí)核心來(lái)實(shí)現(xiàn)。其中的一個(gè)核心提供精確的實(shí)時(shí)多任務(wù)處理,另一個(gè)核心提供復(fù)雜的非實(shí)時(shí)通用功能。其優(yōu)點(diǎn)是可以做到硬實(shí)時(shí),并且能很方便地實(shí)現(xiàn)一種新的調(diào)度策略。目前采用這種方案的主要有RTAT,RT-Linux和Xenomai。本課題采用RTAI實(shí)時(shí)包的方式完成對(duì)Linux系統(tǒng)的實(shí)時(shí)性改造,如圖所示。

RTAI(實(shí)時(shí)應(yīng)用接口)是Linux內(nèi)核的一個(gè)實(shí)時(shí)擴(kuò)展,RTAI是基于ADEOSC Adaptive Domain Environment for Operating System)實(shí)現(xiàn),ADEOS位于Linux系統(tǒng)和硬件之間管理硬件中斷,并控制實(shí)時(shí)內(nèi)核和Linux內(nèi)核的優(yōu)先級(jí),其中實(shí)時(shí)內(nèi)核優(yōu)先級(jí)高于Linux內(nèi)核優(yōu)先級(jí)。

  • aa20554a-d63f-11ec-bce3-dac502259ad0.png

  • RTAI安裝:

1.下載RTAI壓縮包并解壓到urs/src目錄下,輸入命令:

cd /usr/srcsudotar-bzip2-xvfrtai一3.8.tar.bz2

2.下載Linux內(nèi)核壓縮包并解壓到urs/src目錄下,輸入命令:

sudo cp suoxd/linux-2.6.37.1.tar.bz2 /usr/srcsudotar-bzip2-xvflinux一2.6.32.2.tar.bz2

3.利用RTAI源碼中的文件給內(nèi)核打補(bǔ)丁,未安裝p atch需安裝patch后,輸入命令:

sudopatch-pl</usr/src/rtai/base/arch/x86/patches/hal-linux-2.6.32.2-x86-2._5一OO.patch

4.配置內(nèi)核,Linux2.6.32引入新的方式用于簡(jiǎn)化kernel的配置,使用命令拷貝當(dāng)前配置,省去很多繁瑣的內(nèi)核配置選項(xiàng)。

5.安裝內(nèi)核模塊,輸入命令:

sudo make cleansudo makesudo make modulessudo make modules installsudomakeinstall

6.配置RTAI,下載安裝MESA庫(kù)文件和EFLTK包,然后進(jìn)入RTAI文件夾,執(zhí)行配置,輸入命令:

cd /usr/src/rtaisudomakeconfig

7.編譯并安裝RTAI,命令行窗口的RTAI安裝結(jié)果如圖4-2所示,輸入命令:

sudo makesudomakeinstall

8.RTAI內(nèi)核延時(shí)測(cè)試,利用RTAI源碼包中的測(cè)試案例進(jìn)行測(cè)試,測(cè)試結(jié)果如下:

cd /usr/realtime/testsuite/user/latencysudo./run

9.RTAI內(nèi)核搶占實(shí)現(xiàn)測(cè)試,測(cè)試結(jié)果如圖4-4所示,輸入命令行:

cd /usr/realtime/testsuite/user/preemptsudo./run

4.2 主站EtherCAT程序(IGH)

本控制系統(tǒng)EtherCAT主站以實(shí)時(shí)Linux操作系統(tǒng)為基礎(chǔ),在Linux環(huán)境下開(kāi)發(fā)主站有兩方面優(yōu)勢(shì),一方面Linux為開(kāi)源系統(tǒng),方便對(duì)底層進(jìn)行修改;另一方面便于進(jìn)行嵌入式移植。Linux下的EtherCAT主站架構(gòu)如圖所示:

aa9a8400-d63f-11ec-bce3-dac502259ad0.png

Linux操作系統(tǒng)可分為內(nèi)核態(tài)和用戶態(tài)。內(nèi)核態(tài)是操作系統(tǒng)的核心,負(fù)責(zé)進(jìn)程管理、內(nèi)存管理、進(jìn)程間通信和設(shè)備管理和驅(qū)動(dòng)等,實(shí)時(shí)性要求高。用戶態(tài)主要運(yùn)行人機(jī)交互、數(shù)據(jù)監(jiān)控等實(shí)時(shí)性要求不高的程序。

EtherCAT主站模塊運(yùn)行在內(nèi)核態(tài),可支持一個(gè)或多個(gè)EtherCAT主站,且同時(shí)提供應(yīng)用接口和設(shè)備接口。用戶通過(guò)應(yīng)用接口訪問(wèn)主站,通過(guò)設(shè)備接口連接設(shè)備到指定主站。EtherCAT的以太網(wǎng)設(shè)備驅(qū)動(dòng)模塊通過(guò)主站設(shè)備接口與主站連接,EtherCAT設(shè)備協(xié)議可直接由以太網(wǎng)幀傳送,因而主站能同時(shí)并行處理EtherCAT數(shù)據(jù)幀和通用以太網(wǎng)通信。

在Linux上安裝EtherCAT主站程序,這里選擇EtherLab開(kāi)發(fā)的IgH EtherCAT Master,首先下載主站安裝文件gHEtherLab.tar.bz2,下載文件后解壓縮進(jìn)入含有Makefile文件的目錄安裝主站,輸入命令:

make ethercatMastermake ethercatMasterinstallsudo /etc/init.d/ethercat startethercatmaster

若最后兩條指令運(yùn)行正常則說(shuō)明主站安裝成功。

4.3 主站應(yīng)用開(kāi)發(fā)(LinuxCNC)

LinuxCNC是一款運(yùn)行在Linux平臺(tái)下的實(shí)時(shí)開(kāi)源數(shù)控軟件。起源于美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院的增強(qiáng)型運(yùn)動(dòng)控制器EMC (Enhanced Machine Controller)研究項(xiàng)目,用于機(jī)床的數(shù)控系統(tǒng)。經(jīng)過(guò)十幾年的發(fā)展,LinuxCNC系統(tǒng)廣泛用于沖床、車床、3D打印機(jī)、激光切割機(jī)、等離子切割機(jī)、機(jī)器人手臂等領(lǐng)域。其主要優(yōu)點(diǎn)有:提供多個(gè)標(biāo)準(zhǔn)化的用戶界面、用戶也可以采用自主開(kāi)發(fā)的GUI、自帶G代碼解析器、支持伺服電機(jī)控制步進(jìn)電機(jī)開(kāi)環(huán)控制、運(yùn)動(dòng)控制器功能強(qiáng)大、支持非笛卡爾坐標(biāo)運(yùn)動(dòng)系統(tǒng)、采用2.4或2.6的Linux內(nèi)核支持RT-Linux或RTAI實(shí)時(shí)補(bǔ)丁。LinuxCNC源代碼可以免費(fèi)下載,安裝在Linux系統(tǒng)上。

aad95fb8-d63f-11ec-bce3-dac502259ad0.png

LinuxCNC軟件架構(gòu)如圖所示

LinuxCNC是一個(gè)模塊化設(shè)計(jì)的軟件,大致可以分為以下四個(gè)主要模塊:運(yùn)動(dòng)控制器(EmcMot)、數(shù)字I/O控制器(EmcIO )、任務(wù)控制器(EmcTask )、圖形用戶界面(GUI)。

用戶操作界面負(fù)責(zé)接收用戶命令并反饋?zhàn)钚聽(tīng)顟B(tài);任務(wù)控制器是整個(gè)系統(tǒng)的決策層,主要負(fù)責(zé)對(duì)各種命令進(jìn)行決策分類、解析發(fā)送給不同的模塊;運(yùn)動(dòng)控制器是實(shí)時(shí)刷新的,主要完成路徑規(guī)劃、插值運(yùn)算等;數(shù)字I/O控制器負(fù)責(zé)處理I/O信號(hào),通過(guò)NML消息與運(yùn)動(dòng)控制器通信,因?yàn)椴煌O(shè)備I/O各不相同,這時(shí)需要硬件抽象層HAL文件建立軟邏輯電路來(lái)控制實(shí)際I/O; 
  • HAL HAL硬件抽象層是LinuxCNC系統(tǒng)的關(guān)鍵技術(shù)之一,通過(guò)引入HAL機(jī)制,為用戶提供了統(tǒng)一的驅(qū)動(dòng)開(kāi)發(fā)接口,方便編寫驅(qū)動(dòng),還能利用配置文件將相應(yīng)的HAL模塊連成一個(gè)復(fù)雜系統(tǒng),方便數(shù)據(jù)傳遞。HAL模塊結(jié)構(gòu)圖如圖所示。

    ab4fe7f0-d63f-11ec-bce3-dac502259ad0.png

EtherCAT主站驅(qū)動(dòng)與LinuxCNC之間采用HAL機(jī)制進(jìn)行通信,硬件抽象層將各個(gè)底層的硬件驅(qū)動(dòng)、實(shí)時(shí)算法抽象出來(lái),構(gòu)成一個(gè)組件,組件是由函數(shù)、參數(shù)、輸入輸出引腳所組成,輸入信號(hào)包括來(lái)自LinuxCNC的控制信號(hào)、用戶配置信息,輸出信號(hào)包括提供給LinuxCNC的反饋量等。將編寫好的HAL模塊命令為ec.comp,編譯生成ec.ko,利用insmod命令將其安裝后就可以加載到線程中。

當(dāng)HAL模塊啟動(dòng)的時(shí)候,需要對(duì)變量進(jìn)行初始化,但完成EtherCAT主站的初始化是更重要的,只有初始化了主站,設(shè)置好參數(shù),建立起完整的通信網(wǎng)絡(luò),才能進(jìn)行接下來(lái)的周期數(shù)據(jù)傳輸,其中PDO為進(jìn)程數(shù)據(jù)對(duì)象、SDO為服務(wù)數(shù)據(jù)對(duì)象。如圖為EtherCAT主站的初始化流程圖。

ab83ae46-d63f-11ec-bce3-dac502259ad0.png

主站初始化完成后,LinuxCNC開(kāi)始正常運(yùn)行。LinuxCNC在每個(gè)控制周期通過(guò)硬件抽象層下發(fā)控制命令,并獲取從站設(shè)備反饋的信息。

  • HAL周期任務(wù)流程圖如圖所示。

對(duì)于采用位置控制的伺服單元,HAL模塊每次都要計(jì)算出本控制周期的位移或目標(biāo)點(diǎn),然后通過(guò)EtherCAT總線發(fā)送到從站運(yùn)動(dòng)控制器;然后從站運(yùn)動(dòng)控制器在每個(gè)控制周期上報(bào)編碼器位置增量和I/O狀態(tài),HAL模塊計(jì)算出軸的實(shí)際位置后發(fā)送給LinuxCNC。。

ab9f7ed2-d63f-11ec-bce3-dac502259ad0.png

  • UI界面

在Linux環(huán)境下開(kāi)發(fā)用戶界面的語(yǔ)言有Python, C++等,圖形庫(kù)有QT, GTK等。由于控制界面運(yùn)行于用戶態(tài),實(shí)時(shí)性要求不高,同時(shí)兼顧開(kāi)發(fā)難度和周期,本課題采用Python語(yǔ)言,結(jié)合PyQT圖形庫(kù)開(kāi)發(fā)沖床控制界面。Python是一種面向?qū)ο蟮哪_本語(yǔ)言,與其他語(yǔ)言相比,Python具有如下優(yōu)點(diǎn):面向?qū)ο蟆⒐_(kāi)免費(fèi)、跨平臺(tái)可移植、功能強(qiáng)大、使用簡(jiǎn)單、模塊豐富。QT是一個(gè)功能豐富廣泛使用的GUI圖形庫(kù),可用于Windows, Linux等平臺(tái),具有很好的可移植性。PyQt是Python語(yǔ)言與Qt圖形庫(kù)相結(jié)合的產(chǎn)物,從而可以通過(guò)Python來(lái)使用Qt圖形庫(kù),具有模塊豐富、跨平臺(tái)和使用信號(hào)與槽機(jī)制的優(yōu)點(diǎn)。數(shù)控界面調(diào)用LinuxCNC抽象出的Python接口與任務(wù)控制器通信,并監(jiān)視LinuxCNC狀態(tài)信息和錯(cuò)誤信息。

本課題沖床數(shù)控系統(tǒng)設(shè)計(jì)加工狀態(tài)、參數(shù)設(shè)置、警告與診斷和軟件設(shè)置四個(gè)狀態(tài)界面,四個(gè)狀態(tài)界面下一共分設(shè)13個(gè)子界面,各個(gè)界面之間可以通過(guò)按鈕進(jìn)行切換,數(shù)控系統(tǒng)界面結(jié)構(gòu)圖如圖所示。

abbc212c-d63f-11ec-bce3-dac502259ad0.png

系統(tǒng)的主界面由菜單欄、工作窗口、快捷工具欄和消息提示欄這四部分構(gòu)成。菜單欄可以根據(jù)不同的操作需求切換不同的工作窗口,快捷工具欄是一些常用的快捷按鈕,消息提示欄是提示快捷按鈕內(nèi)容和顯示系統(tǒng)運(yùn)行狀況、錯(cuò)誤信息匯報(bào)的區(qū)域,如圖所示。

ac261d0c-d63f-11ec-bce3-dac502259ad0.png

2.參數(shù)設(shè)置界面:參數(shù)設(shè)置界面用于設(shè)置控制系統(tǒng)及機(jī)械的參數(shù),分設(shè)了系統(tǒng)參數(shù)設(shè)置、運(yùn)動(dòng)軸參數(shù)設(shè)置及模具庫(kù)參數(shù)設(shè)置這3個(gè)子界面。下面主要講解運(yùn)動(dòng)軸參數(shù),運(yùn)動(dòng)軸參數(shù)設(shè)置界面如圖所示。

ac6df730-d63f-11ec-bce3-dac502259ad0.png

3.警告與診斷界面:息記錄界面這2個(gè)子界面。警告與診斷界面下設(shè)有警告信息診斷界面、歷史警告信,如圖所示。

acb52dd0-d63f-11ec-bce3-dac502259ad0.png

4.軟件設(shè)置界面:軟件設(shè)置界面用于設(shè)置軟件與外部設(shè)備的通訊參數(shù)和顯示軟件的版本等信息,設(shè)有軟件信息、外部設(shè)備通訊設(shè)置及高級(jí)設(shè)置這3個(gè)子界面。下面講解外部設(shè)備通訊設(shè)置界面,如圖所示。

acd67be8-d63f-11ec-bce3-dac502259ad0.png

4.4 ET1200

EtherCAT從站控制器ESC(EtherCAT Slave Controller)是由德國(guó)BECKHOFF自動(dòng)化有限公司提供的,包括ASIC芯片和IP-Core,實(shí)現(xiàn)EtherCAT數(shù)據(jù)鏈路層協(xié)議。目前ASIC從站控制專用芯片有ET1100和ET1200,也可以使用IP-Core將EtherCAT通信功能集成到設(shè)備控制FPGA當(dāng)中,并根據(jù)需要配置功能和規(guī)模。圖為ET1200從站控制器結(jié)構(gòu)圖:

acf5fd42-d63f-11ec-bce3-dac502259ad0.png

ET1200最多支持3個(gè)EtherCAT物理通信端口:

  • 其中一個(gè)可以作為MII接口,用于與物理層PHY芯片交換數(shù)據(jù)。因?yàn)镋therCAT并不定義該接口的物理層,MII接口也是和傳輸介質(zhì)無(wú)關(guān)接口,因此這種接口方式下的數(shù)據(jù)鏈路層與物理層徹底隔開(kāi),從而以太網(wǎng)能夠選用任意的傳輸介質(zhì),包括無(wú)線電和光纖。

  • ET1200其余兩個(gè)接口均為EBUS接口,EBUS是德國(guó)倍福公司使用的LVDS(Low Voltage Differental Signaling)標(biāo)準(zhǔn)定義的數(shù)據(jù)傳輸標(biāo)準(zhǔn),通信速率高達(dá)100Mbit/s,能與ESC芯片直接相連,減小PCB板體積和降低成本。EBUS的傳輸距離最大為10m。

  • ET1200提供的物理設(shè)備接口有數(shù)字I/O和SPI兩種,選用ARM作為從站微處理器是一般通過(guò)SPI接口訪問(wèn)ET1200。

  • ET1200采用3.3 V供電,最大工作電流約為70mA,芯片發(fā)熱量很小。ET1200的主要技術(shù)指標(biāo):

    ad5689c8-d63f-11ec-bce3-dac502259ad0.png

ET1200從站控制器使用外部EEPROM來(lái)存儲(chǔ)從站設(shè)備信息,下表是EEPROM存儲(chǔ)數(shù)據(jù)分布示意圖,其中0~63為基本信息,每次ESC啟動(dòng)時(shí)都會(huì)從EEPROM中讀取其中的配置信息。

adccccf0-d63f-11ec-bce3-dac502259ad0.png

4.5 從站程序設(shè)計(jì)

運(yùn)動(dòng)控制器軟件設(shè)計(jì)包括ARM主控制程序及外圍電路驅(qū)動(dòng)程序,外圍驅(qū)動(dòng)程序包括ET 1200驅(qū)動(dòng)程序、AD采樣芯片驅(qū)動(dòng)程序、RS232驅(qū)動(dòng)程序、SPI串行總線、FSMC并行總線驅(qū)動(dòng)程序以及MCX314加減速控制程序設(shè)計(jì)等。運(yùn)動(dòng)控制器程序在STM32F427這款MCU上使用C語(yǔ)言開(kāi)發(fā),開(kāi)發(fā)環(huán)境為Windows 7下的Keil uVision_5集成開(kāi)發(fā)環(huán)境。

ARM主控制程序是運(yùn)動(dòng)控制器的核心,需要完成各個(gè)函數(shù)初始化、參數(shù)配置、數(shù)據(jù)處理、邏輯流程控制及控制算法運(yùn)算等,圖為支持查詢模式(自由運(yùn)行模式)的流程圖。

ARM芯片在上電后不久進(jìn)入main()函數(shù),在main()函數(shù)中最先完成一系列系統(tǒng)正常運(yùn)行相關(guān)函數(shù)的初始化,如延時(shí)初始化函數(shù)、LED初始化函數(shù)、串口初始化函數(shù)、中斷向量表配置初始化函數(shù),然后完成SPI初始化函數(shù)、定時(shí)器初始化函數(shù)、EtherCAT初始化函數(shù)以及FSMC總線初始化函數(shù)等。

接著完成通信初始化工作,查詢主站的狀態(tài)控制寄存器,讀取事件請(qǐng)求寄存器0x220、相關(guān)配置寄存器,啟動(dòng)或關(guān)斷相關(guān)通訊服務(wù)。

在完成以上工作后就進(jìn)入主循環(huán)while(1),進(jìn)行應(yīng)用層任務(wù)處理和周期性數(shù)據(jù)處理,周期性數(shù)據(jù)處理和應(yīng)用層任務(wù)處理有查詢模式(自由運(yùn)行模式)或同步模式(中斷模式)這兩種,本程序采用同步運(yùn)行模式,所以在主循環(huán)中主要處理非周期性的任務(wù)。同步運(yùn)行模式下周期性數(shù)據(jù)在中斷服務(wù)程序中處理。

ae4f364a-d63f-11ec-bce3-dac502259ad0.png

void main(void){    //--一執(zhí)行一系列初始化函數(shù)--一    Delay_Init(168);            //初始化延時(shí)函數(shù)    Led_Init();                 //初始化LED端口    Uart_Init(9600);            //初始化串口    AD7606_Init();              //初始化AD采樣芯片    NVIC_Config();              //初始化STM32時(shí)鐘及外設(shè)    SPI_Config();               //ET 1200用SPI總線初始化配置    Timer2_Init_ Config();      //Timer2初始化配置    ET 1200_GPIO_Config();      //ET 1200 GPIO初始化配置    ECAT_Init();                //初始化通信變量和ESC寄存器    FSMC_Init();                //FSMC并行總線初始化
    //--一初始化完成,進(jìn)入主循環(huán)--一    while(1)    {        ET1200_AlEvent=pEsc->AlEvent;  //讀應(yīng)用層事件請(qǐng)求寄存器,                                        // ET1200_AlEvent為全局變量,在頭文件中定義        if(!ET1200_IntEnabled)          //處于自由運(yùn)行模式(ET 1200_ IntEnabled -=0                                        //處于同步模式(ET1200 IntEnabled==1)            free_ run();                //處于自由運(yùn)行模式時(shí),進(jìn)行周期性數(shù)據(jù)查詢
        el_event();                     //應(yīng)用層任務(wù)處理,包括狀態(tài)機(jī)和非周期性數(shù)據(jù)等    }}

從站設(shè)備可以運(yùn)行于同步模式或自由運(yùn)行模式,在自由運(yùn)行模式中使用查詢方式處理周期性過(guò)程數(shù)據(jù),在同步模式使用中斷服務(wù)程序處理性數(shù)據(jù)。

變量ET1200 IntEnabled來(lái)控制運(yùn)行模式。ET1200 IntEnabled為1時(shí),使用同步模式,ET1200 IntEnabled為0時(shí),使用自由運(yùn)行模式。

根據(jù)主站對(duì)SM的配置,在函數(shù)、參數(shù)初始化階段來(lái)初始化變量ET1200_ IntEnabled,確定當(dāng)前的運(yùn)行模式。

本程序選擇同步模式,以下將按照該模式講解一個(gè)中斷服務(wù)數(shù)據(jù)處理的工作流程,如圖所示。

ae65ee12-d63f-11ec-bce3-dac502259ad0.png

4.6 實(shí)驗(yàn)測(cè)試

實(shí)驗(yàn)測(cè)試平臺(tái)由一臺(tái)PC機(jī)、一套自主研發(fā)的沖床數(shù)控系統(tǒng)軟件、一臺(tái)自主研發(fā)的五軸高速運(yùn)動(dòng)控制器、一套單軸絲杠滑臺(tái)、一套二維伺服平臺(tái)、一套四軸同步測(cè)試架組成。

實(shí)驗(yàn)過(guò)程中需要注意,因?yàn)槟壳斑\(yùn)動(dòng)控制器專為數(shù)控沖床設(shè)計(jì),僅保留1個(gè)M II接口連接主站,且設(shè)計(jì)最多連接軸數(shù)為五軸,故連接四軸同步測(cè)試架時(shí)不能接單軸絲杠滑臺(tái)和二維伺服平臺(tái);測(cè)試過(guò)程中工業(yè)PC機(jī)和顯示器使用筆記本代替。在平臺(tái)上測(cè)試通過(guò)后將控制系統(tǒng)接入到LX230B型數(shù)控轉(zhuǎn)塔沖床上進(jìn)行測(cè)試和參數(shù)調(diào)試,最終成功開(kāi)發(fā)出30T數(shù)控轉(zhuǎn)塔沖床用高速運(yùn)動(dòng)控制系統(tǒng)。

aecdf6ec-d63f-11ec-bce3-dac502259ad0.png

  • 基本通信功能測(cè)試

EtherCAT主從站基本通信功能測(cè)試時(shí)首先按圖所示,使用網(wǎng)線將PC機(jī)與從站運(yùn)動(dòng)控制器連接起來(lái)后,在數(shù)控軟件通信設(shè)置的外部設(shè)備通信設(shè)置中找到運(yùn)動(dòng)控制器連接狀態(tài),點(diǎn)擊重新連接。使用Wireshark抓包工具抓取連接過(guò)程中主站廣播的數(shù)據(jù)包,最終連接成功時(shí)運(yùn)動(dòng)控制器連接狀態(tài)指示燈變?yōu)镺N,從站狀態(tài)變?yōu)椴僮鳡顟B(tài)(OP),從站狀態(tài)機(jī)啟動(dòng)正常,如圖所示。

af27884c-d63f-11ec-bce3-dac502259ad0.png

由圖可知該實(shí)驗(yàn)中EtherCAT報(bào)文的格式。報(bào)文總長(zhǎng)度60個(gè)字節(jié),前14個(gè)字節(jié)是以太網(wǎng)數(shù)據(jù)幀頭,包括6字節(jié)的目的地址(ffffff:ff ) } 6字節(jié)的源地址(7804be:6f)} 2字節(jié)的幀類型(Ox88a4);接著是2字節(jié)的EtherCAT頭,包括11位數(shù)據(jù)長(zhǎng)度(Ox02a)}1位保留位(Ox0)}4位類型位(0x1);然后是EtherCAT數(shù)據(jù),數(shù)據(jù)為2個(gè)子報(bào)文,每個(gè)子報(bào)文包含10字節(jié)子報(bào)文頭,16字節(jié)數(shù)據(jù),2字節(jié)WKC(工作計(jì)數(shù)器)。Wireshark抓取的報(bào)文與2.1節(jié)中的EtherCAT幀格式一 致,從而主從站之間實(shí)現(xiàn)了基本通信。

  • 控制系統(tǒng)基本功能測(cè)試

控制系統(tǒng)基本功能測(cè)試是驗(yàn)證系統(tǒng)軟硬件功能正常的重要實(shí)驗(yàn),該項(xiàng)測(cè)試在單軸絲杠滑臺(tái)完成,連接好PC機(jī)、運(yùn)動(dòng)控制器和單軸絲杠滑臺(tái),如圖所示。在數(shù)控軟件的手動(dòng)加工中對(duì)輸出I/O如伺服使能、緊急停止,回零點(diǎn)如X軸回零、Y軸回零,單軸位移控制如X+, X-, Y+, Y-進(jìn)行測(cè)試,并觀察滑臺(tái)的運(yùn)動(dòng)情況和伺服驅(qū)動(dòng)器面板顯示來(lái)判斷各項(xiàng)功能是否正常。經(jīng)測(cè)試,軟件上的相關(guān)按鈕都工作正常,五個(gè)軸的接口、I/O接口工作正常,產(chǎn)生的脈沖精度誤差為0。故數(shù)控系統(tǒng)軟硬件基本功能測(cè)試通過(guò)。

af633d60-d63f-11ec-bce3-dac502259ad0.png

  • G代碼解釋、圓弧插補(bǔ)測(cè)試

通過(guò)二維伺服運(yùn)動(dòng)平臺(tái)圓弧插補(bǔ)實(shí)驗(yàn)測(cè)試運(yùn)動(dòng)控制系統(tǒng)G代碼解釋、圓弧插補(bǔ)等功能。該項(xiàng)測(cè)試主要在二維伺服平臺(tái)上完成,連接PC機(jī)、運(yùn)動(dòng)控制器和二維伺服平臺(tái),如圖所示,通過(guò)數(shù)控系統(tǒng)控制二維伺服運(yùn)動(dòng)平臺(tái)的X軸和Y軸電機(jī)做圓弧插補(bǔ),利用上方橫梁固定的筆桿記錄二維平臺(tái)上白紙相對(duì)運(yùn)動(dòng)下的軌跡。二維平臺(tái)中的兩組伺服機(jī)絲杠的參數(shù)完全一致,絲杠螺距為20mm,設(shè)定伺服驅(qū)動(dòng)器驅(qū)動(dòng)電機(jī)旋轉(zhuǎn)一圈為2000個(gè)脈沖,可知絲杠走1 mm需要100個(gè)脈沖,由此設(shè)置數(shù)控軟件中的X, Y軸脈沖當(dāng)量都為1000。

af7cdc16-d63f-11ec-bce3-dac502259ad0.png

使用AutoCAD設(shè)計(jì)一個(gè)直徑D為80mm的圓周,如圖所示,繪制完成后保存為.dxf格式,然后使用一體化飯金CAD/CAM編程軟件cncKad將.dxf格式的圖紙轉(zhuǎn)化為沖床數(shù)控軟件所需的.PNC文件,即G代碼。然后將G代碼文件導(dǎo)入到數(shù)控軟件中,預(yù)加工仿真運(yùn)行無(wú)誤后啟動(dòng)伺服,進(jìn)行實(shí)際加工,最終得到實(shí)際繪制效果圖如圖_5 -6所示。繪制出的圓周尺寸精確,控制系統(tǒng)通過(guò)圓弧插補(bǔ)測(cè)試。

afbe0f4c-d63f-11ec-bce3-dac502259ad0.png

  • 多軸運(yùn)動(dòng)的同步性能測(cè)試

多軸同步測(cè)試實(shí)驗(yàn)用來(lái)測(cè)試運(yùn)動(dòng)控制系統(tǒng)多軸運(yùn)動(dòng)的同步性能。該項(xiàng)測(cè)試主要利用四軸同步測(cè)試架完成,如圖所示,測(cè)試架上固定安裝有A, B, C, D共4組電機(jī)和驅(qū)動(dòng)器。將電機(jī)驅(qū)動(dòng)器與運(yùn)動(dòng)控制連接,控制器通過(guò)EtherCAT總線與PC機(jī)連接,打開(kāi)數(shù)控軟件,在加工狀態(tài)中選擇手動(dòng)加工,控制伺服電機(jī)A, B,C, D同時(shí)做順時(shí)針運(yùn)動(dòng)旋轉(zhuǎn),通過(guò)長(zhǎng)時(shí)間運(yùn)行測(cè)試觀察軸上4個(gè)光盤指向分析電機(jī)運(yùn)動(dòng)的同步性。經(jīng)過(guò)長(zhǎng)時(shí)間測(cè)試觀察后,電機(jī)按鈕停止伺服軸轉(zhuǎn)動(dòng),可以看到4個(gè)電機(jī)指向同一方向,驅(qū)動(dòng)器面板顯示脈沖數(shù)也一致。

afddf622-d63f-11ec-bce3-dac502259ad0.png

  • 實(shí)際產(chǎn)品應(yīng)用

在上一節(jié)的一系列實(shí)驗(yàn)后,控制系統(tǒng)的各項(xiàng)功能都順利通過(guò)測(cè)試,接下來(lái)把開(kāi)發(fā)好的控制系統(tǒng)制作成便于使用的操作臺(tái)和控制柜接入到LX230B型30T的數(shù)控轉(zhuǎn)塔沖床上,取代原有的控制系統(tǒng),操作臺(tái)和控制柜如圖所示。該沖床選用安川 -7系列AC伺服電機(jī)、 -V系列AC伺服驅(qū)動(dòng)器。首先調(diào)試好伺服電機(jī)與伺服驅(qū)動(dòng)器之間構(gòu)成電流環(huán)、速度環(huán)的PID參數(shù),讓閉環(huán)的性能達(dá)到較好水平,再接入控制系統(tǒng),其中編碼器分頻脈沖輸出C相信號(hào)在軸回原點(diǎn)時(shí)使用。

b0088b8a-d63f-11ec-bce3-dac502259ad0.png

為觀測(cè)控制系統(tǒng)在數(shù)控轉(zhuǎn)塔沖床上的應(yīng)用效果,需要采用非接觸測(cè)量?jī)x測(cè)量板材運(yùn)動(dòng)過(guò)程中的振動(dòng)曲線。根據(jù)實(shí)驗(yàn)室現(xiàn)有的條件,采用由日本Keyence公司生產(chǎn)的LK-G400型激光位移傳感器和LK-GD500型控制器作為非接觸式測(cè)量工具。LK-G400的主要技術(shù)參數(shù)為:使用距離為400mm,測(cè)量范圍為士100mm,取樣率20us,鋇量精度為gum o LK-GD500型控制器主要參數(shù)為:最小顯示單位為O.Olum,顯示周期10次/秒。

在沖床大板材(1200mm X 2_SOOmm)上選取測(cè)試點(diǎn)W點(diǎn),如圖所示。采用S型曲線加減速規(guī)劃,加速度g為6,控制板材在X軸上高速移動(dòng)lOmm,運(yùn)動(dòng)控制器輸出的PULS(脈沖)信號(hào)局部波形如圖所示。

b02e7a5c-d63f-11ec-bce3-dac502259ad0.png

b07b3eaa-d63f-11ec-bce3-dac502259ad0.png

使用軟件LK-Navigator讀取傳感器測(cè)量的數(shù)據(jù),如圖所示。由圖分析可知調(diào)節(jié)時(shí)間為130ms(按士0.5%誤差帶)、穩(wěn)態(tài)誤差士0.0Smm,各項(xiàng)指標(biāo)良好,達(dá)到工業(yè)應(yīng)用要求。

b09a49d0-d63f-11ec-bce3-dac502259ad0.png

5. 工具

5.1 TwinCAT

EtherCAT主站方案實(shí)現(xiàn)一般都采用倍福公司的TwinCAT, TwinCAT實(shí)現(xiàn)了強(qiáng)大的EtherCAT主站功能,從站XML表配置、EEPROM配置文件操作、掃描EtherCAT從站等,下圖為使用TwinCAT開(kāi)發(fā)沖床數(shù)控系統(tǒng)的過(guò)程。因?yàn)門winCAT是基于Windows風(fēng)格,擁有較好的人機(jī)交互界面,功能強(qiáng)大,非常適合上位機(jī)控制窗口的開(kāi)發(fā),但TwinCAT運(yùn)行于Windows環(huán)境下,實(shí)時(shí)性很差,而且TwinCAT和Windows系統(tǒng)需要付費(fèi)才能商業(yè)化應(yīng)用,價(jià)格較高。

b0c6bede-d63f-11ec-bce3-dac502259ad0.png

在學(xué)習(xí)EtherCAT的時(shí)候,TwinCAT是必須要學(xué)習(xí)的。TwinCAT軟件其功能強(qiáng)大,可以寫plc程序,可以寫圖形化界面,可以觀察波形等等。初次學(xué)習(xí)時(shí)我就參考TwinCAT 3運(yùn)動(dòng)控制教程和TwinCAT NC PTP實(shí)用教程,把TwinCAT 3中界面的一些功能都試了一遍。另外用功能塊學(xué)著寫了凸輪、齒輪的程序,并用Visualization圖形化界面來(lái)控制。(在學(xué)習(xí)TwinCAT時(shí),要充分利用好幫助文檔)。

因?yàn)槲业娜蝿?wù)是做一致性測(cè)試,所以關(guān)注點(diǎn)大部分放在了對(duì)協(xié)議的了解上,涉及到一致性測(cè)試的文檔有ETF7000.2、ETG7010。具體可以去ETG官網(wǎng)上查找相關(guān)資料。做一致性測(cè)試時(shí)需要用到ET9400,這款軟件不是免費(fèi)的。目前還沒(méi)開(kāi)始測(cè)這部分。

對(duì)于帶有EtherCAT伺服驅(qū)動(dòng)器的性能的測(cè)試,用TwinCAT帶著簡(jiǎn)單測(cè)過(guò)csp、csv、cst這三種模式。如果想要系統(tǒng)的測(cè)試驅(qū)動(dòng)器所支持的操作模式,必須對(duì)驅(qū)動(dòng)器的相關(guān)知識(shí)有一定的了解。另外就是對(duì)對(duì)象字典中對(duì)象充分了解。TwinCAT中的Process Data和CoE-Online界面是很重要的。這點(diǎn)我也沒(méi)有完全掌握。沒(méi)有以太網(wǎng)基礎(chǔ),對(duì)協(xié)議沒(méi)有了解,直接接觸EtherCAT這條學(xué)習(xí)之路感覺(jué)很艱難!

5.2 LinuxCNC

PC機(jī)部分軟件以LinuxCNC為基礎(chǔ),往下LinuxCNC通過(guò)HAL(硬件抽象層)與EtherCAT主站驅(qū)動(dòng)之間進(jìn)行通信連接,然后EtherCAT主站通過(guò)以太網(wǎng)線給從站運(yùn)動(dòng)控制器發(fā)控制命令;往上利用LinuxCNC提供的Python調(diào)用接口和人機(jī)界面通信,數(shù)控系統(tǒng)人機(jī)界面采用PyQt開(kāi)發(fā);由于LinuxCNC需要運(yùn)行實(shí)時(shí)任務(wù),需要將普通操作系統(tǒng)進(jìn)行改造。因此,目前的主要工作是對(duì)Linux系統(tǒng)進(jìn)行實(shí)時(shí)性改造、安裝EtherCAT主站、編寫HAL模塊、編寫人機(jī)界面。

5.3 開(kāi)源的EtherCAT Master

EtherCAT的主站開(kāi)發(fā)是基于EtherCAT機(jī)器人控制系統(tǒng)的開(kāi)發(fā)中非常重要的環(huán)節(jié)。目前常見(jiàn)開(kāi)源的主站代碼為的RT-LAB開(kāi)發(fā)的SOEM (Simple OpenSource EtherCAT Master)和EtherLab的the IgH EtherCAT Master。使用起來(lái)SOEM的簡(jiǎn)單一些,而the IgH EtherCAT Master更復(fù)雜一些,但對(duì)EtherCAT的實(shí)現(xiàn)更為完整。

具體比較如下表:

b0e1cc7e-d63f-11ec-bce3-dac502259ad0.png

原文標(biāo)題:5. 工具

文章出處:【微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 運(yùn)動(dòng)控制
    +關(guān)注

    關(guān)注

    5

    文章

    821

    瀏覽量

    34534
  • ethercat
    +關(guān)注

    關(guān)注

    19

    文章

    1507

    瀏覽量

    45163

原文標(biāo)題:5. 工具

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    EtherCAT 技術(shù)

    本帖最后由 sinap_zhj 于 2016-1-20 07:58 編輯 EtherCAT(以太網(wǎng)控制自動(dòng)化技術(shù))是一個(gè)以以太網(wǎng)為基礎(chǔ)的開(kāi)放架構(gòu)的現(xiàn)場(chǎng)總線系統(tǒng),EtherCAT名稱中的CAT為
    發(fā)表于 01-16 08:52

    EtherCAT-技術(shù)介紹

    EtherCAT-技術(shù)介紹
    發(fā)表于 08-17 12:35

    以太網(wǎng)標(biāo)準(zhǔn):EtherCAT的功能性

    的標(biāo)準(zhǔn)。你也可以閱讀上一篇關(guān)于Sercos III的博文。在這一部分中,我將詳細(xì)介紹EtherCAT、它的終端應(yīng)用,以及它的工作方式。德國(guó)倍福自動(dòng)化公司 (Beckoff Automation) 發(fā)明
    發(fā)表于 09-06 15:25

    【EG4S20-MINI-DEV 申請(qǐng)】基于FPGA的EtherCAT通訊

    搭建這樣的平臺(tái),也想借此機(jī)會(huì)體驗(yàn)國(guó)產(chǎn)FPGA的魅力。計(jì)劃:1.熟悉LattePanda平臺(tái)軟件,通過(guò)簡(jiǎn)單小實(shí)例熟悉開(kāi)發(fā)流程;2.籌備基于FPGA的EtherCAT通訊;3.項(xiàng)目開(kāi)展并具體實(shí)施;4.項(xiàng)目?jī)?yōu)化
    發(fā)表于 06-03 16:02

    EtherCAT相關(guān)資料下載

    文章目錄1. 簡(jiǎn)介1.1 運(yùn)動(dòng)控制1.2 實(shí)時(shí)以太網(wǎng)1.3 EtherCAT2. EtherCAT原理介紹2.1 實(shí)時(shí)性2.2 端口管理2.3 EtherCAT網(wǎng)絡(luò)拓?fù)?.4
    發(fā)表于 07-02 07:16

    EtherCAT的原理是什么?EtherCAT有哪些應(yīng)用實(shí)例

    EtherCAT的原理是什么?EtherCAT有哪些功能?怎樣去實(shí)現(xiàn)EtherCAT的應(yīng)用層?EtherCAT有哪些應(yīng)用實(shí)例
    發(fā)表于 07-02 06:52

    亞信AxRobot EtherCAT七軸助力控制機(jī)器手臂解決方案介紹視頻

    `這個(gè)視頻介紹亞信電子AX58200 AxRobot EtherCAT七軸助力控制機(jī)器手臂解決方案,此方案可適用于各種協(xié)作型機(jī)器人相關(guān)產(chǎn)品應(yīng)用。AxRobot機(jī)器手臂解決方案,利用亞信AX58200
    發(fā)表于 07-23 14:16

    亞信AX58200 EtherCAT轉(zhuǎn)Modbus TCP網(wǎng)關(guān)解決方案介紹視頻

    為何需要使用EtherCAT轉(zhuǎn)Modbus TCP網(wǎng)關(guān)解決方案?Modbus TCP并非實(shí)時(shí)性的網(wǎng)絡(luò)協(xié)議棧,資料傳輸?shù)乃俣纫脖容^慢;因此,可以利用此EtherCAT轉(zhuǎn)Modbus TCP網(wǎng)關(guān)解決方案
    發(fā)表于 08-23 10:56

    一文讀懂EtherCAT

    EtherCAT是什么?EtherCAT有何特點(diǎn)?EtherCAT的基本原理是什么?EtherCAT系統(tǒng)是由哪些部分組成的?
    發(fā)表于 09-02 06:23

    小白求助,求大佬詳細(xì)介紹一下EtherCAT運(yùn)動(dòng)控制器的PLC編程

    小白求助,求大佬詳細(xì)介紹一下EtherCAT運(yùn)動(dòng)控制器的PLC編程
    發(fā)表于 10-29 07:24

    AMIC110 ETHERCAT slave DEMO介紹

    AMIC110作者:Denny, YangAMIC110是TI最新推出的支持ETHERCAT Slave的新一代SOC。它通過(guò)PRU-ICSS支持多種工業(yè)總線協(xié)議。本文介紹ETHERCAT
    發(fā)表于 11-07 07:17

    AMIC110 ETHERCAT slave DEMO介紹

    AMIC110AMIC110是TI最新推出的支持ETHERCAT Slave的新一代SOC。它通過(guò)PRU-ICSS支持多種工業(yè)總線協(xié)議。本文介紹ETHERCAT Slave demo,此軟件不需要DDR僅在片內(nèi)RAM上運(yùn)行,且
    發(fā)表于 11-10 06:54

    如何選擇合適的EtherCAT

    在這一部分中,我將詳細(xì)介紹EtherCAT、它的終端應(yīng)用,以及它的工作方式。德國(guó)倍福自動(dòng)化公司 (Beckoff Automation) 發(fā)明了EtherCAT。自從2003年以來(lái),它一直處于
    發(fā)表于 11-18 06:44

    經(jīng)濟(jì)型EtherCAT運(yùn)動(dòng)控制器:EtherCAT總線快速入門

    本文主要介紹XPLC006E多軸經(jīng)濟(jì)型EtherCAT總線運(yùn)動(dòng)控制器控制EtherCAT總線驅(qū)動(dòng)器的方法,分別介紹硬件接線方法,控制器與EtherC
    發(fā)表于 05-11 09:49

    Amlogic的實(shí)例介紹

    第三方實(shí)例介紹 - Amlogic
    的頭像 發(fā)表于 08-23 02:05 ?6012次閱讀