ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

OPC技术学习总结,java从入门到精通第五版答案

2021-12-22 12:58:14  阅读:195  来源: 互联网

标签:java 驱动程序 OPCServer 硬件 OPC 服务器 第五版 设备


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

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

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

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

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

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

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

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

1.3 工作原理


详细原理图:

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


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

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

Ø  通讯协议:DDE,Modbus,ODBC,GenCS…

Ø  操作系统:Windows,UNIX,VMS,Macintosh,嵌入式OS…

即OPC服务器可以从上面任何一种形式的数据产生实体中读取数据。这个实体可以是霍尼韦尔PHD的Application,也可以是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 Client和OPC 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——用户登录密码

标签:java,驱动程序,OPCServer,硬件,OPC,服务器,第五版,设备
来源: https://blog.csdn.net/m0_64867839/article/details/122083247

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有