如何在CompactRIO上同時使用Scan Engine和FPGA模式(混合模式)

更新 Jan 14, 2020

產品資訊

Hardware

  • CompactRIO Controller
  • CompactRIO Chassis

Software

  • LabVIEW Real-Time Module
  • LabVIEW

問題敘述

我想在Scan Interface中使用一些C系列模組,在LabVIEW FPGA interface中使用一些。在機箱屬性中沒有明確的選項可以執行此操作。如何設置我的專案來執行此操作?

解決方案

在CompactRIO目標上同時使用Scan Interface和LabVIEW FPGA接口稱為混合模式(Hybrid Mode)。這將允許您使用I / O variable將一些模組與Scan Interface一起使用,而其他模組則使用FPGA進行程式開發。請注意,某些C系列模組與Scan Interface不兼容,因此使用混合模式可能有助於減少最終應用程式的程式碼撰寫量。

注意 :一個C模組只能用於Scan Interface模式或FPGA模式,但不能同時用於兩者。

使用混合模式將對最終應用程式產生兩種影響:
  • 編譯時間將顯著增加,因為編譯器必須使用您的自定義FPGA程式碼將默認RIO Scan Interface邏輯編譯為一個bitfile。
  • 由於Scan Interface使用兩個DMA FIFO,因此FPGA程式碼可以使用的DMA FIFO數量將減少。要確認target上可用的DMA FIFO數量,請參考KnowledgeBase How Many DMA Channels Are on My FPGA Target?

要在混合模式下設置CompactRIO,請使用以下步驟:
1.創建一個新的LabVIEW 專案,然後在Project Explorer窗口中右鍵點擊最上層專案項目。選擇New»Targets and Devices以顯示Add Targets and Devices對話框。



2.如果已安裝硬體,請確保選擇Existing target or device或設備,展開Real-Time CompactRIO ,然後選擇CompactRIO控制器。點擊OK 。



3.如果未安裝硬體,請選中New target or device ,展開Real-Time CompactRIO ,然後選擇CompactRIO控制器。點擊OK 。如果您沒有整合式控制器和機箱,請右鍵點擊目標並選擇New»Targets and Devices 。選擇New target or device ,展開CompactRIO Chassis ,然後選擇您的機箱。點擊OK 。
4.如果出現 Select Programming Mode對話框,請選擇 Scan Interface 。點擊Continue 。



5.如果是Discover C Series Modules?出現對話框,點擊 Discover 。這會將C系列模組添加到機箱下的專案中。



6.右鍵點擊機箱並選擇New»FPGA Target,將FPGA target添加到機箱



7.如果看到Deploy CompactRIO Chassis Settings?在對話框中,選擇 Deploy Later 。設置專案後,您將把機箱置於LabVIEW FPGA interface模式。



8.使用FPGA target下的LabVIEW FPGA interface mode拖動要連接的所有模組。模組I / O也將出現在FPGA Target下面的文件夾中,並從機箱中消失。



9.如果您有任何與Scan Interface不兼容的模組,請右鍵點擊FPGA Target並選擇New»C Series Modules ,將它們添加到FPGA Target。添加現有模組或手動將模組添加到專案中。



注意 :從RIO 17.0驅動程式開始,將在名為 “RSI Resources” 或 “Real-Time Scan Resources” 的Chassis專案下的專案樹中添加一個新文件夾。此專案包含您選擇在Scan Interface模式下開發的所有模組。要在Scan Interface模式下將C系列模組添加到專案,請右鍵點擊 Real-Time Scan Resources,然後選擇 New » C Series Modules 。這與上面描述的用於在FPGA interface mode下向FPGA target添加模組的過程相同。



10.如果已連接到target,請右鍵點擊專案中的機箱,然後選擇 Deploy 。如果未連接到target,請確保在連接到硬體之後和運行應用程式之前,在LabVIEW FPGA interface mode下部署機箱。



11.右鍵點擊FPGA Target並選擇New»VI ,在FPGA Target下創建一個新的VI 。使用FPGA I / O節點為LabVIEW FPGA interface mode中使用的模組實現FPGA程式碼。
12.編譯VI。這將把RIO Scan Interface邏輯添加到FPGA程式碼中,並允許應用程式同時使用Scan Engine 和FPGA。
 
注意 :cRIO-904x和905x控制器也支持DAQmx程式開發。要在Real-Time CPU模式下為專案添加C系列模組(用於NI-DAQmx程式開發),右鍵點擊Real-Time Resources並選擇New»C Series Modules 。如上所述,這與用於將模組添加到專案以用於其他程式開發模式的過程相同。對於這些裝置,您可以逐個模組地選擇DAQmx或FPGA模式。

相關資訊

使用混合模式意味著RT Target下會有一些C系列模組,LabVIEW專案中的FPGA Target下會有一些C系列模組。


如果在嘗試運行應用程式時收到以下錯誤,請確保機箱處於LabVIEW FPGA interface mode。

Error -61141:LabVIEW FPGA:The operation could not be performed because the FPGA is busy. Stop all activities on the FPGA before requesting this operation. If the target is in Scan Interface programming mode, put it in FPGA Interface programming mode.





1.右鍵點擊專案中的機箱,然後選擇 Properties 。


2.確保選擇了LabVIEW FPGA Interface 。點擊 OK 。


3.右鍵點擊機箱,然後選擇 Deploy 。