热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

西门子opcua,opcua开发教程

OPCUA(UnifiedArchitecture,统一架构)是下一代的OPC标准,通过提供一个完整的,安全和可靠的跨平台的架构,以获取实时和历史数据和时间。OPCUA基于OP


统一架构(OPC ua )是新一代的OPC标准,它通过提供完整、安全、可靠的跨平台体系结构来捕获实时数据、历史数据和时间。


OPC UA基于OPC基金会提供的下一代技术,将原始数据和预处理信息从制造级传输到生产计划或ERP级,这些信息安全、可靠且与供应商无关。 通过OPC UA,所有需要的信息随时随地对每个许可的APP应用程序,所有许可的人都可用。 该功能独立于制造商的原始APP应用、编程语言和操作系统。 OPC UA是当前使用的OPC工业标准的补充,提供平台独立性、可扩展性、高可靠性、连接互联网能力等重要特性。 OPC UA不依赖DCOM,而是基于面向服务的体系结构(SOA ),提高了OPC UA的易用性。 目前,OPC UA是微软、UNIX或其他操作系统企业层与嵌入式自动构建之间的桥梁。


统一访问


传统OPC COM的特性是将不同的功能分布在多个COM服务器上,通过接口连接表现出不同特性的功能。 OPC COM服务器提供报警,但不提供对连续触发报警的数据的访问。 例如,提供保存历史数据的OPC COM服务器不允许读取和更新当前数据。 此特性会导致集成问题,因为无法以一致的方式访问单个系统中的信息。 OPC UA解决了包含多个可用信息的公共地址由一个服务器访问的集成问题。


提高身份验证互操作性


OPC UA的特性通过了与成功的OPCCOM认证程序同样提供的服务器和客户端测试工具。 这些测试工具使供应商能够验证产品是否满足特性要求,并提高产品质量。 一旦OPC UA和OPC COM的特性得到认证,就可以获得适当的认证标记,使用OPC认证产品可以降低最终用户的系统集成成本。


设计的可靠性


OPC UA旨在提供可用性和冗馀体系结构。 完全可配置的超时、错误检测和恢复功能使OPC UA产品能够无缝处理错误和失败(如网络通信丢失)。 支持标准冗馀功能的OPC UA模块允许从不同制造商的APP应用程序中部署。


跨域防火墙和互联网


OPC UA从客户端启动通信通道。 这意味着不需要像OPC COM那样将客户端配置为允许访问服务器。 OPC UA可以通过标准HTTP或UA TCP端口或管理员希望打开的其他端口进行通信。 OPC UA使用基于安全的金额消息,这意味着它可以通过第三方代理进行通信。


通过信息模型缩短配置时间


OPC UA体系结构提供了基本的APP模型,供应商可以提供特定APP应用的信息模型,从而大大降低了这些模块的配置和维护成本。 OPC基金会与MIMOSA、FDI、PLCopen(iec61131 )组织合作开发OPC UA信息模型。


标准安全模型


以前,安全问题是最后一个考虑因素,但许多供应商没有测试产品的安全许可证。 这意味着很难或者根本不可能为最终用户配置安全性。 OPC UA架构通过标准的、ua APP必须实现的安全模型解决了这个问题。 这样可以提高互操作性,降低配置和维护成本。 OPC UA有助于开发适用于任何平台的OPC UA产品的安全设置管理的标准工具。


从嵌入式系统到企业级的单一解决方案


轻量级的OPC UA可以用作有效的二进制通信协议。 例如,OPC UA已经移植到许多嵌入式系统中,包括VxWorks、Linux和自己的实时操作系统(rtoss )。 的OPC ua APP应用程序支持企业标准的XML页面服务合同。 通用的体系结构可以降低系统集成的成本。


保护现有的OPC COM投资


OPC UA COM的互操作性组件允许供应商允许现有的OPC COM客户端和服务器APP应用程序支持OPC UA。 这些组件是通过添加所需的OPCUA高级功能来定制的。 这意味着用户可以继续利用OPC COM技术投资来开发新的OPC ua APP。


历史性事件


OPC UA通过支持历史事件扩展了OPC COM历史数据访问(HDA )的能力。 最终用户可以从所选的OPC UA客户端获取事件信息。


在不损失性能的情况下实现平台的独立


OPC UA体系结构旨在提供最佳性能,同时提供平台独立性。 这意味着开发人员不仅可以选择通过http使用SOAP/XML,还可以使用熟悉的语言和操作系统开发基于OPC UA的APP应用程序。 平台独立性对Windows用户来说也非常有价值,因为它可以将APP应用程序迁移到下一代微软通信技术。 这也意味着OPC UA产品的供应商在遇到技术问题时可以有更多的选择,例如,以前的通信技术过时,或者有可能无法设置的较长超时时间。


高性能的通信协议


OPC UA特性定义基于TCP的二进制通信协议,以最小的开销提供最快的性能。 在企业环境中,SOAP/XML通常用于通信协议。 在打包为符合SOAP/XML标准的消息之前,OPC UA通过用UA二进制文件对消息进行编码,使性能提高了普通XML消息的10倍以上。 此架构的优点是提供使用SOAP/XML的格式,但在发送之前会降低

低其复杂性和XML的大小。


Windows通信基础 (WCF)

OPC .Net SDK使用WCF提供对XML Web服务的支持。这种架构意味着在企业应用中所有基于OPC UA .NetSDK应用可以继承微软的 XMLWeb服务的湖操作性。

 

通过OPC UA SDKs降低开发成本
基于OPC COM特性的开发者都知道要求创建互操作性的应用中,接口只是很小的一部分代码。基于这个原因,OPC基金会提供的OPC UA.NET SDK可以为开发者提供更多的选择,只需要很少的几百行代码就可以实现兼容于OPC UA 的应用。开发者还可以选择提供给OPC 基金会成员的商业化的SDK。这些 SDK将大大降低开发成本,供应商也将更多的精力关注在位客户提供更有价值的产品。最终用户同样可以从SDK中获益,因为采用的是公用的架构,将少了不同应用之间的互操作性问题。

 

采用方法和程序的增强特性
已经现有的OPC COM特性关注于数据或时间,但很多应用要求能减少单一数据值或事件的复杂操作。通过OPC UA方法,服务器允许客户端通过一序列参数触发复杂功能。通过触发事件汇报进程函数可以用来控制后台流程。

 

面向对象的信息模型的灵活性
OPC UA采用基于面向对象的设计信息模型。服务器开发者可以利用这么模型开发可重用的组件。客户端开发者可以基于标准对象模型建立标准的组件,可以使用在不同的服务器甚至不同供应商的应用中。


为什么使用新的架构
已有的OPC COM在过去的10年一直作为OPC的通信标准,但是技术的发展要求更多的互操作性:
1微软逐步淡化COM,而跨平台的Web服务和SOA逐步加强

2 OPC的供应商希望一套担心的服务实现OPC数据模块(DA,A&E,HDA….)

3 OPC供应商希望在非微软的平台,包括嵌入式设备实现OPC功能

4一些合作组织需要一个可靠的,有效地方式实现高水平结构数据的转移

 

PS1:面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

PS2:就软件而言,互操作性——这条术语用来描述的是不同的程序(programs)借助于同一套交换格式(exchange formats)来交换数据,读写相同文件格式(file formats)以及采用相同协议(protocols)的能力。

 

OPC UA—物联网安全解决方案

随着科技技术的不断演进,数字化成为自动化行业内一个非常重要且极具吸引力的市场,其目标是将IT技术与产品、系统、解决方案和服务进行融合,贯穿于从研发设计到生产到技术维护的整个产业链。同时,工业数字化的发展也带动了一些新兴的市场,如数字化产品和系统数字化、软件解决方案和新数字化服务的快速发展。

目前,物联网正将一些传统行业与基于IP技术的行业进行整合,这是数字化发展的引擎,而标准化的核心是M2M通讯,多年来,诸多公司和行业协会如OPC基金会一直参与并推动这些标准化发展。

在当今复杂的经济社会环境下,信息对业务和盈利而言起着至关重要的作用。OPC技术发明的初衷就是为了让这些信息在不同的平台间实现畅通无阻的交换,让平台之间实现零成本零耗时的无缝对接。由此而节省的软件开发时间及释放的工程资源可以被用来做对业务更重要的工作。而随着时间的推移,OPC不仅仅起着对接作用,他更是保障您信息安全的不二选择。

今天,工控小编要为您讲的就是OPC UA提供的关于物联网安全的解决方案。

 

将设备接入互联网后会有哪些危险

物联网(IoT)是一个全球自动化行业的愿景,即将数十亿台智能设备通过互联网相互协作。然而,物联网潜在的应用程序很多,风险也很大,因此暴露在互联网上的设备也会面临被黑客攻击的风险。为了降低这些风险,许多工厂操作员转向支持MQTT或AMQP等协议的代理。这些协议允许设备被保持在防火墙后以保安全,但仍然能够与对等设备和基于云的应用程序通信。不幸的是,这些解决方案要求工厂运营商,通过第三方提供商管理的代理发送一些较为敏感的信息,这对于许多应用程序来说,是不可接受的。幸运的是,OPC UA有一个端到端的安全解决方案,可以确保通过代理发送数据的隐私性和完整性。

 

 

通过发布-订阅增强OPC UA

OPC UA PubSub是流行的OPC UA协议的扩展,该协议允许应用程序通过中间代理(如MQTT代理)向多个订阅者发布消息。OPC UAPubSub消息可以用XML、JSON或高效的OPC UA二进制格式进行格式化。当使用后一种方式时,发布者可以在将消息发送给代理之前对其进行加密和数字签名,以确保除了目标接收者之外没有其他人能够读取或修改消息。这将保护发布者的数据,即使代理在消息等待交付时存储在磁盘上。

 

通过共享密钥来实现这一切

发布者和订阅者需要共享密钥才能安全地进行通信。这是通过使用称为“安全密钥服务”(SKS)的特殊OPC UA服务器来实现的。需要密钥的应用程序使用OPC UA客户端-服务器协议安全地向SKS提供凭证。SKS决定它们是否有权访问请求的密钥,并返回一个或多个密钥。此过程需要多个键,因为它们经常变化,以此确保在必要时,应用程序可以在合理的时间内从系统中删除。

 

安全性已有所保证,那么元数据呢?

丰富的OPC UA信息模型,允许应用程序使用与应用程序域匹配的术语和构造来表示它们的系统,这个信息模型也是OPC UA PubSub的一个重要部分,因为它提供了描述将要发送给broker消息内容的总体框架。OPC UA PubSub规范并定义了通知订阅者消息结构已更改的机制,同时允许发布者将新的元数据发送到带内或带外。而其他解决方案则期望订阅者处理已知的消息内容,或者依赖特定的规则来解析JSON或XML。

 

未来的发展之路

任何希望利用物联网的工厂运营商都将受益于OPC UA提供的安全工具箱,当数据流抛出由第三方管理的系统时,该工具箱有助于确保隐私的安全性和完整性。当与OPC UA信息建模框架结合,以及在许多现成的OPC产品中广泛采用时,工具箱将成为首屈一指的工具。

 


推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 阿里首席架构师科普RPC框架
    RPC概念及分类RPC全称为RemoteProcedureCall,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • SOA架构理解理解SOA架构,了解ESB概念,明白SOA与微服务的区别和联系,了解SOA与热门技术的结合与应用。1、面向服务的架构SOASOA(ServiceOrien ... [详细]
  • 序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方 ... [详细]
  • 我正在尝试删除我的文件夹之外的所有电子邮件帐户.收件箱使用python3和exchangelib。在testFolderaccount.rootTopofInformationSt ... [详细]
author-avatar
mindylee
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有