LabVIEW中的数据通信方法
LabVIEW中包含多种数据通信方法,不同的方法适用于不同的场景。确保在应用程序中使用正确的数据通信方法。
数据流元素
如要发挥LabVIEW的数据流编程环境优势,应将连线、移位寄存器、反馈节点和通道线作为应用程序的主要数据通信方法。
缓冲接口
从一个位置发送数据至另一个位置,且不想覆盖或丢失值的情况下使用缓冲接口。缓冲接口通常表示为单元素或多元素FIFO(先进先出)缓冲区,一个或多个写入方添加数据至缓冲区一端,读取方从另一端接收数据。
FPGA至主机或主机至FPGA
方法 |
属性 |
点对点(P2P) FIFO(FPGA模块) |
变量接口
在内存中存储值,且需读取方和写入方在使用最小或无流控制的情况下访问该值时使用变量接口。注意,在需要获取最新值,且允许新值覆盖之前的值的情况下使用变量。谨慎使用以避免竞争状态。
已联网
§ 相对于静态节点绑定,通过提供对变量的动态访问增强了设计的可扩展性 § 通过单个变量API函数访问多个变量 § 访问网络发布的I/O变量 |
§ 使用标准HTTP协议的网络数据通信 § 数据流标准MIME数据类型。例如,文本、图像和视频 § 使用LabVIEW VI生成和部署网络服务 |
§ 对于设备进程间的低端通信,支持单点传送(1:1)和多点传送(1:N) § 应用使用的协议性能如高于TCP,无需要求无损数据传输 § 低端协议增加了执行的复杂性 § 不能确保客户端接收到数据 |
内部FPGA
方法 |
属性 |
§ 存储可通过同一LabVIEW应用实例中多个VI访问的数据 |
存储器项(FPGA模块) |
§ 可将值存储为多个数据点 § 执行选项指定存储项使用的存储类型:块内存、查找表或DRAM § 终端范围(在项目中配置)和VI定义(在重入VI中配置)选项 |
寄存器项(FPGA模块) |
§ 可在每个时钟周期发布状态信息 § 终端范围(在项目中配置)和VI定义(在重入VI中配置)选项 § 比FIFO占用更少的FPGA资源 |
FPGA至主机或主机至FPGA
方法 |
属性 |
读取/写入控件(FPGA模块) |
§ 读取或写入FPGA终端顶层FPGA VI的输入控件或显示控件。 |
(终端支持FPGA模块 + NI扫描引擎) |
§ FPGA I/O数据与RT主机间的简单、周期性通信 § 减少了FPGA终端与RT主机间传输I/O数据所需的代码 |
用户定义I/O变量(FPGA模块) |
§ 在混合模式使用扫描引擎时发送用户定义数据 § FPGA VI和LabVIEW RT主VI之间的数据传输 § 传输自定义FPGA处理的I/O数据 |
上文中提到的例子和资料,均在word中的附件里,可点击下载。