php对opc数据的访问 opc提供哪些数据访问方式

如何通过OPC自定义接口来实现客户端数据的读取?

通过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,我们能使用名为OPC.SimaticNET的Server。

如何在c#中实现opc数据访问

//定义一个OPC服务变量,一个OPCGROUP变量

public static OPCServer _OpcServer;

public static OPCGroup _OpcGroup;

_OpcServer = new OPCServer(); //初始化

_OpcServer.Connect(_OpcServerName, _OpcAdressIp); //连接OPC(服务名,IP地址)

_OpcGroup = _OpcServer.OPCGroups.Add("OPCGroup");

_OpcGroup.OPCItems.AddItem(tag点名称, 关键值); //增加TAG点

_OpcGroup.IsActive = true;

_OpcGroup.IsSubscribed = true;

_OpcGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(_OpcGroup_DataChange); //注册事件

_OpcGroup.UpdateRate = 500;

-----_OpcGroup_DataChange当tag点值发生变化时,上位就可以得到一个“事件”

对于已经加载的TAG点,也可以进行读写操作。

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

今天我把我在项目中封装的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 4.0

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,我们能使用名为OPC.SimaticNET的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引用名为:OpcRcw.Comn.dll和OpcRcw.Da.dll这两个DLL。

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

转载,仅供参考,祝你愉快,满意请采纳。

office如何访问opc里的数据?

可以使用office里的Excel进行改变,具体方法如下:

OPC(OLE for process control)作为标准软件接口,可以使各个生产商的设备和应用程序就能以统一的方式连接起来。WinCC既可以用作OPC服务器提供数据,又可以作为OPC客户机访问其他OPC服务器中的数据。WinCC集成的OPC服务器使得过程数据可由其它应用程序(OPC客户机)访问。在Excel中可以通过VBA脚本建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。

办公软件是指可以进行文字处理、表格制作、幻灯片制作、图形图像处理、简单数据库的处理等方面工作的软件。办公软件朝着操作简单化,功能细化等方向发展。办公软件的应用范围很广,大到社会统计,小到会议记录,数字化的办公,离不开办公软件的鼎力协助。另外,政府用的电子政务,税务用的税务系统,企业用的协同办公软件,这些都属于办公软件。

ifix opc开放给其他opc远程访问,怎么做

1、安装ifix 在服务端计算机、客户端计算机安装ifix

2、配置Dcom 需要配置opc 服务器端的opc,具体配置可百度,有很多,起始主要是开放几个权限;

3、配置计算机密码,xp的话最好要配置一样的用户名密码;

4、先用客户端网上邻居访问一次服务端,输入好用户名密码,

5、启动服务器端的ifix,测试的话可以在服务器端建立几个内部变量,

6、启动客户端的opc client进行数据读取测试,opcclinet可以是任意支持opc的组态软件或者vb程序或者可以用kepware、wincc opc等进行测试,测试的时候选择网络的服务器的计算机然后选择这个服务器上的ifix 的opc server程序

7、浏览数据,

关键点是配置dcom和设置统一的用户名密码;win2000的话opc,不需要设置一样的用户名密码,因为2000的安全机制要低,xp的话最好设置一样的用户名密码,不然很可能通讯有问题,设置一样的用户名密码是最简单的过程。


文章标题:php对opc数据的访问 opc提供哪些数据访问方式
本文来源:http://pwwzsj.com/article/hiesos.html