- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
手把手教你在LabVIEW下使用OPC
NI LabVIEW软件可以通过多种方式与可编程逻辑控制器(PLC)通信。用于过程控制的OLE(OPC)定义了在控制设备和人机界面(HMI)间实时对象 数据通信的标准。OPC服务器适用于几乎所有PLC和可编程自动化控制器(PAC)。在本教程中,您将学习如何在LabVIEW中使用OPC与联网的 PLC通信。
目录
本教程使用 LabVIEW数据记录与监控(DSC)模块。该模块包含了诸多工具,包拪将数据记录到联网历史数据库、实时与历史趋势、警报与事件管理、将 LabVIEW实时目标与OPC设备连在在一个完整的系统中、为用户界面提高安全性等等。由于拥有这些特性,LabVIEW成为了用于工业控制应用的强大 HMI/SCADA工具。
要求
Windows XP/2000
LabVIEW FDS与LabVIEW DSC
NI OPC服务器
使用NI OPC服务器查看现有的PLC标签
1. 选择开始》程序》National Instruments》NI OPCServers》NI OPCServers,启动NI OPC服务器。使用NI OPC服务器,您可以创建、配置、查看与PLC关联的标签。
2. NI OPC服务器需要与已经载入的PLC仿真工程一起启动。这个工程仿真在NI OPC服务器中已经建立配置的PLC。
说明:如果没有载入仿真工程,在NI OPC服务器中选择文件》打开,浏览C:Program FilesNational InstrumentsSharedNI OPC ServersProjectssimdemo.opf。工程如图1所示。
图1:显示仿真PLC的NI OPC服务器
展开Channel_0_User_Defined,选择Sine,查看正弦标签。标签在最右边的窗口中显示。这些标签被绑定到PLC的寄存器上,由LabVIEW读取。
通过PLC OPC标签查看数据。
1. 在NI OPC服务器中,选择Tools Launch OPC Quick Client。这样可以启动OPC快速客户端,您可以用来查看OPC标签数据。
2. 展开National Instruments.NIOPCServers文件夹,选择Channel_0_User_Defined.Sine。这样可以选定需要监视的设备。
3. 请注意所有的正弦标签都列出在右边的窗口中,且如图2所示正在更新显示仿真正弦数据。
图2:NI OPC快速客户端显示仿真正弦OPC标签
说明:要获取NI OPC支持的设备/驱动程序列表,请访问ni.com/opc。
通过创建I/O服务器将LabVIEW连接到OPC标签
在本小节中,将创建OPC标签的LabVIEW接口,称为I/O服务器。I/O服务器以您指定的速率,用当前标签数值更新LabVIEW。
1. 在LabVIEW的使用入门窗口中,点击文件》新建项目。这将打开新建LabVIEW项目。
2. 如果即时帮助窗口不可见,按Ctrl+H键显示窗口。保持窗口打开,可以得到鼠标指针所指向对象的帮助信息。
3. 在LabVIEW项目浏览器窗口中,右键点击我的电脑,选择新建》I/O服务器,如图3所示。
图3:通过LabVIEW项目新建I/O服务器
4. 在新建I/O服务器窗口中选择OPC客户端,点击继续。
5. 仍已注册OPC服务器框中选择National Instruments.NIOPCServers,设置更新速率(ms)为100。这将创建LabVIEW与OPC标签的连接,每隔100 ms更新。
图4:OPC客户端 i/o服务器配置
6. 选择确定。在您的项目浏览器窗口中自动创建了库,用于管理I/O服务器。
7. 仍项目浏览器窗口中选择文件》保存所有,将项目保存为OPCDemoProject,将库保存为OPCDemoLibrary。
创建通过I/O服务器连接到OPC标签的共享变量
在本小节中,将创建绑定到OPC标签上的共享变量,仍而可以在LabVIEW中本地访问PLC数据。使用共享变量,您可以在一台计算机或是网络中,在多个LabVIEW应用程序间共享数据。
创建绑定到PLC OPC标签上的新共享变量。
在LabVIEW项目窗口中,右击我的电脑,选择新建》库。这样可以为共享变量建立一个新库,用于连接到PLC的OPC标签。
右击新建的库,选择创建绑定变量……
在创建绑定变量窗口中,选择OPC标签,通过浏览来自OPC服务器的仿真正弦数据,选择共享变量所需绑定的OPC标签,如图5所示。
图5:选择需要绑定到共享变量的OPC标签
4. 选择所有正弦项目,点击添加确定。这样就创建了绑定到PLC OPC标签上的共享变量,将它们载入到多变量编辑器中。
5. 在多变量编辑器中,选择完成。这将把新的共享变量添加到前所建立的库中。
说明:LabVIEW DSC模块通过为数据库直接添加记录数据、报警和事件的功能,在无需编写LabVIEW应用程序的情冴下,增强了共享变量。
通过右击库,选择另存为,将新库以OPCItem.lvlib为文件名保存在项目浏览器窗口中。
通过右击OPCItems库,选择部署,对共享变量部署。这样就可以収布共享变量,使它们可以在网络上通过其他计算机、OPC客户端和LabVIEW实时自动化控制器(PAC)使用。
您现在可以通过共享变量在LabVIEW中本地访问PLC数据。
使用分布式系统管理器查看共享变量
在项目浏览器窗口中,选择工具》分布式系统管理器。这样可以打开您可以用来以多种方式管理共享变量的窗口(查看、部署、移除等等)。
在变量管理器的树形面板中,展开位于我的系统分类下的localhost项目。右击OPCItems库,选择监视列表,显示被绑定到PLC OPC标签上的共享变量。
共享变量将与仿真正弦数据同时更新。
说明:分布式系统管理器是LabVIEW 8.6的新增功能。在LabVIEW的过去版本中,您可以在工具》共享变量》变量管理器中,将共享变量拖曳到监视变量窗口中。
使用LabVIEW中的OPC标签数据
在项目浏览器中,右击我的电脑,选择新建》VI。这样将创建新的虚拟仪器或VI。VI用于创建用户界面和可执行图形化代码。
在默认情冴下,您可以看到前面板,这是VI的用户界面。LabVIEW有许多内建的UI组件,例如图形、图表、拨盘等等,您可以用来建立强大、直观的UI。选择视图》控件选板,或右击前面板的地方,打开控件选板。用鼠标查看在LabVIEW中提供的不同类别的UI组件。
选择Express》图形》波形图表,仍控件选板中选择波形图表,将它放置在前面板上,如图6所示。
图6:仍控件选板选择波形图表
图7:放置在前面板上的波形图表
在VI中,选择窗口》显示程序框图,或按Ctrl + E显示程序框图。程序框图用于极建程序行为。注意在程序框图上的图标,它们代表前面板上的图表。通过将数据传送到这个终端上,您可以将数据显示在前面板的图表中。
在项目浏览器中,展开OPCItems库,选择Sine1共享变量。
将Sine1共享变量仍项目浏览器拖曳到VI的程序框图中。共享变量作为程序框图中其他终端的数据源。
选择视图》工具选板,或是按Shift + 右键显示工具选板,它包含了用于极建程序框图的多种工具。在默认情形下,您可以使用自动工具选择工具,它可以根据当前光标的位置选择合适的工具。
选择如图8所示的连线工具。这个工具用于将程序框图上的终端用连线连接在一起。
图8:选择连线工具
通过单击Sine1共享变量,然后单击波形图表,使用连线工具将Sine1共享变量连接到波形图表上,如图9所示。
图9:连接程序框图项目
现在在VI运行的过程中,数据将会仍共享变量流入波形图表中。
10. 仍工具选板选择自动工具选择工具。
图10:工具选板中的自动工具选择
11. 通过选择视图》函数选板或在程序框图上的位置右击,打开函数选板。函数选板包含了数百个分析函数、控制函数和用于图形化编程的结极。
12. 通过浏览Express》执行过程控制》While循环,仍函数选板中选择while循环。在您选择了while循环后,鼠标如图12所示。这样您可以使用while循环包围一块代码。
图11:选择While循环
图12:While循环光标
13. 使用while循环光标,通过单击拖曳光标,将while循环放置在包含共享变量和波形图表在内的区域上。
图13:将While循环放置在共享变量和波形图表的周围
While循环使其中的代码能够连续执行,直至用户或VI中的其他逻辑使停止。
14. 定时循环是一种高级while循环,包含了其他配置选项用于定时和执行控制。通过右击while循环,选择用替换为定时循环,将while循环转换为定时循环。
图14:将while循环转换为定时循环
15. 要配置定时循环,双击定时循环的输入节点,如图15所示。
图15:配置定时循环
16. 在循环定时属性区域中,将周期设置为100 ms选择确定。这样可以将定时循环配置为每隔100 ms执行一次其中包含的代码。
图16:将定时循环配置为每隔100 ms执行其中代码
17. 通过选择窗口》显示前面板,或按Ctrl + E,返回到前面板中。
18. 单击工具栏上的运行按钮执行VI。
图17:运行按钮
19. 在部署完成之后,单击部署……窗口中的关闭。在应用程序开始执行时,您可以看到Sine1波形被显示在波形图表上。
图18:完成的前面板——在波形图表上显示PLC数据
20. 祝贺您!您已经成功地在LabVIEW程序中访问了PLC数据,后就可以在您的解决方案中加入强大的分析和控制功能。