CompactRIO高性能控制器基于LabVIEW RIO架構,采用了功能強大的Intel Atom片上系統(SoC)和Xilinx Kintex7 FPGA等最新技術。 Intel Atom SoC提供了極高的性能和豐富的功能,包括集成式GPU和雙核1.33 GHz處理器。 比起其他CompactRIO控制器的FPGA,Kintex-7 325T FPGA包含大約3倍的復雜邏輯塊和超過13倍的DSP片。 FPGA與處理器使用PCI Express總線進行通信,大大提高了吞吐量,并可訪問16個DMA通道。
?
全新CompactRIO高性能控制器采用的LabVIEW RIO架構提供了軟件靈活性,可將HMI和控制任務集成到同一個硬件和同一個操作系統中。 這主要歸功于Intel Atom SoC和NI Linux Real-Time操作系統提供的特性。 NI Linux Real-Time操作系統可將任務優先級顯示給開發人員,為控制任務分配比在同一個應用程序中運行的HMI軟件任務更高的優先級。
這些技術的結合大大提高了閉環控制應用的系統吞吐量并降低了延遲。 CompactRIO高性能控制器為嵌入式設計人員提供了靈活強大的硬件,同時還可幫助他們降低系統復雜性和成本。
為了證明CompactRIO高性能控制器的性能,NI研發部設計了一系列基于cRIO-9031高性能控制器的控制和監測應用基準測試。 這些測試同樣適用于其他使用相同CPU的CompactRIO高性能控制器產品。
1. 基準測試設置和測量
我們選擇了具有代表性的常見控制和監測應用以及這些應用中常見的主要任務進行基準測試。 下表列出了本次研究要進行的測試。
表1 - 在CompactRIO控制器上進行測試,以測量應用的性能和吞吐量
本研究的測試對象是以下硬件終端:
NI cRIO-9025?| 800 MHz, PowerPC
NI cRIO-9068?| 667 MHz,ARM Cortex-A9 雙核
NI cRIO-9031?| 1.33 GHz,Intel Atom雙核
NI cRIO-9082?| 1.33 GHz,Intel Core i7 雙核
雖然本研究重點關注的是CompactRIO高性能控制器及其與同一產品家族其他控制器(如cRIO-9025)的性能對比,但是其他CompactRIO產品系列的代表性硬件終端,如cRIO-9068和cRIO-9082也包含在測試中,以便讀者更完整地了解CompactRIO系統所提供的各種可能性。
CPU使用率作為通用指標來比較這些CompactRIO控制器的相對性能。 對于每個測試,我們通過在穩定的狀態下改變數據傳輸的通道數或控制循環速率來測量CPU使用率。 這些指標可以幫助我們了解可用于添加代碼、提高循環速率或增加數據傳輸通道的資源。
其他考量因素:
. 對于搭載多核處理器的CompactRIO系統,取每個內核測試結果的平均值。
. 對于NI cRIO-9031控制器,分別在啟用和禁用嵌入式用戶界面的條件下進行測試,以測量該功能對系統整體性能的影響。
2. 測試1——LabVIEW FPGA控制項目范例的性能基準測試
全新高性能CompactRIO系統采用的技術組合為復雜的實際應用帶來了無可比擬的性能提升。 針對控制應用測試時,我們選擇基于CompactRIO的LabVIEW FPGA控制項目范例。 我們在該項目范例的基礎上增加了在Real-Time控制器上執行八通道三次樣條軌跡生成算法,進一步增大CPU的負荷。
圖1 -基于CompactRIO的LabVIEW FPGA控制項目范例的架構框圖包含了一個八通道三次樣條軌跡生成算法
下圖顯示的數字表示控制循環速率為1.5 kHz時的CPU使用率。 在該速率下,cRIO-9031高性能控制器使用約11%的處理器資源, 而cRIO-9068和cRIO-9025控制器分別需要21%和64%的處理器資源,相比之下,cRIO-9031高性能控制器具有明顯的優勢。
圖2 - 當控制循環速率為1.5 kHz時,運行包含八通道三次樣條軌跡生成算法的控制應用程序所需的處理器資源比較
對于cRIO-9031高性能控制器,我們在啟用嵌入式用戶界面的設置下又重復進行了該測試,由于本次測試沒有涉及基于CompactRIO的LabVIEW FPGA控制項目范例的人機界面部分,因此CPU占用率并沒有明顯的變化。
3. 測試2——監測應用的吞吐量基準測試
監測應用中一個常見的任務是將數據從I/O通道移動到實時處理器進行進一步處理、記錄或可視化。 我們設計了一個簡單的測試來重現這一場景,并測量數據傳輸通道數量發生變化時的CPU使用率。 每個通道以100kHz傳輸16位采樣數據。 測試不包含任何數據流盤或在線處理。
圖3 - 監測應用中一個簡化的數據流盤任務的架構框圖。
下圖顯示了以100kHz循環速率讀寫60個通道數據的測試結果。 在這個測試中,我們必須意識到由于硬件架構之間的細微差別可能會給測試帶來瓶頸。 例如,cRIO-9068和cRIO-9031均具有16個DMA通道和較高的理論最大數據傳輸速率: cRIO-9068控制器為320MB/s,cRIO-9031控制器為250MB/s。 然而,cRIO-9031高性能控制器由于采用性能明顯較高的處理器而能夠以較低的CPU利用率維持較多數量的數據流。
圖4 – 每通道控制循環速率為100kHz時讀寫60個通道的16位采樣數據所需的處理器資源
類似于控制應用性能測試,由于本測試沒有涉及人機界面,因而cRIO-9031的嵌入式用戶界面選項并沒有太大的影響。 如需了解嵌入式用戶界面功能的影響,請查看測試3。
4. 測試3—復雜真實應用的性能基準測試
充分發揮cRIO高性能控制器功能的最佳方式也許是基于復雜真實應用的測試。 大型應用通常結合了不同類型的常見監測和控制任務,包括具有多速率控制的多個處理循環、數據處理、從I/O通道讀寫數據、流盤、通過網絡將數據傳送到遠程人機界面以及執行非時間關鍵型健康和狀態監測任務。
我們開發了一個包含上述任務的復雜應用程序,使用RT FIFO、定時循環以及網絡流等常見的LabVIEW架構組件來協調各種應用程序組件并實現它們之間的通信。 此外,我們還設計了一個專門的任務,以較高的速度將數據發布到前面板顯示控件,以充分發揮cRIO高性能控制器的嵌入式用戶界面功能。
圖5– 一個真實控制和監測應用的架構框圖
使用這一應用程序,NI cRIO-9025可實現大約900Hz的最大控制環速率。 在該速率下,NI cRIO-9025的CPU使用率是86%,而cRIO-9031高性能控制器僅使用可用處理器資源的18%就能達到相同的速率。 這為增加額外的應用程序任務保留了大量的可用CPU資源,或者對于這個復雜的控制和監測應用,循環速率可提高到超過2 kHz。
圖6 – 在不同控制循環速率下運行包含多個常見控制和監測任務的復雜應用所需的CPU使用率。
5. 嵌入式用戶界面的影響
CompactRIO高性能控制器可通過嵌入式界面支持來實現本地HMI,降低了系統成本和復雜性。 這主要歸功于這款全新的控制器采用了最新的Intel Atom處理器,該處理器及其具有的顯卡支持為使用NI LabVIEW構建控制系統邏輯和觸摸用戶界面提供了高性能基礎。 為了實現該集成,LabVIEW開發環境和NI Linux Real-Time操作系統會將任務優先級顯示給開發人員,為控制任務分配比在同一個應用程序中運行的HMI軟件任務更高的優先級。
在該方法中,終端的資源用于系統控制和驅動用戶界面的顯卡。 這降低了系統的硬件成本和維護負擔,簡化了軟件開發的復雜性,但相對于其他顯示選項會消耗更多的控制器資源。
為了測量嵌入式界面對處理器資源的影響,我們對測試3進行修改,在高速率下更新其組件,以連續運行HMI。 下圖顯示了在測試3的活躍用戶界面下使用嵌入式用戶界面功能的影響。
圖7 - 啟用嵌入式用戶界面功能后在高速率下更新用戶界面,可以看到增加的CPU使用率大約恒定在10%。
當滿負荷時,使用嵌入式用戶界面功能會導致CPU使用率大約增加10%。 類似于測試1和2中,無論數據流通道的數量如何變化,嵌入式用戶界面功能的影響保持恒定。
為了支持嵌入式界面的圖形處理能力,Intel Atom SoC采用了板載GPU來增強CPU。 GPU通過頻繁的處理器中斷調用來與處理器進行通信,中斷調用需要占用一定的LabVIEW Real-Time應用程序處理時間。 由于Intel Atom CPU的高性能, 在一兩千赫茲的控制循環速率下更新GPU導致的處理時間增加是可以接受的,無需修改架構或配置。 為了實現接近5 kHz及以上的控制循環速率,同時仍然利用內嵌式用戶界面,我們可以禁用GPU或將LabVIEW控制代碼轉移到在板載FPGA,詳情可參考以下鏈接。
對于嵌入式用戶界面可能會影響系統性能的應用,請遵守以下建議:
通過LabVIEW中的處理器內核分配任務執行來進一步隔離任務。了解更多。
如果需要進一步的隔離和更高的硬件可靠性,可將LabVIEW控制代碼轉移至板載FPGA的硬件邏輯。?了解更多
禁用Intel Atom SoC的GPU,以犧牲CPU利用率來減小抖動。?了解更多。
6. 結論
嵌入式應用可執行的功能越來越多,如運動控制、數據采集、視覺采集和人機界面。 由于NI CompactRIO高性能控制器集成了最先進技術和獨特的功能,可大幅加快開發時間并降低系統復雜性和成本,因而成為這些應用的理想選擇。
CompactRIO高性能控制比其他控制器產品系列控制器有了顯著的性能提升,而且擴展了可兼容NI Linux Real-Time等關鍵技術的終端范圍。 NI CompactRIO高性能控制器基于LabVIEW RIO架構提供了靈活、功能強大的硬件和軟件技術,適用于各種嵌入式控制和監測應用。
通過這一系列的基準測試,證明了cRIO-9031高性能控制器相比同類cRIO控制器產品家族中的現有產品,如cRIO-9025,性能大約提升了4倍。然而,整個測試也表明, cRIO-908x控制器仍是目前CompactRIO產品線中最高性能的控制器。
評論
查看更多