NI 9144擴展機箱內(nèi)部原理
實時以太網(wǎng)擴展I/O
本文引用地址:http://www.butianyuan.cn/article/194107.htmNI 9144是用于C系列模塊的8槽位擴展機箱,它使用稱為EtherCAT®(以太網(wǎng)控制自動化技術(shù))的實時以太網(wǎng)技術(shù),確定性地與實時主控制器進行通信。這個高性能的工業(yè)協(xié)議擴展了IEEE 802.3以太網(wǎng)標(biāo)準(zhǔn),能夠以可預(yù)測的定時與精確同步傳送數(shù)據(jù)。這個開放式標(biāo)準(zhǔn)是作為IEC 61158的一部分發(fā)布的,通常使用在機器設(shè)計與運動控制等應(yīng)用中。
要建立確定性的分布式I/O系統(tǒng),通常在標(biāo)準(zhǔn)的以太網(wǎng)布線上使用主/從體系結(jié)構(gòu)。您可以將任何帶有雙以太網(wǎng)接口的CompactRIO控制器或帶有NI PXI-8231/8232以太網(wǎng)接口的PXI系統(tǒng)作為主控制器。使用菊花鏈可以將多個NI 9144從機箱連接到主控制器,擴展了嚴(yán)格時間應(yīng)用的同時,也利用最少的處理器資源維持硬件確定性。
圖1:以NI 9144機箱構(gòu)成的EtherCAT主/從體系結(jié)構(gòu)。
NI 9144擴展機箱由多個硬件組件構(gòu)成,使得確定性分布式I/O成為可能。每個從機箱都帶有兩個以太網(wǎng)接口,用于接收EtherCAT數(shù)據(jù)包。這些數(shù)據(jù)包通過物理層傳送到EtherCAT IP棧。EtherCAT IP包含了多個fieldbus內(nèi)存管理單元(FMMU),用來正確地將EtherCAT數(shù)據(jù)映射到特定的從設(shè)備上。直接內(nèi)存訪問(DMA)在EtherCAT IP和C系列I/O模塊之間傳送同步I/O數(shù)據(jù)。Xilinx FPGA作為C系列模塊接口,根據(jù)來自EtherCAT的指令和定時,用循環(huán)的方式處理I/O讀和寫。微控制器管理在主設(shè)備和從設(shè)備之間的任何異步消息,并且管理不同硬件組件的配置任務(wù)。
定時與同步
C系列模塊接口是NI掃描引擎技術(shù)的一部分,掃描引擎技術(shù)是與LabVIEW實時模塊8.6和CompactRIO一起推出的。這個組件負(fù)責(zé)同步C系列模塊的I/O數(shù)據(jù),使NI 9144的I/O更新能夠與主設(shè)備的循環(huán)時間無縫匹配。
確定性網(wǎng)絡(luò)的循環(huán)時間包括主控制器程序掃描和I/O掃描的總時間。程序掃描包括LabVIEW程序進行處理(包含嚴(yán)格時間任務(wù)和普通任務(wù))、完成常規(guī)的清理維護以及與DMA和內(nèi)存表傳送數(shù)據(jù)包所需的時間。I/O掃描時間包括EtherCAT數(shù)據(jù)包通過整個從設(shè)備網(wǎng)絡(luò)并再返回所需要的時間。
圖3:主設(shè)備和從設(shè)備循環(huán)時間的時序圖。
NI 9144從設(shè)備的循環(huán)時間包括從設(shè)備更新和I/O掃描的總時間。從設(shè)備更新是從設(shè)備使用DMA傳輸、處理數(shù)據(jù)并更新其I/O所需的時間。由于I/O掃描在主設(shè)備和從設(shè)備之間是同步的,從設(shè)備更新與主設(shè)備的程序掃描同時運行。因此,根據(jù)花費時間的長短,最小循環(huán)時間受到從設(shè)備更新或程序掃描時間的限制。
循環(huán)時間=程序掃描(內(nèi)存數(shù)據(jù)傳輸與數(shù)據(jù)處理)+I/O掃描(數(shù)據(jù)傳輸)
=從設(shè)備更新(數(shù)據(jù)更新與處理)+I/O掃描(數(shù)據(jù)傳輸)
程序掃描時間可能會隨著網(wǎng)絡(luò)中從設(shè)備數(shù)量的增加而增加,因為主控制器需要處理更多數(shù)據(jù)。但是,從設(shè)備更新時間不會增加,因為從設(shè)備并行地對所有I/O進行更新。因此,在網(wǎng)絡(luò)中從設(shè)備越多,主程序掃描就越可能成為系統(tǒng)瓶頸。如果您的應(yīng)用含有較高的I/O通道數(shù),可以考慮為主設(shè)備使用高性能處理器。
I/O同步
NI 9144擴展機箱的優(yōu)點是不僅包含模塊到模塊同步,還包含了從設(shè)備到從設(shè)備同步。主控制器通過使用分布式時鐘,將所有從設(shè)備與相同的時間進行同步,完成了從設(shè)備之間的同步。在I/O掃描完成并且傳送EtherCAT數(shù)據(jù)包之后,EtherCAT IP就發(fā)出Sync0信號,通知從設(shè)備有新的數(shù)據(jù)就緒。
* SS=同步采樣模塊;Mux=多路復(fù)用模塊
圖4:從設(shè)備更新的時序圖。
主控制器還使用Sync0對齊“虛擬點”,這是所有從機箱對各自的I/O進行更新的精確時間點。由于NI掃描引擎作用于單點數(shù)據(jù),虛擬輸出點已經(jīng)經(jīng)過優(yōu)化以便最快地獲取輸出模塊的更新,虛擬輸入點已經(jīng)過優(yōu)化以提供輸入模塊的最新采樣。在這種模式下,在個別通道之間的更新只會出現(xiàn)很小的抖動,這對于控制應(yīng)用而言是十分理想的。對于含有多路復(fù)用I/O的模塊而言,輸入在每個周期中都會包含一定的延遲,因此通道0讀數(shù)相對于下一個通道0讀數(shù)而言,會有相同的偏差值。此外,同步采樣模塊對于所有使用的相同模塊都在準(zhǔn)確的相同時間進行I/O通道更新,即使使用不同的模塊,也可達(dá)到最小的相位偏移。假設(shè)在從設(shè)備更新中,每個從設(shè)備采樣發(fā)生在兩個相同的虛擬點上,那么對于所有網(wǎng)絡(luò)上的NI 9144從設(shè)備的輸出和輸入都會有同步的開始時間。
評論