OPC技术学习总结

目录(?)[+]

前段时间公司项目需要用到OPC方面的技术,所以就学习了解了一下,并做个总结,和大家分享分享。

1. 什么是OPC

1.1 名词解释

Ø  OPC——OLE for Process Contrl,微软公司对象链接和嵌入技术在过程控制方面的应用,是一系列接口、方法和属性的标准集。它基于OLE、COM、DCOM技术、XML,采用客户端/服务器(Client/Server)结构,将通讯协议与设备/应用隔离的技术。微软的OLE、COM定义了各种不同的软件如何交互使用和分享数据,从而使得OPC能够提供通用的接口规范,用于各种过程控制设备之间的通讯,不论过程中采用何种应用软件和硬件设备。

Ø  OLE——Object Linking & Embeding,对象链接与嵌入,也就是现在的微软的ActiveX。

1.2  传统技术与OPC技术

1.2.1传统的过程控制系统结构

传统的过程控制系统是一对一的系统,任何一种HMI等上位监控软件或其它应用软件,在使用某种硬件设备时都需要开发专用的驱动程序。

 

系统构建完成后的最终结果是:

Ø  1种软件要使用N类硬件设备需要开发N个驱动程序;

Ø  M类软件要使用N类硬件设备需要开发M*N个驱动程序;

Ø  每增加1个新的应用软件需要另外开发N个硬件设备的驱动程序;

Ø  每增加1个新的硬件设备需要为M个软件开发新的设备驱动程序。

在上图所示的例子中,针对4种控制设备所完成的3个应用系统一共需要开发3*4=12种驱动程序。新增应用软件或者硬件设备带来的只会是驱动程序种类的迅速增长。

1.2.2基于OPC技术的过程控制系统结构

基于OPC技术的过程控制系统则可以完美地解决传统方式种的上述问题。

任何一种设备只需要提供一种驱动就可以供任何软件系统使用,系统构建完成后的最终结果是:

Ø  M类软件要使用N类硬件设备只需要开发N个驱动。

Ø  每增加1个新的应用软件不需要另外开发硬件设备的驱动程序;

Ø  每增加1个新的硬件设备只需要为开发1个新设备的驱动程序;

在上图所示的例子中,针对4种控制设备所完成的3个应用系统一共仅需要开发4种驱动程序。新增应用软件或者硬件设备可以轻松的扩展您的系统。

1.3 工作原理

详细原理图:

1.4  OPC服务器所兼容的设备分类

Ø  硬件设备:DCSPLC,扫描仪,电子设备…

Ø  应用软件:HMI,历史数据库,震动检测器…

Ø  通讯协议:DDEModbusODBCGenCS

Ø  操作系统:WindowsUNIXVMSMacintosh,嵌入式OS

OPC服务器可以从上面任何一种形式的数据产生实体中读取数据。这个实体可以是霍尼韦尔PHDApplication,也可以是Modbus的通讯协议,还可以是一种PLC,也就是一种Device(硬件设备),或者是一种Platform

 

2.常用的OPC服务器

2.1 Matrikon公司的OPCServer Simulator

简单,单文件注册后,各种数据类型,各种点类型(只读点,只写点,读写点)都有了,更好的一点是,如果想做大规模的测试,10万点,那么只需要在它的Random下添加任意名称即可,OPCServer会自动给你建出对应的测点,还是随机数变化。

2.1.1配置时的几个关键概念

Alias Group(Group) ——对Items的分类管理,自定义的。类似于Java中的包。

Alias (Item) ——一个Item代表与服务器进行通信的PLC或其它硬件设备上的一个地址。与Kepware中的一样。

配置顺序如下(在Alias Configuration下):

New AliasGroup/Alias --> Inset Alias

2.2 Kepware公司的OPCServer

一个商业软件,需要花费金钱购买License的,但Kepware公司的OPCServer需要花钱的不是OPCServer本身,而是采集驱动。不过Kepware公司的OPCServer提供了不花钱的仿真驱动,用来测试上非常好的。

缺点就是太庞大,不简单,学习成本较高。但为了能满足OPC这类产品的各种测试,它真的是最佳选择。可以去它的官方网站下载。

2.2.1配置时的几个关键概念

Chanel——通道是一个从PC到一个或多个外部设备之间的传播媒介。一个通道可以用来代表一个串行端口(一个安装在个人电脑上的卡或是以太网接口)。

Device——设备代表了与服务器进行通信的PLC或其他硬件。它受限于Channel所选择的设备驱动程序(Device driver)。

Group——对tags的分类管理,自定义的。类似于Java中的包。

Tag——一个Tag代表与服务器进行通信的PLC或其它硬件设备上的一个地址。服务器允许动态标签(客户端自定义创建)和用户定义的静态标签(服务端管理人员创建的标签)。动态标签是直接进入了OPC客户端和指定设备存取数据。静态标签在服务器被创建的且支持标签扩展,他们可以从OPC客户浏览,支持标签浏览。

配置顺序如下:

New Channel -->New Device --> New Group/Tag --> New Tag

3. 常用的OPC客户端

3.1 Matrikon公司的OPCClient

标准,稳定,单文件,通讯过程的信息还比较丰富,我是比较喜欢用它在创建OPC组时定义同步方式或异步方式来验证远程计算机的OPC配置是否正确。缺点就是大了点,2M多。

3.2 Kepware公司的OPCClient

功能很强大,标准,稳定,日志信息很丰富,最推荐的功能是支持对OPCServer中点名的条件过滤,支持点表的导入导出,支持自动导入OPCServer的所有点,根据点表识别好点坏点,按照列排序,用它可以弥补很多国产组态软件不能在线遍历OPCServer点表的功能、不能过滤OPCServer点的功能、不能识别OPCServer中好点坏点的功能等。缺点就是非单文件。

4. OPC ClientOPC Server配置的安全策略

下表是对 OPC Client OPC Server 所在操作系统之间的安全策略的配置对应说明:

5. Java实现OPC客户端

有两种开源包,分别是JeasyOpc和utgard(Openscada),他们的区别如下:

经对比分析,我们采用Utgard(Openscada)开源技术,Openscada可以很好的实现与OPC服务器的链接及读写数据等功能,还可以随时获取和修改OPC的Server和Item的属性状态信息。所以它能够很好的满足我们的需求,建议使用Openscada。

5.1 Openscada链接配置方法

OPC数据存取服务器由三个对象组成:服务器对象(Server)、组对象(Group)和项对象(Item)

按说明配置好OPC Server  OPC Client 所在电脑的组件服务配置和防火墙设置(windows7直接关闭就行了)注意一定要把本机希望链接OPC服务的用户或用户组添加到DCOM配置列表中,否则链接会失败。

如果其他都配置好了,运行程序还是连接不上的话,首先常看防火墙是否配置(或关闭)

OPC对象——服务器(OPC  Server)、组(OPC  Group)、项(OPC  Item)。

Openscada开源项目:

         ConnectionInformation中:

                   Host——本地主机/网络主机IP(示例:localhost(默认)、127.0.0.1

                   Domain——域(默认为localhost

                   User——用户名

                   Password——用户登录密码

                   Clsid——应用在注册表中相对应的CLSID

                   Grogid——应用在注册表中对应的程序名称

                   Clsid Grogid 作用相同,只要设置一个就可以了,如果两个都设置了,程序会优先选择Clsid我们建议使用Clsid,因为使用Grogid时,Openscada的内部处理还是会通过JISystem.getClsidFromProgId( progId )方法将其转换为Clsid,并且还需要进行服务器上用户的权限的高级配置才可以使用。查找ClsidGrogid的方法:打开注册表(regedit)—》在HKEY_CLASSES_ROOT下找到相应的OPC服务器名称,该名称就是Grogid,在其目录下的CLSID的值(右边区域)就是Clsid

5.2 Openscada远程链接时常见的问题及解决方法

(1)org.jinterop.dcom.common.JIException: Message not found for errorCode:0xC0000034

原因:未启动RemoteRegistry和Windows Management Instrumentation服务。

解决方法:打开控制面板,点击【管理工具】—>>【服务】,启动RemoteRegistry和Windows ManagementInstrumentation服务。

 

(2)org.jinterop.dcom.common.JIException:Access is denied, please check whether the [domain-username-password] arecorrect. Also, if not already done please check the GETTING STARTED and FAQsections in readme.htm. They provide information on how to correctly configurethe Windows machine for DCOM access, so as to avoid such exceptions. [0x00000005]

原因:首先检查错误提示的配置信息是否有误,如果都正确,则原因可能是你访问的当前用户没有该访问权限。

解决方法:

1、打开注册列表,

选择HKEY_CLASSES_ROOT\CLSID\{76A64158-CB41-11D1-8B02-00600806D9B6}

2、右键点击[权限]>>【高级】>>[所有者]>>添加opc用户到权限项目中,点击应用,确定。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以通过以下步骤进行OPC UA技术文档的下载: 1. 确定所需的OPC UA技术文档:根据自己的需求,了解并确认需要下载的OPC UA技术文档的具体内容和版本。 2. 在互联网搜索OPC UA技术文档:可以通过搜索引擎或访问OPC UA技术相关的官方网站,如OPC Foundation网站等,来获取OPC UA技术文档的下载链接。 3. 访问可靠的下载来源:确保所下载的文档来源可信,以获取准确和更新的文档。官方网站通常是最可靠的来源,因此建议优先考虑从官方网站下载。 4. 注册或登录(若需要):根据文档来源的要求,可能需要进行注册或登录操作。按照相应的步骤完成注册或登录过程,以获得下载权限。 5. 下载技术文档:一旦获得合法的下载权限,根据网站提供的下载链接或文档库中的指引,选择所需的技术文档进行下载。一般来说,技术文档通常以PDF、Word或HTML等格式提供,并且可以选择下载整个文档或特定的章节。 6. 保存和使用:下载完成后,将技术文档保存到适当的位置,并可以根据需要使用该文档进行学习、实践或其他操作。 需要注意的是,为了确保下载到的文档是最新的和准确的,建议多次检查文档来源的可信度,并参考OPC UA技术的最新发展和更新。 ### 回答2: 要下载OPC UA技术文档,你可以按照以下步骤进行操作。 首先,你可以通过搜索引擎,如Google或百度,在网上寻找OPC UA技术文档的相关网站或资源。许多厂商和组织都会提供关于OPC UA的技术文档,你可以浏览他们的官方网站,寻找文档下载链接。 其次,你也可以访问一些知名的技术论坛或在线社区,如OPC Foundation的官方论坛或GitHub等,这些平台上通常也有相关的技术文档可以下载。 另外,一些在线文档存储和共享平台,如SlideShare、GitHub等,也可能包含了OPC UA技术文档。你可以直接在这些平台上搜索相关关键词,找到你所需要的文档并下载。 此外,在下载OPC UA技术文档之前,建议你确认所需文档的版本与你所使用的OPC UA技术版本相符。因为OPC UA技术不断发展,可能存在不同版本的文档。确保下载的文档与你所使用的版本相一致,能更好地指导你的学习和开发工作。 最后,如果你无法找到合适的OPC UA技术文档下载资源,你可以考虑联系相关组织或厂商,如OPC Foundation、OPC UA产品供应商等寻求帮助。他们可能会提供更具体和详细的技术文档资源,能够满足你的需求。 ### 回答3: OPC UA(Open Platform Communications Unified Architecture)是一种用于工业自动化领域的网络协议。可通过该协议在不同的系统和设备之间实现数据交换和通信。如果你想下载OPC UA技术文档,以下是一种简单的方法。 首先,你可以通过搜索引擎搜索“OPC UA技术文档下载”。这样你就能找到一些相关的网站和资源。一些官方的OPC UA组织和论坛将会提供下载链接。例如,OPC Foundation(OPC基金会)是一个主要的OPC UA组织,他们的网站可能提供一些技术文档的下载选项。 其次,你可以进入OPC Foundation的官方网站,并在他们的下载页面中查找相关技术文档。一般来说,他们会有一个免费的文档库,其中包含许多关于OPC UA的技术文档。你可以在这些文档中查找所需的内容,并进行下载。 另外,还有一些开发者社区和博客可能会提供免费的OPC UA技术文档下载。你可以参考一些知名的技术论坛,如Stack Overflow或GitHub等,检索关键词并浏览一些相关的帖子和资源。 最后,如果你无法找到所需的文档,你也可以考虑与OPC UA的开发者或相关组织取得联系。他们可能会提供更具体的技术文档下载方式,或者向你提供一些有用的指导。 总的来说,通过以上几种方法,你应该能够找到OPC UA技术文档的下载方式,以帮助你更好地了解和应用OPC UA技术

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值