opc服务器和客户端如何连接,通讯

opc服务器和客户端如何连接,通讯,第1张

服务器的话要看,如果是client-server结构的DCS,服务器位于上位和控制器之间,他将你的指令和现场数据通过服务器来经过交换,服务器一般是冗余配置,如果是并行结构来说没有所谓服务器的概念,只有个工程师站,程序的下装通过工程师站,但是数据的获取和指令的下达通过 *** 作员站就行,这个好处就是当工程师站坏了的话 *** 作员站可以正常工作

OPC服务器的作用是通过OPC协议将DCS的数据取出,并开放,一般一个OPC服务器下面连接一个或多个客户端,客户端通过安装相应的软件(也支持OPC协议),来取得DCS的协议

乐拾芗逸盆然朵邢浏晔链特磊枫待谨璀楷塘丞彰

通过OPC自定义接口来实现客户端数据的读取步骤如下。

1:使用OPC DA进行Client的读写 *** 作时,我们使用Custom接口,出此之外还有Automation接口。以下是Custome接口开发时涉及到的三个关键对象:OpcServer、OpcGroup、OpcItem。

2:在客户端开发时,要使用OpcServer对象来实现客户端与Opc服务器之间的连接。一个OpcServer对象下有多个OpcGroup,一个OpcGroup下有多个OpcItem,在自定义接口下的Client开发,是以Group为单位的 *** 作,数据读写都是通过OpcGroup进行的。  

3:我们可以不写OPC Client程序来测试,如何通过OPCServer与PLC之间的交互。首先当我们安装完毕SimaticNet之后,需要对Station Configuration Editor进行配置。

4:当我们组态完毕时,如何判断组态是否正确,在SimaticNet的目录上有个叫Opc Scout(Opc Scout V10)的软件,列出来了本机所有的Server,我们能使用名为OPCSimaticNET的Server。

1、检查OPC服务器的配置,确保服务器的地址和读取的变量名称正确;

2、确保OPC服务器和LabVIEW计算机之间的通信正常;

3、检查LabVIEW程序,确保调用的API函数正确,参数设置正确;

4、检查OPC服务器的配置,确保变量的访问权限正确;

5、尝试使用其他工具,检查OPC服务器是否可正常读取变量。

1创建opc服务端,并启动opc服务端。i

2打开组态王开发,创建与opc服务器的连接。如何创建连接请参考手册。创建与opc服务端的连接的时候组态王会自动列出可用的opc。

3创建组态王变量以读取opc的数据。这一步很关键。变量名自己取,变量类型选择io字符串或io整数,这个看你opc发过来的是什么数据类型,按实际选择。连接设备选择你的创建的opc服务器连接。寄存器会自动列出,按照实际选择。数据类型按实际选择。

4组态王创建了与opc连接的变量后,组态王就可以对变量进行 *** 作了,你就可以把变量通过组态王命令语言写进数据库了。

5数据库 *** 作得先创建记录体。

6说太多如果没有基础也很难搞懂,组态王有很详细的帮助,多看手册会大有帮助。

今天我把我在项目中封装的OPC自定义接口的程序分享一下。下面将会简单简单介绍下OPC DA客户端数据访问,以及搭配整个系统的运行环境。

OPC(OLE for Process Control)其实就是一套标准,我对这套标准理解不多,使用过程中就把它理解一套协议或者规范,主要用于工控领域。OPC中有很多规范,我主要使用OPC DA规范来进行数据的读写 *** 作。还有其他规范,比如OPC UA、OPC HDA等。如果你做的是OPC Server开发查下这方面的资料了解下,这篇博文主要介绍OPC Client开发的知识。

使用OPC DA进行Client的读写 *** 作时,我们使用Custom接口,出此之外还有Automation接口。以下是Custome接口开发时涉及到的三个关键对象:OpcServer、OpcGroup、OpcItem,下图是他们之间的逻辑关系:

在客户端开发时,要使用OpcServer对象来实现客户端与Opc服务器之间的连接。一个OpcServer对象下有多个OpcGroup,一个OpcGroup下有多个OpcItem,在自定义接口下的Client开发,是以Group为单位的 *** 作,数据读写都是通过OpcGroup进行的。

搭建程序运行环境

程序运行需要的软硬件环境:

Net Framework 40

Simatic Net 2008(Or Other) HF1

西门子300(Or Other) PLC

我们可以通过本机的配置来实现OPC的远程连接,我没有采用这种方式,一是这种配置比较麻烦,而是这种方式不稳定。所以我采用本机安装一个OPCServer来实现与PLC的交互。

对于OPCServer软件,我选择的是SimaticNet 2008 HF1(安装WinCC的时候会有选择安装SimaticNet的选项),没有特别的原因,就是比较熟悉了而已,而且PLC选用的是西门子的。

我们可以不写OPC Client程序来测试,如何通过OPCServer与PLC之间的交互。首先当我们安装完毕SimaticNet之后,需要对Station Configuration Editor进行配置,如下图:

首先我们要指定Station的名称,上图叫PCStation,点击下方的StationName可以进行更改。下一步在1号栈上选择一个OPCServer,3号栈上选择一个通信网卡。

接下来我们需要在Step 7中建立Station Configuration Editor与PLC之间的连接,我们暂且叫组态。组态的过程中要建立与Station Configuration Editor中对应的Opc Server和IE General(所在栈号相同),Station Configuration Edition起到桥接的作用 用,主要让PLC与Opc Server之间建立一条S7连接。暂时没有拿到组态图,以后补上。

当我们组态完毕时,如何判断组态是否正确呢?在SimaticNet的目录上有个叫Opc Scout(Opc Scout V10)的软件,打开如下图:

上图列出来了本机所有的Server,我们能使用名为OPCSimaticNET的Server。双击这个Server添加一个组,多次双击这个Server可以添加多个组,验证了上图的Server与Group的关系了。

我们双击新建的Group,进入如下图的界面:

上图列出了所有的连接。上文说到的组态中建立的S7连接可以在S7节点中看到,展开这个节点可以看到我们建立的S7连接,如下图:

上图列出了名为S7 connection_1的S7连接,展开Object对象,列出PLC的结构。我们选择一种来新建我们的Item,由于我这里没有PLC模块,所以无法截图给大家看。

至此我们的OPC Client的运行环境搭建完毕。

编写OPC Client端程序。

我们需要使用OPC Foundation提供的自定义接口来进行开发,在Visual Studio引用名为:OpcRcwComndll和OpcRcwDadll这两个DLL。

我们定义一个名为OpcDaCustomAsync的类,让这个类继承自:IOPCDataCallback,IDisposable

转载,仅供参考,祝你愉快,。

使用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 Files\National Instruments\Shared\NI OPC Servers\Projects\simdemoopf。工程如图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 InstrumentsNIOPCServers文件夹,选择Channel_0_User_DefinedSine。这样可以选定需要监视的设备。

3 请注意所有的正弦标签都列出在右边的窗口中,且如图2所示正在更新显示仿真正弦数据。

图2:NI OPC快速客户端显示仿真正弦OPC标签

说明:要获取NI OPC支持的设备/驱动程序列表,请访问nicom/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 InstrumentsNIOPCServers,设置更新速率(ms)为100。这将创建LabVIEW与OPC标签的连接,每隔100 ms更新。

Figure 4 Configuring the OPC Client I/O Server

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应用程序的情冴下,增强了共享变量。

通过右击库,选择另存为,将新库以OPCItemlvlib为文件名保存在项目浏览器窗口中。

通过右击OPCItems库,选择部署,对共享变量部署。这样就可以収布共享变量,使它们可以在网络上通过其他计算机、OPC客户端和LabVIEW实时自动化控制器(PAC)使用。

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

不能。任何OPC DA都是专用于传输当前数据的,opcda两个相同的账号不能同时从opc服务器读取数据,OPC DA 服务器在客户端程序(通常是 SCADA 系统)和终端设备之间提供数据交换(写入和读取),OPC 中的数据是具有某些属性的标签变量。

以上就是关于opc服务器和客户端如何连接,通讯全部的内容,包括:opc服务器和客户端如何连接,通讯、如何通过OPC自定义接口来实现客户端数据的读取、labview读取opc变量出错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10130544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存