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