LabVIEW中的数据通信方法

简介: LabVIEW中的数据通信方法

LabVIEW中的数据通信方法

LabVIEW中包含多种数据通信方法,不同的方法适用于不同的场景。确保在应用程序中使用正确的数据通信方法。


image.png image.png

image.png

数据流元素

如要发挥LabVIEW的数据流编程环境优势,应将连线、移位寄存器、反馈节点和通道线作为应用程序的主要数据通信方法。


方法

属性

连线

§   程序框图对象之间的主要数据传输

移位寄存器

§   循环间的主要数据传输

反馈节点

§   代码循环间的主要数据传输(无需循环)

通道线

§   在并行代码段之间进行异步通信的主要数据传输

缓冲接口

从一个位置发送数据至另一个位置,且不想覆盖或丢失值的情况下使用缓冲接口。缓冲接口通常表示为单元素或多元素FIFO(先进先出)缓冲区,一个或多个写入方添加数据至缓冲区一端,读取方从另一端接收数据。

内部终端或PC

image.png

image.png


image.png

image.png

image.png

FPGA至主机或主机至FPGA

方法

属性

DMA FIFO(FPGA模块)

§   使用直接内存访问(DMA)传输大量数据至主机或接收来自主机的数据

FPGA至FPGA

方法

属性

点对点(P2P) FIFO(FPGA模块)

§   终端间的1:1通信

变量接口

在内存中存储值,且需读取方和写入方在使用最小或无流控制的情况下访问该值时使用变量接口。注意,在需要获取最新值,且允许新值覆盖之前的值的情况下使用变量。谨慎使用以避免竞争状态

内部终端或PC

image.png

image.png

已联网

方法

属性

网络发布共享变量

§   确定性选项可用

§   监控值的理想选择

§   在网络数据服务器上存储值(共享变量引擎)

§   用于1:N和N:1网络配置的内置连接管理器

编程共享变量API

§   相对于静态节点绑定,通过提供对变量的动态访问增强了设计的可扩展性

§   通过单个变量API函数访问多个变量

§   访问网络发布的I/O变量

Web服务

§   使用标准HTTP协议的网络数据通信

§   数据流标准MIME数据类型。例如,文本、图像和视频

§   使用LabVIEW VI生成和部署网络服务

UDP

§   对于设备进程间的低端通信,支持单点传送(1:1)和多点传送(1:N)

§   应用使用的协议性能如高于TCP,无需要求无损数据传输

§   低端协议增加了执行的复杂性

§   不能确保客户端接收到数据

内部FPGA

方法

属性

全局变量

§   存储可通过同一LabVIEW应用实例中多个VI访问的数据

存储器项(FPGA模块)

§   可将值存储为多个数据点

§   执行选项指定存储项使用的存储类型:块内存、查找表或DRAM

§   终端范围(在项目中配置)和VI定义(在重入VI中配置)选项

寄存器项(FPGA模块)

§   可在每个时钟周期发布状态信息

§   终端范围(在项目中配置)和VI定义(在重入VI中配置)选项

§   比FIFO占用更少的FPGA资源

FPGA至主机或主机至FPGA

方法

属性

读取/写入控件(FPGA模块)

§   读取或写入FPGA终端顶层FPGA VI的输入控件或显示控件。

NI扫描引擎和变量

(终端支持FPGA模块 + NI扫描引擎)

§   FPGA I/O数据与RT主机间的简单、周期性通信

§   减少了FPGA终端与RT主机间传输I/O数据所需的代码

用户定义I/O变量(FPGA模块)

§   在混合模式使用扫描引擎时发送用户定义数据

§   FPGA VI和LabVIEW  RT主VI之间的数据传输

§   传输自定义FPGA处理的I/O数据

上文中提到的例子和资料,均在word中的附件里,可点击下载。

相关文章
|
5天前
|
网络协议 程序员 数据安全/隐私保护
LabVIEW在两台计算机之间传输数据
LabVIEW在两台计算机之间传输数据
13 0
|
5天前
LabVIEW最佳传输系统设计
LabVIEW最佳传输系统设计
13 1
|
5天前
|
数据格式
LabVIEW串口通信的激光器模块智能控制
LabVIEW串口通信的激光器模块智能控制
10 0
|
5天前
|
存储 监控 网络协议
使用Modbus将LabVIEW连接到任何PLC
使用Modbus将LabVIEW连接到任何PLC
11 0
|
5天前
|
传感器 数据采集 监控
基于LabVIEW的CAN通信系统开发案例
基于LabVIEW的CAN通信系统开发案例
15 3
|
5天前
|
区块链 Windows
LabVIEW无法与GPIB仪器通信
LabVIEW无法与GPIB仪器通信
16 3
|
5天前
|
传感器 数据采集 监控
LabVIEW开发油气井管道内无线通信微波系统
LabVIEW开发油气井管道内无线通信微波系统
|
5天前
|
Java
java实现上位机与西门子PLC的通讯设置
这段代码创建了一个ZCAN_Transmit_Data数组,初始化并设置了数组中的第一个元素,包括写入数据、传输类型为1。然后,创建了一个ZCAN_CAN_FRAME对象,指定了CAN_ID和数据长度为8,并将十六进制字符串转换为字节数组填充到数据字段。将这个帧赋值给ZCAN_Transmit_Data对象。最后通过ZLGCAN接口发送数据,如果返回值不等于1,则抛出异常,否则返回发送结果。
|
11月前
|
监控
LabVIEW实现Modbus通信
Modbus只是工业控制中常用的一种协议方式,本篇博文依旧是通过串口通信的方式实现基本的Mosbus操作。
|
11月前
|
缓存
LabVIEW串口通信
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。在LabVIEW中串口通信使用范围非常广泛,例如,通过串口使用ModBus协议驱动仪器、串口驱动PLC设备等。