在EtherCAT的協定中定義了兩個檔案,分別是:
1:
ESI 檔案 (EtherCAT Slave
Information file)
2: ENI 檔案 (EtherCAT Network Information file)
2: ENI 檔案 (EtherCAT Network Information file)
ESI
檔案:
EtherCAT 協定被設計為開放性的架構,這個架構希望可以讓不同的廠商可以各自開發自己的產品,而各自的產品又可以透過EtherCAT通訊協定來溝通。
試想某甲公司有作了一EtherCAT控制器,想要控某乙公司設計的伺服驅動器或某丙公司作的IO?而且每個不同廠商所開發產品又需要能保有差異化,能夠發展各自的特色...
為了要能達到這個目的,就必須要有一個標準的裝置描述檔案(Slave information)來告訴控制器說,我家的裝置你要怎麼初始化?有哪些功能?怎麼用等等,因此也就是ESI檔案了,因此只要是EtherCAT的Slave裝置都必定會附帶提供一個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檔案供主站控制器
沒有留言:
張貼留言