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