我如何在LabVIEW中使用OPC?

更新 Nov 16, 2023

适用于

软件

  • OPC Servers
  • LabVIEW OPC UA Toolkit

问题详述

我想在LabVIEW中使用OPC通信。我需要使用什么软件呢?

解决方案

您可以在LabVIEW中使用OPC和LabVIEW OPC UA工具包LabVIEW数据记录和监控(DSC)模块 ,或LabVIEW的原生功能。根据您使用的是OPC DA还是OPC UA协议以及您正在使用的LabVIEW版本的不同,LabVIEW与OPC交互的方法有很大差异。
 
LabVIEW版本沟通方式需要额外的软件
2017年
  • OPC UA通信
2017版 LabVIEW OPC UA工具包
2013-2016
  • 使用OPC UA API的OPC UA通信
2013-2016版 LabVIEW DSC模块
8.x及以后
  • 使用共享变量引擎与OPC服务器通信
8.x及更高版本的LabVIEW DSC模块
6.x的-7.1
  • 与OPC服务器通信
  • LabVIEW DSC 6.x-7.1中的标签引擎既可以作为OPC客户端,也可以作为OPC服务器。
6.x-7.1版本的LabVIEW DSC模块
5.1及以后
  • 作为DataSocket客户端与OPC服务器通信
原生支持
5
  • 通过ActiveX Automation接口与OPC服务器通信
原生支持

相关信息

使用OPC UA API通过LabVIEW DSC 2013 - 2016或LabVIEW 2017 OPC UA工具包与OPC UA服务器通信

如果使用2013到2016版本的LabVIEW,LabVIEW DSC模块包含一个API,用于在OPC UA服务器和客户端之间以编程方式通信和交换数据。从LabVIEW 2017开始,OPC UA Toolkit与LabVIEW DSC模块分开发布,成为独立的LabVIEW工具包。有关此过程的详细信息,请参阅使用OPC UA服务器和客户端(DSC模块或实时模块)


使用共享变量,使用LabVIEW DSC 8.0及更高版本与OPC服务器通信

从LabVIEW 8.0开始,LabVIEW DSC模块新增了共享变量引擎(SVE)的功能,允许LabVIEW作为OPC DA客户端。 OPC服务器功能由单独的NI OPC服务器软件提供。有关此过程的更多信息,请参阅使用OPC将LabVIEW连接到PLC


使用LabVIEW DSC 7.1和以前使用标签引擎与OPC服务器通信

LabVIEW DSC引擎(标签引擎)为您处理OPC。由于LabVIEW是通过OPC客户端完成数据的记录和监控,因此在OPC操作方面效率更高。如果您将有超过30个I / O点,使用Data Socket会大大降低效率。在30个I / O点时,您应该考虑使用LabVIEW DSC和Tag Engine。

由于LabVIEW DSC是OPC服务器,因此OPC客户端可以启动标签引擎。当OPC客户端启动标签引擎时,标签引擎会加载当前的.scf文件。然后,标签引擎可以加载该.scf文件中的标记所需的任何服务器。但是,OPC客户端无法指定标记引擎使用哪个.scf文件,而是仅使用当前的.scf文件。因此如果您需要访问它,则必须确保将正确的.scf文件设置为默认文件。

当您从作为OPC服务器的标签引擎访问数据时,客户端软件(例如Lookout或其他OPC客户端软件)将标签引擎视为名为National Instruments.OPCLabVIEW 的 OPC服务器,同时在.scf文件中设置的标签明作为OPC条目名字出现。


通过DataSocket与OPC服务器通信

DataSocket具有OPC层。您可以使用DataSocket读写OPC服务器。从LabVIEW 5.1开始,任何版本的LabVIEW都可以作为DataSocket客户端连接到OPC服务器。

LabVIEW附带了一些DataSocket/OPC的例程。要访问LabVIEW中的示例,请进入帮助 » 查找例程 打开LabVIEW范例查找器。一旦范例查找器打开,单击Browse ,然后导航到Networking » DataSocket » OLE for Process Control(OPC) ,就可以找到范例( 使用DataSocket.vi监视OPC项目 )。

注意 :DataSockets无法与OPC Server 3.x通信