通过网络(或互联网)传输IMAQ图像流

更新 Sep 6, 2023

适用于

软件

  • LabVIEW
  • LabWindows/CVI
  • Measurement Studio
  • Vision Development Module

驱动

  • NI-IMAQ
  • NI-IMAQdx

问题详述

我想通过网络传输我用IMAQ或IMAQdx设备连续获取的图像流。通过网络或互联网传输IMAQ图像有哪些选择?

解决方案

您可以利用LabVIEW,LabWindows™/ CVI™和Measurement Studio提供的网络功能配合IMAQ硬件和软件(进行数据传输)。您可以通过多种方式将视频从一台联网计算机传输到另一台联网计算机。
  • TCP / IP
  • DataSocket
  • LabVIEW Web Server
  • LabVIEW Web Services
  • 为Web创建ActiveX控件
  • 网络流
  • 网络共享变量

TCP / IP
TCP / IP是通过网络传输图像的好方法。TCP / IP通过网络提供可靠,有保证和有序的数据传输。与DataSocket不同,TCP / IP对每个数据包的需求较小,从而具有更快的传输速率。发送方和接收方都需要主动监测同一端口才能使应用程序正常工作。您可以通过程序,实现在同一端口上有多个客户端,但是您需要自己以编程方式管理每个会话。

将图像从Compect Vision系统传输到本地AVI演示了如何使用TCP通信将图像从CVS传输到Windows工控机,并将图像保存到AVI。

DataSocket技术
DataSocket是一种编程工具,使您能够在应用程序和不同数据源/目标之间读取,写入和共享数据。DataSocket可以访问本地文件,HTTP和FTP服务器中的数据。DataSocket使用简单,其服务器可以自动处理所有客户端/服务器的会话。 DataSocket服务器还具有安全功能,以确保只有您想要的客户端才能登录。DataSocket不保证准确的数据传递,因此您可能错过帧。


LabVIEW Web Server
您可以利用LabVIEW中的Web发布功能,通过LabVIEW Web Server将前面板VI上的图像发布到Web上。这很容易做到,不需要额外的编程。但是,显示将是不稳定的,并且很可能会有“闪烁”的情况出现。(这是)由于将整个前面板作为HTML页面的图像发布,因此每次都会更新整个图像。这可能需要很长时间,并且将对前面板的其他对象进行不必要的更新。有关详细信息,请参阅LabVIEW帮助中的创建HTML文档和嵌入VI前面板图像。

LabVIEW Web Services
LabVIEW Web Services允许您使用基于Web的自定义客户端远程监控LabVIEW应用程序。一个简单的例子是获取图像并将它们发布到网上的VI。与传统的LabVIEW Web Service相比,它的优势在于,可以仅发布所获取的图像,而不是整个前面板的图像。但是,与Web Server不同,它需要通过一些编程实现。

有关更多信息,请参阅使用LabVIEW实现LabVIEW Web Service的自动刷新

为Web创建ActiveX控件
DataSocket和IMAQ功能都可以通过使用ActiveX控件的Web来实现。要开发DataSocket网页,您必须创建一个DataSocket读取组件,用户可以使用该组件连接到服务器,自动读取和显示IMAQ图像并断开与服务器的连接。您可以使用ActiveX控件和Visual Basic代码通过创建组件来控制这些控件并将此组件另存为ActiveX控件。完成ActiveX控件后,可以将其插入到网页中。

有关更多信息,请参阅使用DataSocket构建交互式Web页面

网络流
网络流允许通过简单的网络配置实现无损数据通信。它们需要一个读取和写入端点,其端点必须1对1匹配,但提供了一种创建无损TCP / IP通信的简便方法。


网络共享变量
网络共享变量提供了一种快速简便的方法来配置NI应用程序之间的网络通信。它们在编辑时配置,可用于传输各种数据类型。网络共享变量可以配置缓冲区以实现无损数据传输,或者配置为有损传输机制以确保实时更新数据。网络共享变量的一个优点是它们可以同时具有多个读取器和多个写入器。

有关更多信息,请参阅使用LabVIEW共享变量

相关信息

每种方法都有自己的优点和缺点,您选择哪种方法取决于您的应用需求。
方法优点缺点
TCP / IP最快的不是基于网络的
单个客户端
DataSocket使用方便
多客户端
安全功能
实时性不强
不是基于网络的
LabVIEW Web Server使用方便
基于WEB
多个客户端
最慢
会有图像“闪烁”的情况
LabVIEW Web Services基于WEB
多个客户端
可定制的界面
比较慢
比Web服务器更难实现
网页中的自定义ActiveX控件基于WEB
多个客户端
需要更多操作
网络流无损
TCP/IP的优点且不复杂
单个客户端
网络共享变量最容易实施
多个客户端
可以是有损的
比较慢

表1  网络协议的优缺点