OPC技术学习总结(1)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
Ø  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服务器所兼容的设备分类


Ø  硬件设备: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开源项目:

知其然不知其所以然,大厂常问面试技术如何复习?

1、热门面试题及答案大全

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

2、多线程、高并发、缓存入门到实战项目pdf书籍

3、文中提到面试题答案整理

4、Java核心知识面试宝典

覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入


《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**

[外链图片转存中…(img-vjpMsbvo-1714736473340)]

[外链图片转存中…(img-kDrh3g5y-1714736473340)]

[外链图片转存中…(img-19Iktq5e-1714736473341)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值