OPC DA如何实现跨平台

news2024/10/7 12:22:13

目录

简介

EntireX DCOM

Utgard

OPC XML DA

OPC UA

协议转换代理


简介

本文介绍OPC DA跨平台通讯的几种方案。

OPC官方说明文档

OPC(OLE for Process Control)是为过程控制专门设计的OLE 技术,基于COM/DCOM的数据访问的标准。常说的OPC通讯,通常指OPC DA(OPC Data Access),是基于OPC标准的数据访问接口。由于COM/DCOM依赖于Windows系统, 使得OPC COM接口很难被应用到其他非Windows的操作平台上,使得工业互联受到很大的限制。

     下文介绍几种跨平台方案,所谓OPC跨平台,目前主要指的是Windows与Linux平台之间的OPC通讯。

EntireX DCOM

   EntireX DCOM:DCOM 在 Linux 下有多种实现版本,以Software AG 公司与微软合作开发的 EntireX DCOM 软件开发包最为流行。在Linux上安装EntireX DCOM,并启用 DCOM 功能,Linux上的客户端程序,可以与 Windows 平台上的 OPC服务器通信。

http://api1.wangxinzhihui.com:88/upload/caf830fd-1d2b-11ee/91b1706b37a9f95c924e.png

Utgard

   Utgard :Utgard 是一个开放源码项目,提供了Java 语言编写的 OPC 库文件。利用 Utgard 库文件,可以开发符合 OPC DA 2.0规范的客户端。 Utgard由openscada-opc-dcom、openscada-opc-lib 2个库组成。其中,openscada-opc-dcom库使用j-Interop 实现了 DCOM功能,j-Interop 是一个实现了 DCOM wire protocol (MSRPC)的开源类包。openscada-opc-lib 库则是简化了的 OPC 接口程序,可以很方便用 Java 开发 OPC 客户端。

http://api1.wangxinzhihui.com:88/upload/caf830fd-1d2b-11ee/07401481f35a10e1cf40.png

OPC XML DA

   OPC XML DA:为解决OPC跨平台通讯,OPC基金会制定了OPC XML标准,就是对原有OPC Server进行功能扩展。由于XML具有良好的跨平台通用性,广泛应用于Internet应用,且很容易穿透防火墙,使得OPC DA能够跨平台或在互联网上得到应用。OPC XML DA基于XML的web技术,采用SOAP作为对应用程序共享消息进行包装的通讯协议,实现OPC Server和OPC Client之间通过Http协议传输数据,使得数据很容易在不同平台间传输,并轻易实现在Internet上发布OPC数据。

http://api1.wangxinzhihui.com:88/upload/caf830fd-1d2b-11ee/ab99ed5388c454bdbf78.png

OPC UA

 OPC UA:基于COM/DCOM的技术有着不可根除的缺点,例如安全性不高、应用平台受限等。OPC基金会又推出OPC UA(Unified Architecture,统一架构)新一代OPC规范。相较于OPC Classic,OPC UA在数据安全性、跨平台性、扩展性等方面有着更好的表现,这使得越来越多的企业开始考虑将现有的OPC Classic升级到OPC UA,以满足更高的数据传输性能和安全要求。比如选择Softing的dataFEED OPC Suite软件作为OPC UA通信的中间件,将现场OPC Classic服务器升级到OPC UA服务器。

OPC UAOPC Unified Architecture),基于OPC统一架构的时间敏感网络技术 ,是一个新的工业软件接口规范,其目的在于提出一个企业制造模型的统一对象和架构定义,具有跨平台、增强命名空间、支持复杂数据内置、大量通用服务等新特点。

OPC UA 规范包含核心规范部分与存取类型规范部分,其中核心规范部分包括

OPC UA Data Access

OPC UA Alarms and Conditions

OPC UA Programs

OPC UA Historical Access

存取规范部分包括:

OPC UA Security Model

OPC UA Address Space Model

OPC UA Services

OPC UA Information Model

OPC UA Service Mappings

OPC UA Profiles

    和现行OPC一样,OPC UA 系统结构包括 OPC UA 服务器和客户端两个部分, 每个系统允许多个服务器和客户端相互作用。

http://api1.wangxinzhihui.com:88/upload/ea8d68ce-17ae-11ee/db89b1edf10ce0551a04.png

由于OPC UA技术具备优秀的信息建模、通信传输、跨平台等能力,使得数据采集、信息模型化、系统通信更加安全、可靠。这决定了OPC UA将在多广泛的技术领域获得应用,如IEC发布的智能电网标准化RoadmapOPC UA技术作为重要的支撑标准,德国工业4.0也将OPC UA作为支撑技术之一。所以,OPC UA技术将作为重要的信息集成标准,在信息领域获得广泛应用。

协议转换代理

   协议转换代理:将OPC转换成TCP协议,由于TCP协议天然的跨平台特性,使得转换后的协议可以很方便地在两个异构平台之间传输数据。用户可以自己开发OPC 代理,其本质是OPC Client,从OPC Server获取数据,并将数据封装成标准的TCP协议,或者自定义的TCP协议。该OPC代理运行在OPC Server上,Linux客户端与OPC代理通讯达到与OPC Server间接通讯的目的。

   

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

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

相关文章

vmware去虚拟化

路径:C:\Program Files (x86)\VMware\VMware Workstation\x64\vmware-vmx.exe ,复制一份备份 用16进制工具打开修改这个文件,如winhex 1、搜索 25 73 2E 65 6E 61 62 6C ,找到上面有两个"VMware"开头的 2、硬盘SCSI格…

JAVASE---String类

String类的重要性 在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而…

Java 类和对象

在面向对象语言中万物皆对象,一切都围绕对象来进行,找对象、建对象,用对象等。 类:把具有相同特征和行为的一组对象抽象为类,类是抽象概念,如人类、车类等,无法具体到每个实体。 对象&#xff…

71、Spring Data JPA 的 样本查询--参数作为样本去查询数据库的数据,也可以定义查询的匹配规则

★ 样本查询 给Spring Data传入一个样本数据,Spring Data就能从数据库中查询出和样本相同的数据。被查询的数据并不需要和样本是完全相同的,可能只需要和样本有几个属性是相同的。总结: 样本查询–就是把参数作为样本去查询数据库的数据&…

一、 计算机网络概论

一、计算机网络概论 1、计算机网络概述 1.1、概念 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统 是一些互连的、自治的计算机系统的集合 以能够相互共享资源的方…

【Git】Git 变基(rebase)以及rebase和merge之间的区别

Git 变基 1.变基 — rebase 在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。 在前面的文章中已经介绍了merge,这里我们来学习另一个指令rebase。 变基的基本操作 回顾之前在 分支的合并 中的一个例子,在该例子中&am…

go Gorm连接数据库,并实现增删改查操作

Gorm 1. 准备工作 首先进入终端下载我们需要的包(确保go和mysql安装完成,并设置了环境变量) go get -u gorm.io/driver/mysql go get -u gorm.io/gorm有两份官方文档有对 GORM 更详细的讲解。 创建 | GORM - The fantastic ORM library f…

EndNote21 | 账户同步问题

问题:无法同步,提示如下图所示。 原因:网络问题。 解决方法:国内网络无法实现同步,解决上网问题即可。

【数据结构】结构实现:顺序存储模式实现堆的相关操作

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:数据结构 🔥该文章着重讲解了使用顺序结构实现堆的插入和删除等操作。 目录: 🌍二叉树的顺序结构&#x…

什么触控笔好用又便宜?ipad2022手写笔推荐

随着无纸化的广泛使用,和Apple pencil的出现,电容笔逐渐成为生产力的主要部分,像中性笔一样的电容笔,它不止具有小巧的身材,续航和功能都很在线,无论是在学习上还是工作上,电容笔逐渐成为人们缺…

Jenkis 配置钉钉通知

1、安装插件Ding Talk 2、钉钉上的配置 打开钉钉创建机器人,勾选加签,后面jenkins要用到 2.1 webhook -jenins界面要配置的地址:https://。。。。。。 2.2 jenkins 界面的加密地址 3、jenkins界面上的配置 在系统管理中找到安装好的插件&a…

部署docker image到AWS

1. 在AWS里创建ECR 仓库 2. 进入自己的Repository. 然后点击View push commands 3. 记一下这些命令 4. 登陆AWS cloud9 , 利用git clone 你的代码 5. 依次执行步骤3里的所有命令。最后你发现你的ECR里有了一个docker镜像 aws ecr-public get-login-password --region us-eas…

(CVPR-2023)InternImage:利用可变形卷积探索大规模视觉基础模型

InternImage:利用可变形卷积探索大规模视觉基础模型 Title:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions paper是上海AI Lab发表在CVPR 2023的工作 paper链接 Abstract 与近年来大规模视觉变换器&#x…

【Vue】入门及生命周期(前后端分离)

目录 一、Vue简介 1、Vue.js是什么 2、库和框架的区别 2.1 库(Library) 2.2 框架(Framework) 3、MVVM的介绍 二、Vue入门 1、Vue快速入门 2、Vue的优势 三、Vue事件 四、Vue生命周期 1、实例 一、Vue简介 1、Vue.js是什么 Vue是一款流行的构建用户界面(UI)的[渐进式…

vue3-admin-element安装

1、直接点此链接进入下载 https://gitee.com/hu-snail/vue3-admin-element-template 2、下载完毕之后是个压缩包,解压 然后直接可以运行到vscode或HBuilder中 3、下载依赖:我使用的npm下载 npm i npm i serve启动 运行:npm run serve …

【力扣】三角形最小路径和

目录 题目 例子 示例 1: 示例 2: 前言 思路 思想 代码 调用的函数 主函数 所有代码 力扣提交的代码 运行结果 小结 题目 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结…

分布式事务基础理论

基础概念 什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必 须全部成功,事务才算成功,任一个活动失败,事务将撤销…

BUU 加固题 AWDP Fix 持续更新中

BUU Ezsql 首先连接上ssh。输入账号密码。 到/var/www/html目录下&#xff0c;源码在里面。 主要是看index.php文件。 <?php error_reporting(0); include dbConnect.php; $username $_GET[username]; $password $_GET[password]; if (isset($_GET[username]) &&am…

shared library

原文、 shared library compatible vs incompatible compatible library 函数的工作场景没有变化 所有的函数对全局变量和返回参数产生相同的影响所有的函数继续返回相同的结果值提升性能 fix bugs 没有api 被删除可以有新的api加入 export 的结构体没有变化 违反以上各条的…

c++八股day2-虚函数表和虚函数表指针的创建时机

虚函数表和虚函数表指针的创建时机。 背景&#xff1a;用来实现多态&#xff08;包括静态多态和动态多态&#xff09;&#xff0c;多态的原理就是虚函数表和虚函数表指针 虚函数表的创建时机&#xff1a; a.什么时候生成的&#xff1f;编译器编译的时候声生成的&#xff0c;…