国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LabVIEW CompactRIO 開發(fā)指南 3 選擇CompactRIO編程模式

2023-04-28 19:46 作者:bjcyck  | 我要投稿

第二章

選擇CompactRIO編程模式

第一章中介紹的CompactRIO架構為我們提供了通過LabVIEW FPGA定制FPGA硬件或使用NI CompactRIO掃描模式來實現(xiàn)I/O的選項。如果計算機上有LabVIEW Real-Time和LabVIEW FPGA,那么當向LabVIEW項目添加CompactRIO目標時,將提示選擇想要使用的編程模式。在選擇一種模式后,如果想為應用程序使用LabVIEW FPGA和CompactRIO掃描模式的混合,也可以進入混合模式。如圖2.1所示。如果安裝了LabVIEW FPGA,在向LabVIEW項目添加CompactRIO系統(tǒng)時,會提示選擇編程模式

圖2.1?選擇編程模式

下面是每種編程模式的概述。

LabVIEWFPGA接口模式

使用LabVIEW FPGA接口模式,除了對實時處理器進行編程外,還可以通過定制FPGA個性來解鎖CompactRIO的真正功能。這可以幫助開發(fā)人員實現(xiàn)通常需要定制硬件的性能。使用LabVIEW FPGA,可以實現(xiàn)自定義定時和觸發(fā),卸載信號處理和分析,創(chuàng)建自定義協(xié)議,并以最大速率訪問I/O。當在FPGA VI和Real-Time VI之間通信數(shù)據(jù)時,可以選擇使用DMA FIFO以非常高的速率傳輸數(shù)據(jù),或者使用控件和指示器通信單點數(shù)據(jù)。

CompactRIO掃描模式

使用CompactRIO掃描模式,可以對CompactRIO系統(tǒng)的實時處理器進行編程,但不能對FPGA進行編程。在這種模式下,NI為FPGA提供了一個預定義的特性,它定期掃描I/O并將其放置在內存映射中,使其可用于LabVIEW Real-Time。CompactRIO掃描模式足以滿足需要以幾百赫茲的速率對I/O進行單點訪問的應用程序。它不支持高速率的流數(shù)據(jù)

混合模式

同時在目標上使用CompactRIO掃描模式和LabVIEW FPGA被稱為混合模式。使用這種方法,開發(fā)人員選擇直接使用LabVIEW FPGA編程的模塊從I/O掃描中刪除,其余模塊與RIO掃描接口通信。請注意,RIO掃描接口使用了通??捎糜贚abVIEW FPGA的三個DMA通道中的兩個。本節(jié)提供有關為CompactRIO應用程序選擇編程模式的提示。開發(fā)人員應該根據(jù)應用程序對性能、可靠性、自定義和I/O的需求來選擇編程模式。NI LabVIEW for CompactRIO開發(fā)人員指南討論了LabVIEW FPGA編程和RIO掃描接口使用的編程技術和最佳實踐。

何時使用LabVIEW FPGA

與基于處理器的控制系統(tǒng)一樣,F(xiàn)PGA已被用于實現(xiàn)所有類型的工業(yè)控制系統(tǒng),包括模擬過程控制、離散邏輯以及基于批處理或狀態(tài)機的控制系統(tǒng)。然而,基于FPGA的控制系統(tǒng)在很多方面與基于處理器的系統(tǒng)不同。如果應用程序有下面列出的任何需求,應該使用LabVIEW FPGA編程I/O和其他低級任務。可以在第5章:通過LabVIEW FPGA定制硬件中找到更多關于使用LabVIEW FPGA編程的信息。

使用LabVIEW FPGA,您可以創(chuàng)建用于高速數(shù)據(jù)采集、控制回路或自定義定時和觸發(fā)的自定義FPGA vi。

圖2.2使用LabVIEW FPGA

最大性能和可靠性

當為FPGA設備編譯控制應用程序時,結果是一個高度優(yōu)化的處理流程,提供真正的并行處理,并具有專用硬件電路的性能和可靠性優(yōu)勢。由于FPGA芯片上沒有操作系統(tǒng),因此代碼以確保最大性能和可靠性的方式實現(xiàn)。

高速波形采集/產(chǎn)生(> 500hz)

RIO掃描接口針對運行在低于500 Hz的控制回路進行了優(yōu)化,但許多C系列I/O模塊能夠以更高的速率獲取和生成。如果需要充分利用這些模塊功能并以高于500 Hz的速度采集或生成,則可以使用LabVIEW FPGA以根據(jù)具體的應用定制的用戶定義速率進行采集。自定義觸發(fā)/時間/同步

使用可重新配置的FPGA,可以創(chuàng)建簡單、高級或其他自定義的觸發(fā)器、定時方案和I/O或機箱同步實現(xiàn)。這些可以像基于超過閾值的模擬采集的上升觸發(fā)自定義CAN消息一樣復雜,也可以像在外部時鐘源的上升沿上獲取輸入值一樣簡單。

基于硬件的分析/生成和協(xié)同處理

許多傳感器輸出的數(shù)據(jù)比實時處理器單獨合理處理的數(shù)據(jù)要多??梢詫PGA用作協(xié)處理器來分析或生成復雜信號,同時將處理器釋放給其他關鍵線程。這種基于FPGA的協(xié)同處理通常用于以下應用:

■編碼/解碼傳感器

轉速表

標準和/或自定義數(shù)字協(xié)議

■信號處理和分析

光譜分析(快速傅立葉變換和窗化)

過濾、平均等

數(shù)據(jù)簡化

第三方IP集成

■傳感器仿真

凸輪和曲柄

線性可變差動變壓器(LVDTs)

■硬件在環(huán)仿真

最高性能控制

FPGA不僅可以實現(xiàn)高速采集和生成,還可以在FPGA上實現(xiàn)多種控制算法??梢允褂脝吸cI/O與多通道,可調PID或其他控制算法來實現(xiàn)確定性控制,環(huán)路速率超過1 MHz。例如,LabVIEW FPGA模塊包含的PID控制算法在300 ns內執(zhí)行。

使用LabVIEW FPGA接口模式

當從LabVIEW項目中發(fā)現(xiàn)CompactRIO控制器時,選擇LabVIEW FPGA Interface作為編程模式。LabVIEW FPGA接口模式自動檢測I/O模塊并將其添加到LabVIEW項目中??梢栽诘?章:通過LabVIEW FPGA定制硬件中找到更多關于使用LabVIEW FPGA接口模式的信息和最佳實踐。

何時使用CompactRIO掃描模式

一些工業(yè)控制和監(jiān)控應用基于單點I/O數(shù)據(jù)。這些進程中使用的數(shù)據(jù)表示物理I/O通道的當前值。流程不關心跟蹤數(shù)據(jù)的時間歷史、將當前值與任何先前值進行比較,或測量值的變化率。它們通常不需要超過500赫茲的循環(huán)速率??梢允褂肅ompactRIO掃描模式來簡化這些類型的應用程序。

RIO掃描接口技術允許單點I/O訪問高達幾百赫茲的速率,而無需編寫FPGA代碼或RT到FPGA接口。當控制器通過掃描接口訪問I/O時,將自動從模塊中讀取模塊I/O,并將其放入CompactRIO控制器上的當前值表中。

圖2.3 RIO掃描接口

當決定為CompactRIO應用程序使用Scan Mode時,應該考慮所需的性能或循環(huán)速率和通道計數(shù)。圖2.4中的圖形顯示了使用掃描模式對PID控制回路完成的基準測試,包括一個模擬輸入和一個模擬輸出。數(shù)據(jù)顯示,高于100 Hz的PID循環(huán)速率加上高通道數(shù)對CPU使用率有顯著影響。一般來說,當需要比500hz更快的循環(huán)速率時,不應該使用掃描模式。

圖2.4當使用RIO掃描接口時,高通道數(shù)和高環(huán)路速率對CPU的影響很大

雖然不應該使用掃描模式高速數(shù)據(jù)采集或控制回路,但它確實提供了幾個好處:

■易于編程-在開發(fā)過程中將I/O變量直接拖放到LabVIEW實時VI中。

■動態(tài)檢測I/O模塊的能力-未通過項目配置的插槽自動檢測插入的模塊。然后,可以通過變量API配置這些模塊。

■故障引擎- NI掃描引擎具有內置的NI故障引擎,可以確定地拋出錯誤。

■診斷和調試-使用分布式系統(tǒng)管理器,可以查看當前值和故障,以及在程序運行時覆蓋當前I/O值。

并非所有CompactRIO硬件都適用于NI掃描模式。有關支持掃描模式的C系列I/O模塊列表,請參見CompactRIO掃描模式支持的C系列模塊。帶有1M門FPGA的CompactRIO目標不能完全支持掃描接口。可以在不支持的目標上實現(xiàn)一些掃描接口功能,但必須使用LabVIEW FPGA。

使用CompactRIO掃描模式

當從LabVIEW項目中發(fā)現(xiàn)CompactRIO控制器時,選擇Scan Interface作為編程模式。RIO掃描接口自動檢測I/O模塊并將它們添加到LabVIEW項目中。然后,可以將I/O變量拖放到LabVIEW實時和主機VI框圖上,并立即讀寫縮放,校準的I/O數(shù)據(jù),而無需任何FPGA編程或編譯。

圖2.5?將I/O變量拖放到實時VI框圖上。

掃描引擎還提供了一個Timed-Loop定時源,因此您可以將代碼與低抖動控制應用程序的I/O更新同步。

圖2.6?使用將時鐘源設置為同步到掃描引擎的定時環(huán)路,將環(huán)路同步到I/O更新。

可以在\LabVIEW\examples\ScanEngine中找到使用掃描模式的示例程序。在掃描模式下編程時,與I/O變量接口的另一個選項是通過I/O變量可編程API,如圖2.7所示。與靜態(tài)I/O可變節(jié)點API相比,編程API提供了以下幾個優(yōu)點:

■可以一次迭代多個變量,而不會拉下大量的I/O變量節(jié)點

■部署到CompactRIO目標不那么復雜,因為項目沒有綁定到LabVIEW項目

■程序化API提高了可伸縮性

■可以在運行應用程序時更改I/O變量配置設置,并且配置設置可以在框圖中查看

圖2.7?使用I/O變量可編程API

雖然編程API提供了幾個優(yōu)點,但它確實需要更多的編程。I/O變量編程API可以在Data Communication?Shared Variable?I/OVariable.下的LabVIEW函數(shù)面板中找到。

在將Scan Engine I/O變量部署到CompactRIO控制器時,請注意這些變量可能會占用很大一部分CPU帶寬。如果在Scan Mode下部署機箱,其中物理上包含您想要使用的所有模塊,那么它將發(fā)布一個名為PercentHWScanUtilization的變量。根據(jù)掃描時間和部署的硬件,該值告訴我們用于讀取或寫入I/O變量的CPU帶寬百分比。在此基礎上,可以了解有多少時間可以專用于其他流程。

圖2.8?監(jiān)控讀寫掃描引擎I/O變量所占用的CPU帶寬。

何時使用混合模式

同時在一個目標上使用掃描模式和LabVIEW FPGA被稱為混合模式。使用這種方法,選擇直接使用LabVIEW FPGA編程的模塊從I/O掃描中刪除,其余模塊與RIO掃描接口通信。當編譯LabVIEW FPGA VI時,如果任何I/O模塊被配置為使用掃描模式,則編譯中包含RIO掃描接口的必要組件。結果是單個位文件,該文件與配置為使用掃描模式的模塊的掃描模式功能以及與剩余I/O模塊直接通信的自定義FPGA邏輯一起工作。

圖2.9?激活混合模式后,編寫FPGA VI與模塊接口,并將數(shù)據(jù)傳遞給實時主機。

在混合模式下,可以在某些模塊上繼續(xù)使用RIO掃描接口,同時直接在FPGA上編程其他模塊??梢允褂肍PGA編程模型來處理高速操作、內聯(lián)處理、波形緩沖采集以及不支持掃描模式的某些模塊。通過將模塊項目項從CompactRIO機箱下拖放到FPGA目標下,激活特定模塊的FPGA編程。通過這樣做,可以對FPGA進行編程,使自定義代碼與其他模塊的掃描接口并行運行??梢酝ㄟ^使用FPGA主機接口函數(shù)或用戶定義變量從實時VI訪問FPGA I/O。

圖2.10?激活特定模塊的FPGA編程。

在使用混合模式時,需要注意一些重要的限制。首先,編譯時間顯著增加,因為編譯器必須將默認RIO Scan Interface位文件和創(chuàng)建到一個位文件中的FPGA代碼結合起來。其次,由于掃描引擎使用兩個通道,因此可以在FPGA代碼中使用的DMA通道數(shù)量減少。大多數(shù)FPGA有三個DMA通道,因此大多數(shù)應用程序在FPGA代碼中只剩下一個DMA通道。



LabVIEW CompactRIO 開發(fā)指南 3 選擇CompactRIO編程模式的評論 (共 條)

分享到微博請遵守國家法律
神池县| 利川市| 江陵县| 四川省| 永平县| 清镇市| 五大连池市| 临武县| 大丰市| 平果县| 钟山县| 通海县| 中阳县| 达日县| 房产| 诸城市| 周口市| 盐源县| 东城区| 互助| 定州市| 五河县| 武冈市| 安龙县| 资源县| 钦州市| 内黄县| 沂水县| 蒲江县| 调兵山市| 郓城县| 青州市| 青神县| 绩溪县| 三都| 婺源县| 桑日县| 克什克腾旗| 泾川县| 虹口区| 伊川县|