备注 本自动翻译仅为阅读便利而提供。请参阅英文版本以获取最新和最准确的信息。

即使所用机箱处于FPGA Interface编程模式或不支持Scan Interface编程模式,您仍可以对支持的各个模块使用Scan Interface。首先必须使LabVIEW检测到机箱中的模块,然后下载编译的位文件至机箱。使用高速接口的模块(例如,NI 951x)也需下载编译的位文件。编译FPGA位文件必须安装LabVIEW FPGA模块。

设置好项目、发现模块并将比特文件下载到机箱后,请在FPGA Interface编程模式下使用FPGA目标下的模块,在Scan Interface编程模式下使用Real-Time Scan Resources项下的模块。

如果已安装LabVIEW Real-Time模块和LabVIEW FPGA模块,您可以创建用户定义的I/O变量,在FPGA VI与RT VI之间传输自定义I/O数据。您还可以在FPGA VI和RT VI之间同步代码执行。
备注 如果机箱为FPGA Interface编程模式,则在使用Real-Time Scan Resources项下的模块之前,必须始终使用“打开FPGA VI引用”函数将已编译的比特文件下载到FPGA。访问模块之前,必须保证位文件运行在FPGA上。
提示  “打开FPGA VI引用”函数运行结束到Real-Time Scan Resources项下的用户定义变量与模块返回有效数据之间会有短暂延迟。如VI中有用户定义变量,运行打开FPGA VI引用函数,然后在循环中读取变量,直到变量不返回错误。
备注  如果机箱为FPGA Interface编程模式,使用Scan Interface会预留两个可用DMA FIFO并占用部分FPGA空间,导致比没有模块处于Scan Interface编程模式的比特文件编译时间更长。
备注  如果任何模块位于Real-Time Scan Resources项下,则无法向FPGA目标的Sleep通道写入数据。

创建LabVIEW项目

备注 本自动翻译仅为阅读便利而提供。请参阅英文版本以获取最新和最准确的信息。

按照下列步骤创建LabVIEW项目:

  1. 配置系统。
  2. 拖放一个扫描接口的C系列模块至实时扫描资源项下。将待写入FPGA代码的模块置于FPGA终端下。

LabVIEW项目浏览器窗口应如下所示:

  1. 扫描接口编程模式中的模块
  2. FPGA接口编程模式中的模块

下载位文件

备注 本自动翻译仅为阅读便利而提供。请参阅英文版本以获取最新和最准确的信息。

按照下列步骤编译位文件并下载文件至机箱:

  1. 在FPGA终端下新建VI,并将与项目文件一起保存。从RT VI中使用该FPGA VI下载位文件至机箱。
  2. 右键单击FPGA VI,从快捷菜单中选择创建程序生成规范。在程序生成规范下,右键单击范例FPGA VI的生成规范,选择生成,等待生成结束。
  3. 在RT终端下新建VI,并将与项目文件一起保存。
  4. 在新建的RT VI的程序框图上放置打开FPGA VI引用句柄函数。
  5. 右键单击打开FPGA VI引用句柄函数,从快捷菜单选择配置打开FPGA VI引用显示配置打开FPGA VI引用对话框。
  6. 选择第一步创建的FPGA VI,确保已勾选运行FPGA VI,单击确定关闭对话框。
  7. 在程序框图上,将要在RT VI中运行的代码放置在打开FPGA VI引用句柄函数右侧。在代码外围放置定时循环或While循环结构。
  8. 在程序框图上,添加关闭FPGA VI引用句柄函数至包围代码的结构右侧。
  9. 连线打开FPGA VI引用句柄函数至关闭FPGA VI引用句柄函数,途径包围代码的结构。
  10. 运行RT VI。

LabVIEW项目浏览器窗口应如下所示:

  1. 扫描接口模式下的模块 
  2. FPGA接口模式下的模块 
  3. 用于下载比特文件的FPGA VI 
  4. 用于下载比特文件的RT VI  
备注   示例流程中的FPGA VI不包含FPGA代码。FPGA VI的目的仅在于下载模块位文件至机箱。模块位文件指定机箱中模块的类型和槽位。如应用程序中有LabVIEW FPGA代码执行,将代码包括在FPGA VI中。编译和运行RT VI时,VI将下载模块位文件和所有FPGA代码至机箱。