opc客户端读取数据品质是bad_听说看了这篇文章就彻底搞懂了什么是OPC(上)

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

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

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

6d540408c58308fe48db222df371a501.png

问一个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。

6f29d537e8e9e5dcfe11f63399e7a58e.png

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服务器之间的数据移动,指定方向,数据转换等。

7a5a7771a31c41cc27d4f88acdd79859.png

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

bb2b353a0bbb6dafd458b3ff692a781e.png

什么是 OPC数据质量 和 TImestamps ?

1c053b6a105535f2ae80b344a214c4c1.png

在 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客户端应用程序通常可以配置为更改它们在操作员屏幕或历史数据库中向用户显示值的方式,以便人们知道该值不值得信任和不值得信任原因。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php导入json文件_[php]导入超大json文件

前言在之前的文章《做一个twitter的插件玩玩》中&#xff0c;我做了一个批量删除推文(转发推文)的工具&#xff0c;该工具能够删除前3200条推文&#xff0c;但因为总数太多(4.3万条)&#xff0c;api接口不支持获取所有的推文&#xff0c;所以我采用了下载的方式&#xff0c;直接…

linux怎样写java代码,linux 怎么写java

linux 怎么写java一、环境安装由于使用 yum 或者 apt-get 命令 安装 openjdk 可能存在类库不全&#xff0c;从而导致用户在安装后运行相关工具时可能报错的问题&#xff0c;所以此处我们推荐采用手动解压安装的方式来安装 JDK。具体步骤如下&#xff1a;1.下载 JDK进入Oracle官…

超级好用的一个php上传图片类(随机名_缩略图_加水印),超级好用的一个php上传图片类(随机名,缩略图,加水印)...

Upimages.class.php php上传类复制代码 代码如下:class UpImages {var $annexFolder "upload";//附件存放点&#xff0c;默认为&#xff1a;annexvar $smallFolder "small";//缩略图存放路径&#xff0c;注&#xff1a;必须是放在 $annexFolder下的子目录…

matlab读取data格式,ReadData3D 各种格式图像的读取,包括医学 效果很好 matlab 272万源代码下载- www.pudn.com...

文件名称: ReadData3D下载 收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 51 KB上传时间: 2017-03-29下载次数: 0提 供 者: 李忠宽详细说明&#xff1a;各种格式图像的读取&#xff0c;包括医学图像的读取&#xff0c;效果很好-Various formats of image reading, inclu…

mysql vs2008,vs2008 使用mysql

近期转到研发岗&#xff0c;需要用到mysql、vs2008&#xff1b;之前由于没有做过&#xff0c;写下这篇文章记录下这周所学的东西&#xff01;先安装好相关软件安装时间比较久耐心等待......安装完毕之后打开vs&#xff0c;Tools -> opptions ->设置完毕之后&#xff0c;点…

matlab pretty什么用,matlab如何使输出结果更美观(symdisp函数——pretty函数升级版)...

EDA365欢迎您登录&#xff01;您需要 登录 才可以下载或查看&#xff0c;没有帐号&#xff1f;注册x& t7 n0 d: a# m0 O( y- Lmatlab中有些计算结果比较长&#xff0c;直接查看有些困难&#xff0c;下面介绍pretty和symdisp函数优化输出结果&#xff0c;使结果更为直观。- …

php 遮罩层,Jquery实现遮罩层的方法

本文实例讲述了Jquery实现遮罩层的方法。分享给大家供大家参考。具体如下&#xff1a;1、假设#main为页面body中的最外层Div标签2、背景被遮罩后&#xff0c;显示的弹出窗(默认是不显示的&#xff0c;所包含的CSS这里就不贴了)&#xff1a;xAttention!3、在script.js中定义遮罩…

nhinx php 调优,高流量站点NGINX与PHP-fpm配置优化

本文由LinuxProbe.Com团队成员岳国帅整理发布&#xff0c;原文来自&#xff1a;黑白。导读使用Nginx搭配PHP已有7年的经历&#xff0c;这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。以下正是这方面的一些提示和建议&#xff1a;1. 将TCP切换为UNIX域套接字1. 将…

php rinit,PHP执行原理

一&#xff1a;PHP简介&#xff1a;PHP&#xff1a;Hypertext Preprocessor 也就是“超文本预处理器”&#xff0c;是一种通用的开源脚本语言。语法吸收了C语言&#xff0c;Java和Perl的特点&#xff0c;使用广泛&#xff0c;主要适用于Web开发领域。二&#xff1a;PHP的设计理…

linux 查看握手时间,实战:tcpdump抓包分析三次握手四次挥手

本文档以实战的形式介绍tcpdump抓包分析三次握手四次挥手的过程。执行tcpdump命令tcpdump -n -i ens32 host 192.168.10.10 and 42.186.113.26 >> /tmp/tcpdump.txtping game.campus.163.comcurl http://game.campus.163.comcurl http://game.campus.163.com结束后&#…

linux 高级i o函数,高级I/O函数

对于socket&#xff0c;最基本的输入输出函数就是&#xff0c;read和write。它们最基本&#xff0c;同样功能也是最少的。Unix中有几个函数是read/write的变种&#xff0c;在基本的输入输出功能上&#xff0c;还增加了一些非常使用的功能和特性&#xff0c;它们是&#xff1a;r…

安装linux必不可少的一个分区,安装linux系统对硬盘分区时,必须有的两种分区类型是什么?...

安装Linux系统对硬盘分区时&#xff0c;必须有两种分区类型&#xff1a; 根分区和交换分区。根分区就是root分区&#xff0c;所有的东西都在这个分区内。 /swap分区是交换分区&#xff0c;是一定磁盘空间(分区或文件)&#xff0c;用于将部分内存中的数据换下来&#xff0c;以腾…

ubuntu和linux服务器,Linux服务器系统CentOS和Ubuntu Server如何选择? | 偶乃秋辰

在秋辰看来&#xff0c;目前最优秀的服务器系统就是Linux&#xff0c;但是Linux并不能说是一套完整的操作系统&#xff0c;准确的说它只是系统的内核&#xff0c;否则也不会有那么多的发行版如&#xff1a;Red Hat、CentOS、Debian、Ubuntu、Fedora等。其实Linux发行版系统很多…

linux 黑屏后死机,如何修复各种各样的黑屏死机

每次我们打开这些设备&#xff0c;我们都希望我们生活中的科技能发挥作用。当他们不能工作时&#xff0c;会让我们非常沮丧&#xff0c;尤其是当我们不知道如何解决问题时。所谓的“死亡黑屏”在操作系统之间很常见&#xff0c;当您打开机器&#xff0c;但屏幕空白。有时监视器…

cmd文件 c语言的段,对于TMS320F2812的CMD文件的理解

1.COFF格式要谈CMD文件&#xff0c;首先不可避免的要谈下COFF格式&#xff0c;COFF格式是通用目标文件格式(Common Object FileFormat)的缩写&#xff0c;它是一种流行的二进制可执行文件格式&#xff0c;在DSP里二进制可执行文件包括库文件(.lib)、目标文件(.obj)和最终可执行…

android点击事件的优先级,Android事件体系全面总结+实践分析,系列篇

前言在这一个月里&#xff0c;我利用闲余的时间看了下最近Android职业发展这块该怎么选择&#xff1f;这个问题各位大神的回答都非常透彻&#xff0c;相信对大家或多或少都在一定程度上有很大的帮助&#xff0c;今天在这里写这篇文章更多的是想以我开发十年的工作经历&#xff…

android各组件翻译,Android App框架指南(译文)

该系列文章是对Android推出的架构组件相关文章&#xff0c;按作者自己理解来翻译的&#xff0c;同时标记有作者自己一些简单笔记。如果读者发现文中有翻译不准确的地方&#xff0c;或者理解错误的地方&#xff0c;请不吝指教。源自Android官方Guide to app architecturel princ…

鸿蒙手机是个噱头,华为鸿蒙不是谈判噱头 必要时会应用手机当中!

7月30日&#xff0c;华为2019年上半年财报发布会上&#xff0c;华为董事长梁华在接受媒体采访时回应称&#xff0c;“鸿蒙”系统不是用来应对与美国谈判的噱头。今年5月&#xff0c;美国商务部将华为列入“实体清单”后不久&#xff0c;华为一系列“备胎”方案开始浮出水面&…

360浏览器html5无法播放,win7系统360浏览器播放不了视频的解决方法

今天和大家分享一下win7系统360浏览器播放不了视频问题的解决方法&#xff0c;在使用win7系统的过程中经常不知道如何去解决win7系统360浏览器播放不了视频的问题&#xff0c;有什么好的办法去解决win7系统360浏览器播放不了视频呢&#xff1f;小编教你只需要 1、视频无法正常…

html设置数字显示位数,数字万用表的显示位数和精度

数字万用表的显示位数和精度今天&#xff0c;我们来聊一聊数字万用表的位数和精度&#xff0c;到底什么是四位半&#xff1f;分辨率到底是哪个数&#xff1f;万用表的精度要如何计算&#xff1f;万用表的显示位数计数显示&#xff1a;万用表的显示位数范围。位数显示&#xff1…