適合 LabVIEW RIO 系統的擴充 I/O:深入比較

綜覽

​系統層級的用途要求使用靈活的開發平台進行高速、閉迴路控制與高精準量測,NI 可重設 I/O (RIO) 產品就適用於這類用途。這類用途有時必須用到更多通道,或者必須採用更分散的架構,核心系統的功能無法因應這類需求。擴充 I/O 系統能做到 1 對 N 個系統的拓撲,也就是一個控制器結合「N」個現場可程式化閘道陣列 (FPGA) 及 I/O 節點,成為靈活且能執行分散式控制與本機處理的高通道數系統。

內容

匯流排開始

高通道數系統有各種需求,NI 的擴充 I/O 平台提供相當完整的系列產品,能充分因應這類系統的各種需求。如圖 1 所示,不同擴充 I/O 選項之間的差別在於可區隔 I/O 與處理器的匯流排。 每個匯流排都各有優點與好處,因此特別適合某一種擴充 I/O 應用。

圖 1:擴充 I/O 將處理器與 I/O 分割出來。每個擴充選項都會在兩者之間採用不同的通訊匯流排,可用於不同的應用領域。

CompactRIO 機擴充比較

每種 I/O 均採專用通訊匯流排 (乙太網路、EtherCAT 或 MXI),通訊匯流排就決定系統的特定功能。表 1 概述了每種擴充 I/O 選項的主要差異。

乙太網路 RIO

這款耐用的 4 或 8 槽式乙太網路 RIO 機箱可將由 FPGA 啟動的分散式 I/O 新增至任何乙太網路。透過高彈性的標準 CAT-5 接線作業,即可將乙太網路 RIO 系統連接至任何支援乙太網路的主機,包含 NI CompactRIO、即時 PXI 控制器、NI 工業級控制器。您也可以將乙太網路 RIO 擴充系統與 Windows 電腦連接,建構出分散範圍極廣、高度靈活且支援 FPGA 與混合訊號處理 I/O 的網路。有了內建 FPGA,即可於每個機箱的本地端執行客制化訊號分析、控制與安全連鎖功能,打造出貨真價實的模組化系統。 乙太網路 RIO 架構的系統適合十分講究成本、彈性、操作便利性的應用,像是適用於溫度與流量等單點量測的分散式監控作業。

EtherCAT RIO

乙太網路控制自動化技術 (Ethernet Control Automation Technology, EtherCAT) RIO 是 8 插槽附屬機箱,使用精確 EtherCAT 通訊協定經乙太網路通訊。EtherCAT RIO 可透過特定程度的精確與同步化功能,將由 FPGA 啟動的 I/O 新增至多通道數或分散式 I/O 系統。使用 EtherCAT RIO 即可以菊鏈方式連接多個附屬裝置與單一主機,並且將 I/O 同步為單一主機時脈。若您必須跨多組同步化機箱達到高精確度,則 EtherCAT RIO 便很適用於分散式的單點控制/運動控制應用。客戶會使用 EtherCAT RIO 監測風力發電機架構、同步測試設備,以及長距離控制用途。 

MXI-Express RIO (已停產)

NI 不再提供 MXI-Express RIO 擴充機箱;建議考慮改用 EtherCAT 或乙太網路 RIO 擴充機箱。請參照表 1,比較過後再決定最適合您的轉移方式。

I/O 數量

乙太網路、EtherCAT 與 MXI-Express RIO

MXI-Express RIO、乙太網路 RIO、EtherCAT RIO 系統能透過 C 系列 I/O 模組與任何匯流排上的任何感測器連接。I/O 可於 FPGA 直接使用,使用者可進一步透過 FPGA 實作行內訊號處理、客製化時序、特定觸發與閉迴路控制。每個 I/O 模組均內建訊號處理功能,並具備螺絲端子、BNC 或 D-SUB 接頭。目前有 100 種以上的 NI/第三方 C 系列模組可供選用,適合多種不同的量測作業,包含熱電偶、電壓、RTD、電流、電阻、應變、數位 (TTL 與其他)、加速規、麥克風等。可用不同模組建構 3 至 32 個通道,滿足各式各樣的系統需求。

FPGA

乙太網路、EtherCAT 與 MXI-Express RIO

FPGA 整合了特殊應用積體電路 (ASIC) 與處理器架構系統的最佳部分,因此 FPGA 晶片可應用於所有產業。FPGA 具有硬體時序的速度與可靠性,但進行作業時不需大量資源,也能降低客制 ASIC 設計的前置成本。

可重設晶片具有出色的彈性,可媲美處理器系統所執行的軟體,卻不受可用的處理器核心數量限制。和處理器不一樣的地方是,FPGA 本身即為平行架構,所以不同的處理作業不必為了相同的資源而競爭。各個獨立處理作業均將指派至專屬的晶片區塊,不會影響其他邏輯區塊即可自動運作。因此,當您新增其他處理作業時,應用內其他部分的效能不會受到影響。

 

網路拓撲

EtherCAT RIO

理論上,EtherCAT 網路的連線裝置上限是 65,535 個附屬裝置;高速乙太網路 (100 Mbit/s) 的數量限制也一樣。但限制系統銜接裝置數量的因素,可歸納為已部署的 I/O 通道數、控制器的速度,與執行應用的類型。

要設定系統並計算總傳輸量時,請注意,單一菊鏈中的所有機箱均共用相同「管路」或頻寬來回接主控制器。同樣的,迴路速率亦將受到匯流排上的裝置數量與資料所影響,而且各個機箱與接線都會延長系統潛時。

MXI-Express RIO (已停產) 

MXI-Express RIO 可使用星形 (star) 或菊鏈 (daisy-chain) 設定。可能的機箱數量取決於系統,但若採用菊鏈方式,最多可以連接六個機箱。星形設定的總機箱數量取決於主機控制器可用的 PCI 匯流排數量,單一控制器甚至可連接 40 個以上的機箱。

距離

使用 MXI-Express RIO 時,以匯流排相連的機箱與機箱之間,距離不可超過 7 公尺。乙太網路 RIO 與 EtherCAT 附屬機箱均支援不超過 100 公尺的通訊距離,裝置超過此距離需要使用集線器、交換器或中繼器。

注意: 若要延伸 EtherCAT 網路的範圍,必須使用能與 EtherCAT 相容的裝置;一般的乙太網路切換器無法與 EtherCAT 網路相容。 

裝置同步化

時序和同步化支援同一段時間內的事件產生相互關係或彼此協調,這是許多控制與量測用途中不可或缺的一環,當控制與量測規模擴充到高通道數範圍時尤其如此。

EtherCAT RIO

由於 EtherCAT 匯流排通訊標準,將定義網路參考上所有裝置的主要系統時脈,因此 EtherCAT RIO 將自動同步化其他部分。若系統需要精確的同步化 (不到一毫秒),則可選用 EtherCAT 匯流排。

MXI-Express RIO 與乙太網路 RIO 

MXI-Express RIO 與乙太網路 RIO 機箱無法透過匯流排 (分別為 MXI-Express 與高速乙太網路) 支援同步化功能。且匯流排架構中並未內建時脈分享 (Clock sharing) 功能,亦即因網路拓撲所造成的封包遺失或衝突,系統均將忽略其延遲情形 (系統節點之間為非同步化通訊)。但因共用相同的機箱背板,因此單一機箱中的所有模組均可同步化;但請注意,必須使用 C 系列數位 I/O 模組在多個機箱中達到參考時脈訊號,才可同步化多個 MXI-Express 或乙太網路 RIO 機箱。 

通訊抖動

此規格項目代表通訊匯流排引起的抖動 (jitter) 現象。系統內主要的抖動來源通常和控制器較有關係,而非通訊匯流排 (尤其是 Windows 控制器)。此外,系統抖動現象取決於系統架構,而且資料要透過菊鏈才能傳達至主機的機箱數量。 

如果應用的控制迴圈必須於分散式 Real-Time 運算節點之間傳輸資料,就需要精確的通訊功能。也就是說,網路引起的抖動會造成控制迴路抖動。可接受的控制迴路抖動取決於系統本身,但標準範圍是控制迴路時間的 ±10%。假設控制迴路是 1 kHz,表示每次迭代的運作範圍會以 900 到 1,100 μs 為範圍,且系統仍然會正常回應。 

MXI-Express RIO 與 EtherCAT RIO 的通訊抖動分別不到 10 毫秒與 1 毫秒。 乙太網路 RIO 裝置並無抖動規格。 因為高速乙太網路與無線傳輸並非精確的資料傳輸方式。

匯流排傳輸率

MXI-Express RIO 將資料回傳至控制器時的理論頻寬上限是 250 MB/s,相較之下,乙太網路 RIO 的最大值是 25 MB/s、EtherCAT 則是 12.5 MB/s,因此,MXI-Express RIO 的傳輸量最高。請注意,匯流排效能不僅取決於匯流排的理論最大頻寬;除了頻寬之外,還要考慮潛時、實作、功率需求與應用等因素。就高傳輸率應用而言,MXI-Express RIO 堪稱理想選擇。就監控方面的大多數用途而言,乙太網路 RIO 與 EtherCAT RIO 的傳輸率功能已經相當足夠。

API

應用程式介面 (API) 是一組常式,能發揮軟體應用程式建構元素的作用。設定擴充 I/O 系統的方式有兩種:NI CompactRIO 掃描模式或 NI LabVIEW FPGA 主機介面 API。

NI CompactRIO 掃描模式 (也稱為 RIO 掃描介面或 RSI) 可用於 EtherCAT 與乙太網路機箱。CompactRIO 掃描模式可自動偵測 I/O 模組,並且新增至 LabVIEW 專案。接著您可以將 I/O 變數拖曳至 LabVIEW Real-Time 與主要 VI 程式圖中,不需針對 FPGA 進行編譯或程式設計,隨即讀取/寫入校準過的 I/O 資料。 

圖 2:使用 CompactRIO 掃描模式

如果想要直接設定 FPGA,請選用 LabVIEW FPGA Module。只要撰寫過 FPGA VI,就會編譯至位元流並佈署至 FPGA。若要透過主機應用程式與 FPGA 溝通,請選用 LabVIEW FPGA 主機介面 API。這樣一來即可讀寫至暫存器,也能進行 DMA 傳輸。

請注意,若使用 EtherCAT 機箱,則必須透過使用者定義的 I/O 變數,才能溝通控制器的 Real-Time VI 與擴充機箱的 FPGA VI(使用者定義的 I/O 變數可搭配 NI Scan Engine,以同步化 FPGA 資料)。也就是說,擴充機箱的 FPGA VI 不會有 FPGA 主機介面、DMA 轉換函式,或是人機介面除錯功能。

LabVIEW FPGA 主機介面 API 只能用於介接 MXI-Express RIO。 

而 C 系列模組是否與各機箱相容,亦取決於其是否支援 NI 掃描模式的功能。由於 MXI-Express RIO 僅支援 LabVIEW FPGA,而必須依賴 NI 掃描模式的模組 (如 NI 986x CAN 模組),將無法相容於 MXI-Express RIO。如需完整的 C 系列模組相容清單,請參閱 NI C 系列相容表

主機控制器

此 4 款擴充選項均使用不同的匯流排,因此控制器端亦需要不同的連結功能。

乙太網路 RIO

乙太網路 RIO 可用於任何有乙太網路連接埠的系統,也適用於大多數的標準網路拓撲。若要將乙太網路 RIO 直接連接於即時控制器的次要乙太網路連接埠,請參閱將乙太網路 RIO 擴充機箱連接至即時控制器的次要乙太網路連接埠。NI-9149 與 NI-9147 乙太網路 RIO 機箱也有一個 USB 連接埠,便於設定裝置之用。不過,這種連接埠無法用來取代乙太網路埠。 

EtherCAT RIO 

只要是具備 2 組乙太網路埠的即時控制器,均可相容於 EtherCAT RIO 機箱,包含 CompactRIO、PXI 與工業級控制器平台。另請注意,就 EtherCAT 而言,若即時 PXI 控制器沒有兩組乙太網路連接埠,就必須再使用 NI PXI-8231/8232 乙太網路介面 (NI 8234 乙太網路介面並不相容),但只有即時控制器支援這款介面。您還需要使用 NI-Industrial Communications for EtherCAT 驅動程式,且第二個乙太網路連接埠必須使用「EtherCAT」模式。

MXI-Express RIO (已停產)

MXI-Express RIO 必須使用 MXI-Express 介面與主機系統介接:選項包括多核心 CompactRIO、PXI、工業級控制器,以及執行 Windows/即時作業系統且有 MXI-Express PCI 介面卡的電腦。MXI-Express ExpressCard 轉接器可用於將 MXI-Express RIO 機箱連接到尚未安裝 MXI-Express 介面但有內建 ExpressCard 插槽 (如 NI PXIe-8115) 的控制器。NI PXIe-8364 MXI-Express 介面也可用於連接 MXI-Express RIO 與 PXI 系統。您可以使用 MXI-Express 轉 PCI 或 PCI Express 轉接器連接 MXI-Express RIO 與電腦。 

 乙太網路EtherCATMXI (EOL)
 將具有 FPGA 的 I/O 新增至乙太網路內任何位置。在 EtherCAT 上採用精確 I/O 並用於分散式應用。將高效能擴充機箱用於多通道數應用。
I/O 數量4 或 8 個 C 系列插槽8 個 C 系列插槽8 或 14 個 C 系列插槽
FPGAArtix-7Artix-7Virtex-5 (LX50/LX85/LX110)
網路拓撲與乙太網路相同菊鏈/星形菊鏈/星形
距離距離集線器 100 公尺距離中繼器 100 公尺機箱間距 7 公尺
多裝置同步化FPGA 架構的 DIO隱性匯流排FPGA 架構的 DIO
通訊抖動無規格<1 μs<10 μs
匯流排傳輸率25 MB/s12.5 MB/s250 MB/s
API 支援FPGA 主機介面/RSIRSIFPGA 主機介面
主機Windows/Real-Time僅限 Real-TimeWindows/Real-Time

 

表 1:擴充 I/O 主要功能比較

 

機箱FPGA閘道正反器 (Flip-Flop)查找表 (LUT)乘法器區塊 RAM (kbit)
乙太網路
NI-9149Artix-7106,40053,2002204,480
NI-9147Artix-7106,40053,2002204,480
NI-9148 (EOL)Spartan-3 2000 200 萬40,96040,96040720
NI-9146 (EOL)Spartan-6 LX 4554,57654,576582,088
EtherCAT
NI-9145Artix-7106,40053,2002204,480
NI-9144 (EOL)Spartan-3 2000200 萬40,96040,96040720
MXI-Express
NI-9159 (EOL)Virtex-5 LX11069,12069,120644,608
NI-9157 (EOL)Virtex-5 LX8551,84051,840483,456
NI-9155 (EOL) Virtex-5 LX8551,84051,840 483,456
NI-9154 (EOL)Virtex-5 LX50 28,80028,80048 1,728

 

表 2:查看用於擴充 RIO 產品的 FPGA。