十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
通过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。
//定义一个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 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里的Excel进行改变,具体方法如下:
OPC(OLE for process control)作为标准软件接口,可以使各个生产商的设备和应用程序就能以统一的方式连接起来。WinCC既可以用作OPC服务器提供数据,又可以作为OPC客户机访问其他OPC服务器中的数据。WinCC集成的OPC服务器使得过程数据可由其它应用程序(OPC客户机)访问。在Excel中可以通过VBA脚本建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。
办公软件是指可以进行文字处理、表格制作、幻灯片制作、图形图像处理、简单数据库的处理等方面工作的软件。办公软件朝着操作简单化,功能细化等方向发展。办公软件的应用范围很广,大到社会统计,小到会议记录,数字化的办公,离不开办公软件的鼎力协助。另外,政府用的电子政务,税务用的税务系统,企业用的协同办公软件,这些都属于办公软件。
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的话最好设置一样的用户名密码,不然很可能通讯有问题,设置一样的用户名密码是最简单的过程。