LabVIEW 8.6實時模塊引入了功能強大的新功能,在CompactRIO硬件編程中能夠縮短開發時間,降低開發復雜度,同時提供實現監測和維護CompactRIO應用的工具。CompactRIO是一款高性能可編程自動化控制器(PAC),不同的核心構架使它區別于現場可編程門陣列(FPGA)。FPGA的最高層是可重復編程的硅片,FPGA為自定義硬件提供高性能及可靠性的同時,保持了軟件定義系統的靈活性。傳統上,對FPGA的使用僅限于能夠熟練使用VHDL及其它硬件描述語言的硬件設計工程師;然而LabVIEW讓您無需這類專業知識就能從FPGA中受益。LabVIEW是一款功能強大且直觀的圖形化編程語言,它內置上百種控制、分析、通信、及數據記錄功能。CompactRIO完全可通過LabVIEW來編程,包括FPGA、實時處理器、及人機界面(HMI)等。
通過LabVIEW 8.6實時模塊中的新功能 - CompactRIO掃描模式,您可以在兩個方案中選擇其一:在無需對FPGA編程的情況下直接在LabVIEW Real-Time及主機應用程序中訪問I/O模塊;或者在LabVIEW FPGA編程中訪問I/O模塊從而實現最大的靈活性及性能。您還能通過全新的測試面板及I/O強置功能來快速啟動、運行,實現高級調試及系統性能監測。
1. 縮短開發時間,降低開發難度
圖1. CompactRIO掃描模式提供與LabVIEW Real-Time和主機VI的I/O直接連接,無需FPGA編程或編譯
傳統上,訪問CompactRIO I/O是通過對FPGA編程來實現的,而在LabVIEW Real-Time中,通過LabVIEW FPGA交互VI。CompactRIO掃描模式自動監測I/O模塊,將其添加入LabVIEW項目。您可以將I/O變量拖拽到LabVIEW Real-Time及主機VI程序框圖中,并立即讀寫經比例變換、校準后的I/O數據,無需FPGA編程或編譯(見圖2)。
圖2.在LabVIEW實時系統下,通過在程序框圖中拖拽I/O變量直接訪問I/O
NI掃描引擎,是一款新的LabVIEW Real-Time組件,它能夠以用戶設定頻率值來更新I/O變量(頻率最高達1 kHz)。所有掃描的通道由硬件定時來實現模塊間的同步。您可以在LabVIEW項目中配置掃描引擎,或通過內含的 VI庫來編程。掃描引擎還能提供定時循環的定時源,從而可以同步低抖動控制應用中的I/0更新的代碼。還可以為I/O變量創建別名,在物理I/O通道上抽象出新的I/O層。同時,可對I/O變量和命名進行線性比例變換。
CompactRIO掃描模式為現有的8通道數字NI C系列模塊加入計數器、正交編碼器、及脈沖寬度調制器(PWM)等功能,無需任何編程。您可以在LabVIEW項目中配置這些專業數字功能,然后在FPGA上精確、高速運行。現在,您可以在無需編譯的情況下實現高達1 MHz的邊沿計數器、脈寬及頻率測量、正交編碼、及PWM控制等功能。
計數器特有屬性
在8通道上實現1 MHz計數
32位計數寄存器,可編程中斷計數
可配置中斷計數及中斷計數行為
可配置計數邊沿 (上升沿、下降沿、或同時),源及門
周期、PWM、及頻率測量并且可配置時基
正交編碼器特有屬性
1 MHz最大四倍計數率
32位計數寄存器
32位速率測量寄存器
可配置速率測量時基 (256 μs, 512 μs, ... 16384 μs, 或32768 μs)
X4 編碼
雙四通道,每個模塊包含A+B+Index輸入
可選編碼極性
PWM特有屬性
8輸出通道
配置每通道占空比及周期
可配置頻率(1 Hz, 50 Hz, 250 Hz, 500 Hz, 1 kHz, 5 kHz, 10 kHz, 或20 kHz)
2. 輕松安裝、調試、及監測
NI分布式系統管理器是LabVIEW 8.6中的另一新工具,它能夠監測網絡系統,管理發布數據。在CompactRIO掃描模式下,全新的系統管理器為CompactRIO模塊提供了測試前面板。系統聯網并就緒后,即刻能得到I/O的實時值及歷史趨勢值,用于快速校驗連接性及信號完整性。除了測試面板外,系統管理器還能顯示CompactRIO控制器的內存占用及處理器負載。
圖3.全新NI分布式系統管理器通過在CompactRIO中加入測試面板幫助您快速啟動及運行
CompactRIO掃描模式下引入I/O強置工具,這款調試工具用于重置I/O變量值,且無需中止或修改實時應用程序。您可以通過強制設置輸入值來測試系統響應,從而代替物理仿真;還可以強制設置輸出來重置程序的輸出值。您可以通過系統管理器或全新I/O強置VI來強制設置通道值。
3. LabVIEW FPGA及CompactRIO掃描模式
LabVIEW 8.6實時模塊中可通過CompactRIO掃描模式或LabVIEW FPGA來訪問每個模塊。通過LabVIEW FPGA可以實現自定義觸發、基于硬件的分析、信號處理、或高速模擬傳輸。要在LabVIEW FPGA 模式下使用I/O模塊,只需簡單地將其拖入LabVIEW 工程中的FPGA目標,從掃描模式下移除。然后在LabVIEW FPGA下對模塊編程,使用I/O變量讀寫其余模塊的I/O(見圖4)。
圖4.該VI通過CompactRIO掃描模式訪問I/O,同時通過LabVIEW FPGA對輸入的加速度數據進行快速傅立葉變換
如果在一個或多個模塊中采用LabVIEW FPGA模式,FPGA上的CompactRIO掃描模式邏輯,又稱RIO掃描接口,通過LabVIEW FPGA VI在單獨FPGA應用中編譯。如果模塊都未配置為掃描模式,RIO掃描接口就不會被編譯。
4. 深入理解CompactRIO掃描模式
CompactRIO掃描模式主要包括兩個技術:NI掃描引擎和RIO掃描接口。RIO掃描接口是由美國國家儀器公司開發的一系列FPGA知識產權(IP),下載在CompactRIO FPGA上,用于實現I/O模塊檢測、定時、同步、通信等功能。RIO掃描接口執行硬件定時的掃描循環,更新物理I/O值。兩條DMA通道用于在FPGA和實時操作系統(RTOS)之間傳輸I/O數據。之前創建的專用于數字化的功能也是RIO掃描接口的一個組件。更多關于RIO掃描接口的信息,請參閱下文的“相關資源”部分。
NI掃描引擎是LabVIEW Real-Time中的新組件,它的執行優先級高于嚴格定時或界于嚴格定時和定時結構之間,用戶可自由配置。RIO掃描接口每次完成I/O掃描后LabVIEW會將I/O變量添加到全局掃描內存映射,并更新當前所有I/O變量的值。然而,您可以對每一個I/O變量節點進行配置,采用掃描訪問方式或直接訪問方式。默認情況下,LabVIEW將I/O變量節點配置為掃描I/O,通過掃描引擎內存映射來實現非阻塞I/O讀寫(見圖5)。直接I/O訪問繞過掃描引擎內存映射,直接與I/O設備驅動通信,從而實現阻塞I/O讀寫(見圖5)。NI掃描引擎同時向網絡發布I/O變量,使其可以被主機應用、測試面板及I/O強置工具讀寫。掃描引擎,而非LabVIEW共享變量引擎,處理I/O變量的網絡發布,可通過I/O變量屬性頁面關閉該功能。
當LabVIEW FPGA使用CompactRIO掃描模式時(有些模塊使用CompactRIO掃描模式;而另一些模塊采用LabVIEW FPGA模式),RIO掃描接口及FPGA VI共同編譯成一個比特流,并部署于FPGA上。在LabVIEW FPGA模式下通過LabVIEW Real-Time 中的FPGA接口VI來訪問I/O模塊,而在掃描模式下通過I/O變量來連接I/O模塊。如果將掃描模式下的所有模塊都移除,RIO掃描接口將不會被編譯到比特流。RIO掃描接口在FPGA上占用的空間取決于處于掃描模式下的模塊數量。
圖5. 深入理解CompactRIO掃描模式
5. CompactRIO掃描模式的應用場合
在某些應用中,需要高達1 kHz的同步更新率來更新I/O,CompactRIO掃描模式就是專為了這些應用所設計的。通過特定的數字化功能您可以在掃描模式下將現有的8通道數字I/O模塊設計成高級的PWM、計數器、正交編碼器模塊等。通過系統管理器中的 I/O強置及測試面板功能,可在掃描模式下實現初始化設置、系統性能監測、及高級的故障排除等功能。對于更高性能要求的應用,例如接近1 MHz的模擬傳輸、高于1 kHz的高速PID控制回路、自定義硬件分析及信號處理、或不支持掃描模式的I/O模塊等,可采用LabVIEW FPGA模塊的掃描模式。您還可以通過LabVIEW FPGA模塊從實時控制器上卸載處理。
由于RSI FPGA空間需求,掃描模式能夠支持運行VxWorks RTOS的至少2M門的FPGA控制器。支持的控制器包括:NI 9012、NI 9014、NI 9073、及NI 9074。支持的底板包括: NI 9103、NI 9104、NI 9073、及NI 9074。
在使用CompactRIO掃描模式時可能要犧牲一些性能,例如:特定數字化功能支持高達1 MHz的計數器,相對的LabVIEW FPGA的支持可達到20 MHz。掃描引擎用到的系統資源,包括:FPGA空間、2個DMA通道、存儲器、及取決于掃描頻率的CPU運算時間。RSI消耗的FPGA空間取決于運行于掃描模式下模塊數量。
6. 結論
LabVIEW 8.6實時模塊添加了一系列功能強大的特性,能夠縮短CompactRIO開發時間,降低開發難度。通過CompactRIO掃描模式,無需FPGA編程即可在LabVIEW Real-Time及主機應用中訪問I/O,同時還能選擇直接對FPGA編程來滿足最高級的應用需求。NI分布式系統管理器及I/O強置工具同時為CompactRIO提供了測試面板和高級調試功能,從而能夠輕松實現對CompactRIO應用的監測,維護。
7. 相關資源
在線研討會:CompactRIO 交互式指南視頻
中文網頁:了解 LabVIEW 最新版本
下載索取:LabVIEW評估版
技術文檔:?LabVIEW I/O變量值與NI掃描引擎的使用
評論
查看更多