使用OPC将LabVIEW连接到任何PLC

更新 Apr 4, 2023

环境

软件

  • LabVIEW
  • LabVIEW Datalogging and Supervisory Control Module
  • OPC Servers

操作系统

  • Windows

NI LabVIEW软件可以通过多种方式与任何可编程逻辑控制器(PLC)通信。用于过程控制(OPC)的OLE定义了用于在控制设备和人机界面(HMI)之间传递实时工厂数据的标准。 OPC服务器几乎可用于所有PLC和可编程自动化控制器(PAC)。在本教程中,将学习如何使用LabVIEW通过OPC与联网的PLC通信。

本教程使用了LabVIEW数据记录和监控(DSC)模块。该模块包括用于将数据记录到联网的历史数据库,实时和历史趋势,管理警报和事件,将LabVIEW Real-Time目标和OPC设备联网到一个完整系统中的工具,以及为用户界面增加安全性的工具。凭借这些功能,LabVIEW成为用于工业控制应用程序的功能强大的HMI / SCADA软件包。

使用NI OPC服务器2012查看现有的PLC标签

本节中的步骤适用于NI OPC Servers 2012,但是类似的步骤可用于NI OPC Server的早期版本。

  1. 选择开始»所有程序»National Instruments»NI OPC Servers 2012»NI OPC Servers Configuration,启动NI OPC Servers 2012 使用NI OPC Servers 2012,您可以创建,配置和查看与PLC相关的标签。
  2. NI OPC Servers 2012应在已加载PLC仿真项目的情况下启动。该项目模拟了NI OPC Servers 2012中已经创建和配置的PLC。

注意:如果该模拟项目尚未加载到NI OPC Servers 2012中,请选择File»Open…,然后浏览至C:\ Program Files \ National Instruments \ Shared \ NI OPC Servers \ V5 \ Projects \ simdemo.opf。该项目应如图1所示。


图1. NI OPC Servers 2012显示模拟的PLC

  1. 通过展开“仿真示例”并选择“功能”来查看Sine标签。标签将填充在最右边的窗口中。这些与PLC上的寄存器绑定的标签可以由LabVIEW读取。
  2. 查看PLC的OPC变量中的数据
    1. 在NI OPC服务器2012,通过选择工具>>启动OPC快速客户端,你可以用它来查看OPC标签数据启动快速客户端
    2. National Instruments.NIOPCServers.V5文件夹下,选择Simulation Examples.Funtions 。这将选择要监视的设备。
    3. 请注意,所有Sine标签都填充在最右边的窗口中,并使用模拟的正弦数据进行更新,如图2所示。

图2. NI OPC Quick Client显示模拟的正弦OPC标签

通过创建I / O服务器将LabVIEW连接到OPC标签

在本节中,您将创建一个连接到OPC标签的LabVIEW接口,称为I / O服务器。 I / O服务器会以您指定的速率自动使用当前标签值更新LabVIEW。

  1. 在LabVIEW入门窗口中,单击文件»新建项目。这将打开一个新的LabVIEW项目。
  2. 如果“上下文帮助”窗口不可见,请按Ctrl + H以显示该窗口。使此窗口保持打开状态,以获取有关光标下方项目的有用信息。
  3. 在LabVIEW Project窗口中,右键单击My Computer,然后选择New»I / O Server ,如图3所示。

图3.通过LabVIEW项目创建新的I / O服务器
  1. 在“创建新的I / O服务器”窗口中选择“ OPC客户端” ,然后单击“继续”。
  2. 从“注册的OPC服务器”字段中选择National Instruments.NIOPCServers.V5 ,并将更新速率(ms)设置为100。这将创建一个从LabVIEW到OPC标签的连接,该连接每100 ms更新一次。
图4.配置OPC客户端I / O服务器
  1. 选择确定。在项目浏览器窗口中会自动创建一个库来管理I / O服务器。
  2. 通过从项目浏览器窗口中选择文件»全部保存,将项目另存为OPCDemoProject,将库另存为OPCDemoLibrary。

创建通过I / O服务器连接到OPC标签的共享变量

在本节中,创建绑定到OPC标签的共享变量,使您可以在LabVIEW中本地访问PLC数据。使用共享变量,您可以在一台计算机或整个网络上的LabVIEW应用程序之间共享数据。

  1. 创建绑定到PLC的OPC变量的新共享变量。
    1. 在LabVIEW项目窗口中,右键单击我的电脑,然后选择新建»库。这将为共享变量创建一个新的库,该库用于连接到PLC的OPC变量。
    2. 右键单击新创建的库,然后选择“创建绑定变量”。
    3. 在“创建绑定变量”窗口中,通过从OPC服务器向下浏览到模拟的正弦数据来选择将共享变量绑定到的OPC标签,如图5所示。
图5.选择要绑定到共享变量的OPC标签
    1. 选择所有正弦项,然后单击“添加”和“确定” 。这将创建绑定到PLC的OPC变量的共享变量,并将它们加载到多变量编辑器中。
    2. 在“多变量编辑器”中,选择“完成”。这会将新的共享变量添加到之前创建的库中。

注意: LabVIEW DSC模块通过添加将数据,警报和事件直接记录到数据库的功能来增强共享变量,而无需编写LabVIEW应用程序。

  1. 通过右键单击库并选择另存为,在项目浏览器窗口中将新库另存为OPCItems.lvlib。
  2. 通过右键单击OPCItems库并选择Deploy部署共享变量。这将发布共享变量,使共享变量在网络上可用于其他计算机,OPC客户端和LabVIEW Real-Time PAC

现在,您可以通过共享变量在LabVIEW中本地访问PLC数据。

使用分布式系统管理器查看共享变量

  1. 在项目资源管理器窗口中,选择工具»分布式系统管理器。这将打开一个窗口,您可以使用该窗口以各种方式(查看,部署,取消部署等)来管理共享变量。
  2. 在“变量管理器”的“树”窗格中,展开“我的系统”类别下的localhost项目。右键单击OPCItems库,然后选择“监视列表”以显示共享变量,这些共享变量绑定到PLC的OPC变量。
  3. 共享变量将使用模拟的正弦数据进行更新。

注:分布式系统管理器是LabVIEW 8.6中的新增功能。 LabVIEW的早期版本通过转到工具»共享变量»变量管理器,然后将共享变量拖到“监视的变量:”窗口中来执行此操作。

在LabVIEW中使用OPC标签数据

  1. 在项目浏览器中,右键单击我的电脑,然后选择新建»VI。这将创建一个新的虚拟仪器或VI。 VI用于创建用户界面和可执行的图形代码。
  2. 默认情况下,您会看到前面板,这是VI的用户界面。 LabVIEW具有许多内置的UI组件,例如图形,图表,刻度盘等,可用于构建功能强大,直观的UI。选择查看»控件面板,或右键单击前面板上的任意位置以调出控件面板。将鼠标悬停在各个类别上,以探索LabVIEW中的UI组件。
  3. 通过选择Express»Graph Indicators»Chart从Controls面板中选择一个波形图,并将其放置在前面板上,如图6所示。

图6.从Controls面板中选择一个波形图


图7.放置在前面板上的波形图
  1. 在VI中,选择窗口»显示程序框图或按Ctrl + E以显示程序框图。框图是您构建应用程序行为的地方。请注意框图上的图标,该图标代表前面板上的图表。通过将数据传递到此终端,可以将其显示在前面板的图表中。
  2. 在项目浏览器中,展开OPCItems库,然后选择Sine1的hared变量。
  3. Sine1共享变量从项目浏览器拖放到VI的框图中。共享变量充当程序框图上其他端子的数据源。
  4. 选择查看»工具选项板,或按Shift +右键单击以显示工具选项板,其中包含用于构建程序框图的各种工具。默认情况下,您使用自动工具选择工具,该工具会根据光标的位置选择适当的工具。
  5. 选择“连接电线”工具,如图8所示。此工具用于将端子接线到框图上。

图8.选择连接线工具
  1. 通过单击Sine1共享变量,然后单击波形图,使用Connect Wire工具将Sine1共享变量连接到波形图,如图9所示。

端子接线

接线端子
图9.连接框图项目

现在,当VI运行时,数据从共享变量流向波形图。

  1. 从工具面板中选择自动工具选择工具。

图10.从工具面板自动选择工具
  1. 通过选择视图»功能面板或在程序框图上的任意位置单击鼠标右键,打开“功能”面板。 “功能”选板包含数百个分析功能,控制功能和图形化编程结构。
  2. 导航到“编程”»“结构”»“循环”,从“功能”选项板中选择一个while循环。选择while循环后,将出现如图12所示的光标。这使您可以将while循环包装在一段代码中。

图11.选择一个While循环

图12. While循环游标
  1. 使用while循环光标,通过单击并拖动光标在共享变量和波形图周围放置while循环。现在,通过右键单击“循环条件”并选择“创建控件”,在while循环中创建一个Stop控件。这会在前面板上放置一个“停止”按钮,允许用户停止VI。


图13.在共享变量和波形图周围放置一个While循环

while循环使其中的代码连续执行,直到被用户或VI中的其他逻辑停止。
 
  1. 由于while循环是现在,它将尽可能快地运行。等待直到下一个ms多个VI应添加到循环中,以使循环每隔设置的秒数执行一次,在这种情况下为100ms。

图14.在While循环中添加时序
  1. 通过选择窗口»显示前面板或按Ctrl + E返回前面板
  2. 单击工具栏上的运行按钮以执行VI。

图17.运行按钮
  1. 部署完成后,单击Deploy…窗口上的Close。当应用程序开始执行时,您会在波形图上看到Sine1正弦波。

图18.完成的前面板–在波形图上显示PLC数据

恭喜你!您已在LabVIEW应用程序中成功访问了PLC数据,因此可以在解决方案中合并强大的分析和控制功能。