初识 OPC

news2025/1/12 4:08:29

为什么需要OPC?

随着自动化的发展,工厂的自动化程度越来越高,面临着问题:

设备之间,设备与应用程序之间交互数据

  • 不同产商设备/应用程序具有不同接口/通信协议,如何简单快速连接?
  • 采集的数据及数据用途是否有明确定义?
  • 合作伙伴发生变化是否需要重新定义/开发?
  • 机密数据传输的时候是否安全?

基于上述所面临的问题,是否有一种通信方式,能够帮我们解决所有的问题呢?

OPC的出现为我们解决了大问题。

什么是OPC?

OPC(Object Linking and Embedding(OLE) for Process Control)用于过程控制的OLE
或者:Open Platform Communications 开放平台通信

是一个工业标准,该标准由OPC基金会管理

是一个标准化、与供应商无关的软件接口

为不同硬件制造商与软件开发商的数据交互建立了桥梁

随着不断的发展,OPC包含OPC Classic(早期的OPC) 和OPC UA

OPC Classic

  • 以Microsoft公司的OLE/COM技术为基础
  • 为访问过程数据,报警和历史数据提供单独的定义
OPC规范作用规范具体定义
OPC DAOPC数据访问规范定义的数据,包括值,时间和质量的信息交换
OPC AEOPC报警和事件规范定义报警和事件类型的消息信息,以及变量的状态和状态管理的交换
OPC HDAOPC历史数据访问规范定义可以被应用到历史,时间标记的数据查询方法和分析

典型用例

优点:不需要定义一个网络协议或进程间通信机制。

缺点:1.依赖windows平台;2.DCOM配置非常麻烦

以一个工业自动化接口为例

 

有了OPC之后,对于不同的设备接口,我们都可以统一使用OPC Server和各种设备通讯。上层只需要开发OPC客户端就可以实现和不同厂商的不同接口设备进行方便快捷的通讯。

 OPC UA(OPC Unified Architecture/OPC统一架构)

  • 基于可靠的TCP/IP通讯协议,替代OPC Classic的COM/DCOM
  • 将OPC Classic中各个规范的所有功能集成到一个可扩展的框架中
  • 较OPC Classic有更强更多的优点
  • 简化客户端的编程

 OPC服务器和客户端的区别

1.执行的功能不同。OPC服务器给OPC客户端提供接口;OPC客户端通过这些接口来获取硬件设备的信息。

2.运行机制不同。

为什么OPC UA大势所趋?

OPC UA特点

平台独立性
硬件平台:传统PC硬件、云服务器、PLC、微控制器(ARM等)
操作系统:Microsoft WindowsApple OSX Android或任何Linux发行版本等

安全性:
会话加密:信息以不同的加密级别安全地传输
信息签名:信息签名可以保证准确和完整的接收信息
身份认证:每个UA的客户端和服务器都要通过X509证书认证,从而决定哪些应用程序和系统可以互相连接。
用户控制:可对用户进行身份验证,并且可以进一步限制或增强用户访问权限等

信息模型完整,可扩展

下图中,左下角的部分设备SIMATIC SS, S7-300, ET 200, S7-1200, S7-1500等均为RS485通讯接口,走的通讯协议也各不相同,profibus DP, S7 communication, Open communication;右下角的部分设备SIMATIC SS, S7-400, S7-1200, S7-1500均为profinet接口,走的通讯协议也各不相同,S7 communication, Open communication, profinet,SNMP等。

如果这些设备均要与上位软件进行OPC通讯,如何实现呢?需要额外通过SIMATIC NET软件,SIMATIC NET软件中集成了不同的接口,DP OPC server, S7 OPC server, S/R OPC server, PN IO OPC server,SNMP OPC server,可以与不同的设备介质进行通讯,然后由SIMATIC NET软件再与上位的OPC DA客户端进行OPC的通讯。

以S7-1200为例,如果与支持OPC DA的客户端软件进行通讯的时候,由于OPC DA是基于微软间的COM/DCOM技术开发的,所以S7-1200的CPU是无法直接继承OPC DA的OPC服务器,这时候需要加入SIMATIC NET的OPC软件作为桥梁中转,S7-1200与SIMATIC NET进行通讯,SIMATIC NET再与上位的监控软件进行OPC DA通讯,这样就间接地实现了西门子设备与监控软件数据的通讯交互,但是前提,中间需要加OPC软件进行中转。

OPC UA的出现,由于它与平台无关,那么更多的设备能够集成OPC UA客户端或服务器的功能,那S7-1200集成了OPC UA服务器的功能,这样就可以直接与监控软件进行OPC UA的通讯,中间不需要增加任何其它的硬件或软件,所以这样带来的通信便利性比较明显,直接就可以通信。

 OPC UA通信和PROFINET通信完美协作

 

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

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

相关文章

【计算机网络】学习笔记:第四章 网络层【王道考研】更新中....

基于本人观看学习b站王道计算机网络课程所做的笔记&#xff0c;不做任何获利 仅进行交流分享 特此鸣谢王道考研 若有侵权请联系&#xff0c;立删 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0c;如有疑问欢迎…

计算机组成原理4.2.2汉明码

编码的最小距离 奇校验和偶校验 看1的个数是奇数 还是偶数 汉明码 汉明码的配置 根据不等式&#xff0c;确定增添几位&#xff0c;根据指数放置增添位 汉明码的检错 分不同检测小组 分组规则&#xff1a;哪位为’1‘就是哪组元素。 1号位为‘1’的都是第一组元素&#…

JUnit 5 使用教程 及 JUnit 4/5的差异

1. JUnit 5产生的原因 JDK 8在java中带来了迷人的功能,最值得注意的是lambda表达式 为了适应 Java 8 风格的编码和新的功能特性,JUnit 提供了JUnit 5 2. JUnit 5 架构 与 JUnit 4 相比,JUnit 5 由来自三个不同子项目的几个不同模块组成:JUnit 5 = JUnit Platform + JUni…

controlnet1.1模型和预处理器功能详解(各预处理器出稿对比及对应模型说明)

ControlNet 1.1 与 ControlNet 1.0 具有完全相同的体系结构,ControlNet 1.1 包括所有以前的模型&#xff0c;具有改进的稳健性和结果质量&#xff0c;且增加并细化了多个模型。 命名规范 项目名版本号标识基础模型版本功能名文件后缀名 control 官方总是以control为项目名&…

Java NIO(Java Non-Blocking IO:非阻塞式IO)(2)

1.NIO非阻塞网络编程原理分析 1>.NIO非阻塞网络编程相关的(Selector、SelectionKey、ServerScoketChannel和SocketChannel)关系梳理图: 说明: ①.当客户端连接时,会通过服务器端ServerSocketChannel得到/生成对应的SocketChannel; ②.通过register(Selector sel,int ops)…

SpringBoot 如何防御 CSRF 攻击

SpringBoot 如何防御 CSRF 攻击 CSRF 原理CSRF实践CSRF防御前后端不分离方案前后端分离方案 CSRF 就是跨域请求伪造&#xff0c;英文全称是 Cross Site Request Forgery。 这是一种非常常见的Web攻击方式&#xff0c;其实是很好防御的&#xff0c;但是由于经常被很多开发者忽略…

压缩HTML引用字体

内容简介 有些网站为了凸显某部分字体&#xff0c;而引入自定义字体&#xff0c;但由于自定义字体相对都比较大&#xff08;几M&#xff09;,导致页面加载缓慢&#xff1b;所以本文介绍三种压缩字体的方法&#xff0c;可根据项目情况自行选择。 压缩方法 1、利用Fontmin程序&a…

ETL工具 - Kettle 输入输出算子介绍

一、Kettle 输入输出算子介绍 上篇文章对 Kettle 进行了简单的介绍及做了个简单的案例&#xff0c;但是对 Kettle 的Step算子工具没有做过多的解释&#xff0c;本篇文章从输入输出算子工具开始进行介绍。 下面是上篇文章的地址&#xff1a; ETL工具 - Kettle 介绍及基本使用 …

正点原直流有刷驱动板的硬件解说

这里写目录标题 H桥电流采集电路电源电压采集电路温度采集电路过流检测电路过流保护电路![请添加图片描述](https://img-blog.csdnimg.cn/fa130e17e23b471e8e27ae942e1ff125.png) H桥 因为光耦(EL0631)作用&#xff0c;PWM 引脚电平输入IN相反。 然后半桥芯片的逻辑表为&#x…

【Python】BeautifulSoup

一、什么是BeautifulSoup Beautiful Soup 简称 BS4&#xff08;其中 4 表示版本号&#xff09;是一个 Python 第三方库&#xff0c;它可以从 HTML 或 XML 文档中快速地提取指定的数据。 二、BS4下载安装 点击最下面的终端进如命令行界面 &#xff08;进入成功界面&#xff1a;&…

C++/Qt 小知识记录3

工作中遇到的一些小问题&#xff0c;总结的小知识记录&#xff1a;C/Qt 小知识 QLineEdit限制输入大于0的正整数QLayout内清空已布局的WidgetWindows结束进程直接结束&#xff0c;子进程不响应结束事件正常结束&#xff0c;子进程响应结束事件 CMake关闭控制台Console实体与值对…

【网络编程】网络基础知识总结

文章目录 一、局域网与广域网二、协议2.1 协议的概念2.2 协议分层2.3 数据传输的条件 三、OSI七层模型四、TCP/IP五层&#xff08;四层&#xff09;模型五、网络传输5.1 预备知识——报头5.2 局域网通信原理5.3 以太网和令牌环网5.3 网络传输流程图5.3.1 同一网段的两台计算机的…

海岛旅行回忆总结(不定更)

文章目录 概述大辣甲岛外伶仃岛、东澳岛长洲、南丫岛下川岛 概述 喜欢大海&#xff0c;与海滩相比&#xff0c;海岛的空气更好、海水更靓、人更少、污染更少 海岛位置日期天气小结大辣甲岛惠州2017年7月29~30日台风前夕&#xff0c;云淡风轻&#xff0c;阳光猛烈开发程度低&…

分享2款CSS3母亲节主题寄语文字动画特效

目录 ❤️ 前言 第一款&#xff1a;妈妈您辛苦了&#xff01; 一、效果图 二、代码实现 第二款&#xff1a;Mothers Day&#xff01; 一、效果图 二、代码实现 ❤️ 祝福 ❤️ 前言 母亲节&#xff0c;在每年五月的第二个星期日&#xff0c;是用来感谢母亲的节日。…

SpringAOP

SpringAOP 一、AOP1. AOP简介1.1 AOP简介和作用1.2 AOP中的核心概念 2. AOP入门案例【重点】2.1 AOP入门案例思路分析2.2 AOP入门案例实现【第一步】导入aop相关坐标【第二步】定义dao接口与实现类【第三步】定义通知类&#xff0c;制作通知方法【第四步】定义切入点表达式、配…

阿里云g8i服务器Intel Xeon(Sapphire Rapids) Platinum 8475B

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器&#xff0c;3.2 GHz睿频&#xff0c;g8i实例采用阿里云全新CIPU架构&#xff0c;可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

< C++ >lesson2.C++入门下

文章目录 1. 内联函数❤️1.1 内联函数的定义1.2 特性 2. auto关键字&#x1f90d;2.1 auto简介2.2 auto使用细则2.3 auto不能进行推导的场景 3. 基于范围的for循环&#x1f9e1;3.2 范围for的条件 4. nullptr指针&#x1f49a; 1. 内联函数❤️ 在C语言中有宏函数的概念&…

【嵌入式】Modbus实践

前言 最近接了一个项目&#xff0c;需要使用Modbus协议&#xff0c;虽然之前有所耳闻&#xff0c;但一直没有实操过&#xff0c;但实践之后发现其实还是很简单的&#xff0c;我认为它本质上就是对串口传输进行“二次封装”。 建议的入门顺序 大神带你秒懂Modbus通信协议——理…

【zotero】从知网万方维普WOS等数据库上导出格式引文-引文格式到zotero中

一、问题背景 最近新中特课要交课程论文作业了&#xff0c;老师说要有参考文献引注。 于是我找了很多参考文献&#xff0c;但是不打算放在我的zotero文献库中&#xff0c;因为我不想我的zotero文献库中包括与我专业学习不相关的东西。 鉴于导入文献后识别成引注后续导出打包…

iOS开发之Masonry框架源码深度解析

Masonry是iOS在控件布局中经常使用的一个轻量级框架&#xff0c;Masonry让NSLayoutConstraint使用起来更为简洁。Masonry简化了NSLayoutConstraint的使用方式&#xff0c;让我们可以以链式的方式为我们的控件指定约束。本篇博客的主题不是教你如何去使用Masonry框架的&#xff…