听说看了这篇文章就彻底搞懂了什么是OPC(上)

从2000年初以来,我们就一直在使用OPC软件互操作性标准,而那些正准备踏入和想要踏入工业自动化领域的人们却对这些含义感到困惑。

所以在本中,我将系统地为你梳理OPC知识。

OPC首字母缩写词代表什么?

问一个OPC老手,他们或许会笑,因为他们知道有很多含义!在经典的且程序化的说法是:O LE for P rocess C ontrol(用于过程控制的OLE)。OLE 或对象链接和嵌入是Windows的基本早期构建块,允许应用程序在它们之间共享复杂的信息。我记得Windows 3.0的第一个演示中,人们将 Excel电子表格嵌入到 Microsoft Word文档中,以及更新电子表格,打开Word和更新文档的重要性。原始OPC标准源自该技术和 COM 或 Windows 组件对象模型。

从那以后,我们会听到很多其他的一些定义,但是比较出名的是现在官方OPC基金会所给出的说法是:它的含义是O pen P latform C ommunications(开放平台通信)。其实无论它的定义是什么,其目标保持不变:消除自动化软件和硬件平台之间互操作性的障碍,为用户提供选择。

OPC Client(OPC客户端)和OPC Server(OPC服务器)之间有什么区别?

OPC客户端请求数据,有时也想写入数据。如果允许的话,服务器会响应客户端的请求并提供数据或接受其写入。最简单的形式就是这样。

可以将OPC服务器看作是协议转换器,OPC服务器使用设备的专用协议与设备通信,然后使用OPC Classic和OPC UA规范定义的标准化格式提供对该数据的访问。通常情况下,OPC服务器在OPC客户端请求读取或写入数据之前不会执行任何操作。而某些OPC服务器可以配置为即使在没有客户端请求的情况下也可以从设备轮询数据。这通常是为了允许OPC服务器在其内部缓存中就具有当前数据并且在客户端请求它时就已经准备就绪(但是是以产生可能不需要的通信流量为代价。)目前许多OPC服务器为用户提供了灵活性,可以根据应用需求来进行配置。

如果我的控制硬件供应商说他们支持OPC,那么为什么我还需要OPC服务器?

当硬件供应商表示他们支持OPC时,通常并不意味着他们直接将OPC服务器嵌入到他们的硬件中。他们的意思是他们拥有OPC服务器软件,该软件在某个基于Windows的计算机上运行,????该计算机与其硬件对话并使用一个或多个OPC标准公开数据。此外,对于某些硬件供应商,可能需要额外的许可费才能启用此OPC服务器功能。我们经常听到用户对这一点感到困惑。其实只是为了在销售时更好听一点,才会说“我们支持OPC”,所以在此需要澄清一下供应商所说的内容。

现在,一些供应商开始利用多平台功能,并将OPC UA服务器直接嵌入到他们的PLC中。如果你的 HMI或SCADA软件支持OPC UA,那么这可能会非常方便。如果你的客户端应用程序不支持OPC UA,那么则可以使用OPC网关应用程序来帮助你从OPC UA 连接到 DA。

OPC服务器必须在Server类计算机和操作系统上运行吗?

OPC服务器不需要服务器类硬件或操作系统。有些供应商可能会针对其具体实施要求这样做,但OPC标准并没有规定这一点。OPC服务器软件通常相当轻巧,可以轻松地与台式PC上的其他软件应用程序共存。你可以咨询你的OPC服务器供应商,了解你的具体应用要求。(以Software Toolbox的产品为例,在它的每个产品网站区域都有一个规格页面,虽然他们的OPC服务器通常不需要服务器级硬件或操作系统。)

2个OPC服务器如何相互通信?而2个OPC客户端又如何相互通信?

在OPC世界中,通常客户端是与服务器通信的。但是好消息是OPC服务器可以与其他OPC服务器通信,OPC客户端也可以使用相同的方式。

为什么两个OPC服务器需要通信?你可以想象一下,你有PLC供应商A和PLC供应商B,并且有一个OPC服务器需要使用两个不同的PLC供应商的特定设备协议与每个服务器进行通信。你希望将数据从PLC A移动到PLC B,这意味着2个不同的OPC服务器需要相互通信。你可以使用OPC Bridging(OPC桥)软件应用程序执行此操作。OPC桥接软件应用程序是OPC客户端应用程序,可以连接到许多不同的OPC服务器,然后允许你映射两个OPC服务器之间的数据移动,指定方向,数据转换等。

在OPC客户端相互通信的情况下,最常见的应用是需要交换数据的两个不同的SCADA或HMI软件应用程序。第一个解决方案是查看HMI或SCADA软件是否支持OPC服务器接口以及OPC客户端。许多人都是这样做的,那么如果是这样,那么问题就解决了两个客户端应用程序使用其OPC客户端接口与彼此的OPC服务器接口进行通信。如果没有,并且客户端纯粹是OPC DA,UA或DA和UA客户端,那么使用诸如 Cogent DataHub 之类的应用程序也将是解决方案。Cogent DataHub可以充当OPC服务器,其中包含你定义的标记列表,并且两个OPC客户端都可以读取/写入这些公共标记。

什么是 OPC数据质量 和 TImestamps ?

在 OPC 之前,当你的 HMI 或 SCADA 软件用内置驱动程序读取数据之前,它要么得到数据要么没有数据。 如果你没有得到数据,你就无法知道最后一次获得数据是什么时候。 两者之间没有差别。

使用OPC服务器,它们可以缓存或保留从设备读取的最后一个值。它们还会在缓存中为数据加时间戳(TImestamps),通常使用OPC服务器从设备读取值的时间。某些设备存储上次更改数据的时间戳,并可使用设备特定的通信协议将其传递给OPC服务器。如果设备支持该设备并且OPC服务器支持它,那么则可以使用设备时间戳。(如:支持该功能的协议的设备时间戳的Software Toolbox产品包括TOP Server DNP,IEC 61850和IEC 60870驱动程序。)

OPC质量是OPC服务器告诉OPC客户更多关于它们提供价值的一种方式。这样做的方法是传递一个数字以及值和时间戳。在OPC中我们称之为VQT或"Value,Quality,Timestamp"(“价值,质量,时间戳”)。OPC质量编号实际上是通过设置字位来确定的,这会导致产生不同的值。值192表示“良好”质量,这意味着OPC服务器最后一次轮询设备它能够成功获取数据,因此OPC客户端可以信任该值。值为0表示质量不佳,通常表示OPC服务器与其轮询的设备之间存在通信故障。OPC服务器可以使用一系列其他值来表示质量差的原因,但目前它们并未得到广泛实施。我之前有发过一篇关于OPC数据质量的文章<<一分钟告诉你什么是OPC DA质量代码>>,感兴趣的朋友可以去看看。

其实最重要的是OPC客户端应用程序通常可以配置为更改它们在操作员屏幕或历史数据库中向用户显示值的方式,以便人们知道该值不值得信任和不值得信任原因。

关于OPC UA,OPC DA等相关内容,我会在下一篇文章中继续详细讲解,未完待续。

原文地址:https://www.cnblogs.com/NB-Juvien/p/9437778.html

时间: 2024-07-30 18:50:36

听说看了这篇文章就彻底搞懂了什么是OPC(上)的相关文章

什么是5G,看了这篇文章你就彻底懂了

人类已经经历了六次信息技术革命为: 第一次:语言的使用 让信息可以分享 第二次:文字的创造 让信息可以记录 第三次:印刷术的发明 让信息可以传得更远 第四次:无线电的发明 让信息可以远距离实时传输 第五次:电视的发明 让信息变成远距离.实时还可以多媒体传输 第六次:互联网的发明 让信息变成远距离实时多媒体,还可以双向交互 现在我们正在经历第七次信息技术革命:移动互联.智能感应.大数据.智能学习.云计算共同形成的万物互联时代,而这一切的核心基础就是5G. 为什么是5G,工具吧带大家看看5G的6大特

【转帖】我以为我对Kafka很了解,直到我看了这篇文章

我以为我对Kafka很了解,直到我看了这篇文章 2019-08-12 18:05 https://www.sohu.com/a/333235171_463994?spm=smpc.author.fd-d.8.1566085247069VrdDx7I 原来kafka 是 linkedin 搞出来的 只是听说过 需要实践才可以啊. Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础.

如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧(转)

我保证这篇文章和你以前看过的所有文章都不同,这是 12 年还在果壳的时候写的,但是当时没有来得及写完就出国了--于是拖了两年,嗯,我是拖延症患者-- 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式.但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝.老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了.(您把教材写得

PDF怎么拆分成多个PDF,看完这篇文章你就明白了

PDF文件对于每一个经常在职场上工作的人来说,是特别常见的一个文档格式,PDF格式深受人们的喜爱,因为是特别好用的,但同时也是比较难进行编辑和修改的,特别是遇到PDF文档过长,为了方便浏览和及时查找对我们有用的内容,这就需要将PDF文档拆分成多个PDF,那么PDF怎么拆分成多个PDF?通过今天的文章就来告诉大家PDF文档拆分的方法,看完这篇文章你就明白了,那么我们就一起来看看吧.?方法一:软件拆分法借助软件:如果想要将PDF文档拆分成多个PDF,那就需要借助迅捷PDF转换器来实现,这个软件有着丰

【白话篇】10分钟搞懂字符编码

如上图所示为常见的,让人看了头晕的 几个种编码. 看懂下面几条规则,你就明白他们的关系了. [1]有些人说,GBK严格来说是字符集,而utf-8则是编码,这种区分已经相当模糊了,他们都是"字节到字符的映射关系",所以下面都用编码来说吧. [2] ISO-8859-1 这种编码是单字节编码,衍生于ASCII,表示范围0-255,只要按照ASCII的规则设计的编码,不管是几字节的,都可以和ISO-8859-1兼容. [3]比如说,GBK编码(双字节)能转化成ISO-8859-1编码,是因为

WEB前端开发的思考与感悟,看完这篇文章你再考虑是否入坑!

最近几年对于web前端的传闻很多,比如人才稀缺,简单易学,待遇丰厚,整体势头发展良好等等.遇到过一个不太熟搞后台开发的同事跑来问我学习前端需要掌握哪些内容,也听说过一个搞IOS开发准备自学前端半个月然后要去找前端工作,也曾看到过有人对前端市场人才的稀缺这样吹捧过: 现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在.没错,优秀的前端工程师简直比大熊猫还稀少.- - 不仅在国内的互联网行业,在国外,前端工程师一样是需求旺盛.供不应求的香饽饽. 对于

看了这篇文章你还不懂傅里叶变换,那我就真没办法呢!

首先,请允许小编带着崇高的敬意向牛逼的作者"韩昊"表示感谢.按照原文要求,转载注明出处.内容整理自知乎!发布仅为学习交流!版权归原作者所有!原文地址:https://zhuanlan.zhihu.com/p/19759362 ---好文开始了-- 我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了--于是拖了两年,嗯,我是拖延症患者-- 这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不

复现一篇深度强化学习论文之前请先看了这篇文章!

去年,OpenAI和DeepMind联手做了当时最酷的实验,不用经典的奖励信号来训练智能体,而是根据人类反馈进行强化学习的新方法.有篇博客专门讲了这个实验 Learning from Human Preferences,原始论文是< Deep Reinforcement Learning from Human Preferences>(根据人类偏好进行的深度增强学习). 链接:https://arxiv.org/pdf/1706.03741.pdf 过一些深度强化学习,你也可以训练木棍做后空翻

APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了

出处:http://blog.csdn.net/zhaokaiqiang1992 只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢?今天这篇文章就是主要来说明这个问题的. 首先,我们要知道,在Android手机里面,缓存的位置分为两类,一类是Internal Storage,即内部存储,另外一类是External Storage,即外部存储.比较老