OPC接口使用技巧

   OPC接口是由OPC基金会制定的,基于DCOM技术的,用于控制系统软件之间进行数据通讯的接口规范。由于其开放性和高效性,现在已被广泛应用于自动化控制领域及生产信息管理中。紫金桥软件遵照OPC接口规范实现了相应接口,大大增加紫金桥软件的开放性。在使用OPC接口驱动时,由于配置参数或者运行环境设置不当,可能达不预期的效果,有的甚至影响控制系统的稳定性。下面根据实际工作经验介绍一些OPC接口使用技巧:

   认真阅读OPC Server使用手册
   在使用OPC接口进行数据采集时一定要先阅读OPC Server的使用手册或在线帮助,因为在通讯时使用的OPC服务器名称(ProgID)及进行DCOM配置时使用的组件名称通常是由OPC Server软件提供商自己定义的,我通常会从使用手册或在线帮助上获得相关信息。

   有的OPC Server是不支持在线浏览的,通讯时使用数据项(连接项)是按着一定规范定义的,这时我们也需要阅读使用手册或在线帮助获得相关信息。例如,在从老的OPTO22系统采集数据时,它是不支持在线浏览的。通过在线帮助我们知道它的数据项定义如下所示:

   ControllerName[RefreshGroupName]:ItemType.ItemName[start-end].Field.BITn

并且在数据项字义时要填写访问路径(”OPTO_MDS_0”)。控制器名、刷写组名、项类类型等信息我们要通过控制系统竣工资料或OPTO22的组态工程中查找。

   正确配置采集周期
   由于不同的OPC Server能够支持的最快采集周期是不同的,因此在实施数据采集时我们要根据OPC Server所能提供的最嘉采集速度进行配置。大部分的OPC Server支持的采集周期不是连续的,如果我们设置的采集周期是服务器不支持的采集周期,OPC Server会使用与设定周期相近的固有周期进行通讯调度。

   通讯量控制
   在通常情况下建议使用异步方式进行通讯,因为在这种方式下客户端程序获得数据由OPC Server根据数据变化情况主动发送的,具有较高的通讯效率。在实际应用中我们可能会遇到这样的问题:与实时数据库通讯的控制系统运行负荷较满,如果不对通讯量进行控制就可能影响控制系统的正常运行(在通过APP NODE的OPC Server读取TDC3000系统的数据时就愚到过类似问题)。在这种情况下建议使用同步方式或单组同步方式执行数据采集,在这两种通讯方式下我们可以通过调整每组采集的数据项数及采集周期来控制通讯量。

   注意服务器特殊限制
   在使用OPC接口进行数据通讯时还要注意一些OPC Server的特殊限制,有的对可以连接客户端数有限制,有的对最多可访问的数据项数有限制,有的则是对每组包含的数据项数有限制。对于这些有特殊限制的服务器,如果不能正确配置通讯参数或者购买相受权,将产生通讯错误或只能采集部分数据。对于有访问客户数目限制的OPC Server,如果达到最大客户数,我们要重新购买受权增加允许访问客户数。对于有访问数据项数的OPC Server最好的方法也是重新购买受权增加允许访问数据项数,但也可以接口中提供的“单组同步”方式来增加可采集的数据点数。“单组同步”通讯方式是以牺牲通讯速度为代价的,并且在这种方式下不能进行数据回写(从客户端更新服务器的数据)。对于每组有数据项数限制的OPC Server则比较好处理,只要在接口设备定义时,将限制个数填写到“每组项数”即可。

   

   通过DCOM配置实现分布式通讯
   在实际应用中有时出于安全或运行环境的考虑不能将数据采集程序与OPC Server安装在同一台计算机上,这时我们就需要利用OPC的DCOM属性实现数据采集程序与OPC Server之间基于网络的分布式通讯。DCOM技术是自NT4.0系统以后,由操作支持的一种组件间跨计算机间的通讯技术。在实现组件时只要遵照COM规范定义接口,当服务端和客户端程序分布在不同的计算机上时,只要对服务端及客户端的DCOM属性进行相应配置就可以通过网络实现远程通讯。DCOM配置在不同的操作系统上配置方法不同,除了在Windows XP SP2系统外,其它系统即可以用指定用户进行通讯,也可以用匿名方式进行通讯。关于DCOM配置过程这里就不详细说明了,可以参考《紫金桥OPC服务器及接口》文档。

紫金桥OPC接口使用技巧的更多相关文章

  1. OPC接口相关资料地址

    OPC官方网址:https://opcfoundation.org/ OPC中国官网: http://www.chinaopc.org/ ------------------------------- ...

  2. C#中泛型方法与泛型接口 C#泛型接口 List<IAll> arssr = new List<IAll>(); interface IPerson<T> c# List<接口>小技巧 泛型接口协变逆变的几个问题

    http://blog.csdn.net/aladdinty/article/details/3486532 using System; using System.Collections.Generi ...

  3. BA-siemens-insight在win7下如何配置opc接口

    一.运行环境:win7(OPC接口在win_xp下配置需安装插件,不好意思没搞定,现在只有win7系统32位下的教程了) 由于OPC(OLE for Process Control)建立在Micros ...

  4. C#接口实现技巧之借助第三方

    一个类继承了一个接口,对接口实现通常的做法---直接在这个类中对接口进行实现. 利用继承的概念,可以很巧妙地借助第三方类对接口进行实现,这种方式在实际的项目开发过程中其实用途很是比较大的,至少我们的游 ...

  5. OPC协议解析-OPC客户端与服务器通讯解析

    1      OPC服务器 OPC服务器, 是指按照OPC基金组织规定的OPC规范群开发的软件驱动.OPC服务器作为中间媒介负责从数据源读取数据再跟另外一端的客户端通信.在 OPC客户端/服务器 的结 ...

  6. OPC协议解析-关于OPC协议的几个问题

    1    什么是OPC协议? 为了便于自动化行业不同厂家的设备和应用程序能相互交换数据,定义了一个统一的接口函数,就是OPC协议规范.有了OPC就可以使用统一的方式去访问不同设备厂商的产品数据. OP ...

  7. 高并发秒杀系统--mybatis整合技巧

    mybatis实现DAO接口编码技巧 1.XML文件通过namespace命名空间关联接口类 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD ...

  8. 开发 C# OPC 客户端

    编写 opc 客户端的思路 1. 使用OPC Client浏览服务器, 查看测试代码修改后的结果. 2. 根据OPC Client搜集到的服务器信息编写代码和服务器交互 3. OPC Client 操 ...

  9. OPC服务器开发浅谈 — 服务器模型(转)

    这里主要讨论的是OPC Data Access 2.0服务器的开发,在掌握了这个最常用的OPC服务器开发之后,对其它类型的OPC服务器,如A&E.HDA等就可以触类旁通了. 一个OPC服务器的 ...

随机推荐

  1. linux 普通synflood攻击防范网络参数设置

    linux如何防SYN攻击 [root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn 172 ESTABLISHED 59 ...

  2. 使用wepy框架搭建微信小程序采坑记(一)

    1.什么是wepy 这个框架是腾讯内部出的一个类MVVM的小程序开发框架.大体上来说语法是类VUE的,所以如果有VUE开发经验的话迁移成本会低一些.至于具体的怎么使用我就不赘言了,有问题查文档(官方文 ...

  3. IceScrum敏捷开发工具的安装文档-官方最新版

    Welcome to the iceScrum iceScrum install guide. If you don’t want to manage your own iceScrum instal ...

  4. SQL server 数据库用户表名称

    转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select ...

  5. Django知识点总结

    一.什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. web应 ...

  6. LeetCode OJ:Isomorphic Strings(同构字符串)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  7. redis的list类型以及其操作

    lists类型 给你个图;' lists类型以及操作List是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key理解为链表的名字.Redis的list类型其实就是每一个子 ...

  8. ubuntu安装搜狗输入法的相关问题

    最近换了一次电脑,要重新装系统,就选择了ubuntu14.04 LTS版本的,这个版本官方支持到2019年了,所以相对来说比较稳定,也不用担心软件源的问题.不像14.10那样,现在官方已经没有软件源的 ...

  9. 利用xcopy在复制文件或文件夹的时候保留其权限

    当用 Windows Explorer 复制或移动文件和文件夹时,文件或文件夹上设置的权限可能会发生改变.例如,当在一个 NTFS文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows将 ...

  10. debug运行java程序报错

    debug运行java程序报错 ERROR: transport error 202: connect failed: Connection timed out ERROR: JDWP Transpo ...