2017年11月5日 星期日

EtherCAT ESI 檔案和ENI檔案

EtherCAT的協定中定義了兩個檔案,分別是:

1: ESI 檔案 (EtherCAT Slave Information file)
2: ENI
檔案 (EtherCAT Network Information file)

這兩個檔案之共通點為是其內容格式為XML的格式(內容有點像描述網頁的HTML)


ESI 檔案:
EtherCAT 協定被設計為開放性的架構,這個架構希望可以讓不同的廠商可以各自開發自己的產品,而各自的產品又可以透過EtherCAT通訊協定來溝通。

試想某甲公司有作了一EtherCAT控制器,想要控某乙公司設計的伺服驅動器或某丙公司作的IO?而且每個不同廠商所開發產品又需要能保有差異化,能夠發展各自的特色...

為了要能達到這個目的,就必須要有一個標準的裝置描述檔案(Slave information)來告訴控制器說,我家的裝置你要怎麼初始化?有哪些功能?怎麼用等等,因此也就是ESI檔案了,因此只要是EtherCATSlave裝置都必定會附帶提供一個ESI檔案,讓EtherCAT主站(Master)能夠透過其所提供的ESI檔案進行控制。


ENI 檔案

ENI
檔案英文全名為( EtherCAT Network information ),主要用途為描述一個特定的EtherCAT網路,這個檔案通常由EtherCAT 主站來產生,EtherCAT主站根據當前的網路配置,從每一個ESI檔案中擷取部分資料組合而成,其內容主要是紀錄目前有哪些slave,如何設定這些slave等等,因此,只要是不同的網路配置,ENI的內容就會不同。

ENI
檔案另外的一個目的是縮短初始化時間EtherCAT主站第一次搜尋網路時會取得每個Slave的裝置代碼,透過代碼比對ESI檔案的內容,如此可以了解哪一個ESI檔案是屬於哪一個slave的,通常做這個事情是比較費工費時的,因此第一次掃描時會順道把網路的狀態資訊都記錄下來,也因為網路拓樸通常固定了之後就比較不會更動,所以有了ENI檔案就不用再重新掃描網路了。

ENI這個檔案,由於是EtherCAT主站用來控制當前網路,因此使用者不太需要了解這個檔案,甚至部分控制器也不提供ENI檔案的輸出,因為只要能控制就好,有沒有ENI檔案不是那麼重要,所以在使用EtherCAT控制器的時後,不見得會接觸得到ENI這個檔案。

範例說明:

下圖為ESI/ENI 的示意圖,圖中Nexcom EtherCAT (NexECM)控制器透過讀取比對EtherCAT ESI 檔案可以在掃描EtherCAT網路過程中認到其對應的EtherCAT 裝置,再根據ESI檔案的內容去初始化設定當前網路下的各個EtherCAT裝置,再將ESI檔案中的內容整理成ENI檔案供主站控制器



相關連結:
NEXCOM EtherCAT Master 










沒有留言:

張貼留言