0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

工业自动化技术栈,有哪些相关的主流项目?

发表时间:2023-10-12 09:02:33

文章来源:炫佑科技

浏览次数:143

菏泽炫佑科技

工业自动化技术栈,有哪些相关的主流项目?

了解开源运动推动工业自动化发展*有说服力的方式,就是了解那些通过使用开源软件和开放标准而走红、在工业领域取得长足进步、引领潮流、得到了广大用户的认可和支持。 致力于推动开源软件在行业应用的公司和基金会组织。 当然,你还应该了解围绕工业自动化技术栈有哪些相关的主流开源项目。

1. 成功使用开源软件的工业自动化公司

01 受益于开源SCADA软件公司

该公司成立于2005年,专注于工业软件中的SCADA软件系统,被誉为全球发展*快的SCADA公司。 公司开发和管理的社区在美国及全球工控界享有盛誉。 通用工业自动化平台(图 1)以低成本的单一服务器许可证无缝连接所有数据,轻松设计任何类型的工业应用程序,并立即将不受限制的工业和移动客户端部署到任何人、任何您需要的地方。 该平台提供SCADA、IIoT、MES、HMI、报警、报告生成、边缘计算、移动通信和企业应用等功能。 平台服务器可以使用多种通信方式(如MQTT服务器和MQTT传输模块、具有MQTT通信功能的设备、Edge网关等)与PLC、RTU远程终端单元、边缘计算设备、业务应用LOB( ERP、大数据、客户关系管理CRM等),还可以与基于网络的工程设计终端以及网络驱动的客户端、图形显示HMI、移动终端进行通信(见图2的SCADA系统)。

图1 公司平台图标

提到开源软件的重要性,该公司创始人明确表示:“我们存在是因为我们可以在开放标准的基础上进行开发。它帮助我们尽快取得了今天的成就。” 该公司还非常重视引导*终用户了解开放软件运动对工业软件技术的影响,例如在2018年社区大会上,IBM英国和爱尔兰首席技术官、联合发明人Andy Clark MQTT 的联合创始人、Link 总裁兼首席技术官 Arlen、基金会执行董事 Mike 以及该公司软件工程联席总监 Colby Clegg 受邀专门讨论了这一问题。

图2 基于平台的SCADA系统

2019年以来,为了实现“让集成变得简单、有趣、实惠”的目标,继续努力服务“梦想家和实干家”,我们推出了基于四大支柱的全新SCADA,重点减少由此带来的障碍和冲突通过不同行业的解决方案,打造领先的解决方案平台。 这四大支柱是:新技术模式、新许可模式、新商业模式和新道德模式。 新技术模型利用开源而构建,符合物联网和行业标准,具有开放接口,并且几乎可以在任何操作系统上可靠运行。 新的许可模式是零麻烦的许可模式,与服务器一起出售的许可证是经济实惠的许可证,对客户端或数据标签没有限制。 新的业务模式平衡了开发(新创新)、质量保证、营销、销售、支持、财务、培训和其他 20 个功能,致力于将新的用户体验融入到运作良好的管道中。 新道德模式的核心是热爱公司所从事的业务及其创造的软件,热爱社区,持续服务用户群体,不以牺牲用户群体的利益来获取利润,更不出售产品。公司因为成功。 建立在这四大支柱之上的是世界上**个真正通用的工业应用平台,可以连接整个企业的所有数据,快速开发任何类型的工业自动化系统,并不受限制地扩展系统。 通用工业应用平台的特点包括:无限制的许可模式、以服务器为中心的互联网部署、模块化配置、跨平台兼容性、强大的可视化性能、采用开放和标准化的技术(如SQL、OPC UA、MQTT、 ),为IT和OT之间建立沟通桥梁,可连接大型数据库和PLC,在通用的集成开发环境IDE中构建HMI、SCADA、MES、IIoT、报警、报表生成等应用,实现快速开发和部署。

成为开放自动化的典范

受到 Pi等开放架构社区的启发,德国于2017年11月正式推出了集实时控制和非实时任务执行于一体的PLC系统架构。 作为引领工业自动化领域潮流的开源控制系统,很快得到了倡导开放过程自动化OPA的埃克森美孚工程师的认可,并将其引入实验基地,提供基础计算和可配置I/O。 除了具有传统PLC的性质外,它还是一个支持Linux的设备,允许使用传统的-3语言以及C++、C语言等编程语言。 它还可以在几乎任何IDE中使用,例如4DIAC(基于开源开发平台)、(集成开发环境)编译器。 这恰好符合埃克森美孚所追求的开放式自动化理念,有助于实现不依赖于一个供应商,而是使用多个软硬件供应商来构建符合O-PAS系列的开放式控制系统的目标。标准。 为确保互操作性、配置可移植性、应用程序可移植性和互换性奠定基础。

开放架构的控制系统(见图3)为OT与IT的融合提供了解决方案。 通过建立开放式实时操作系统、开放式编程环境、开放式通讯接口、开放式用户界面四大开放平台,将传统稳定的PLC与现代软件工程的灵活性、开放性相结合,满足智能家居的日常需求。制造业。 在实现系统中传统PLC实时控制的同时,引入非实时任务或其他基于互联网的非实时处理任务,依靠全局数据空间中间件GDS提供不同的实时性数据处理方法和非实时数据处理方法。 数据交换方式。

图3 系统架构

(来源:网站

系统架构是运行在Linux操作系统上的开放固件平台(带有OSADL实时补丁)。 在实时 Linux 操作系统的背景下,所有控制器都包含适用于传统 PLC 的 -3 操作环境。 固件形式的各种组件构建了其核心功能。 这些核心组件包括系统组件、服务组件、I/O组件和中间件。 中间件起着将固件平台与操作系统隔离的作用。 为用户提供使用公共类集合调用系统功能(例如文件操作、套接字服务或线程服务)的可能性。 中间件中包含的全局数据空间GDS是该技术的一个特殊组件,它通过所谓的“数据端口”确保各个组件实时数据交换的一致性。

系统组件

技术的所有基本功能都是由系统组件实现的。 系统组件包括:系统管理程序和PLC管理程序(这两个组件启动所有其他组件并监控系统的稳定性); 用户管理程序基于标准的Linux用户管理并提供技术内容。 保证执行不同的任务。 每个技术流程都是通过执行用户定义的任务来启动的,以便每个组件只获得所需的访问权限; eCLR - -3 的程序; 执行和同步管理器 ESM 使技术能够以实时方式执行 - 3. C++ 和 C++ 程序的独特功能允许程序员使用上述编程语言的组合来创建应用程序,而无需做出任何妥协。

»维修零件

服务组件提供附加功能以及对 ESM、GDS 和所有其他系统组件的访问。 服务组件包括:OPC UA、网关、基于 Web 的管理、PC Worx HMI(HTML5 Web 虚拟化)、跟踪控制器(使用 LTTng 进行跟踪)。

输入/输出组件

(现场总线管理器)现场总线管理器将技术与已实施的现场总线堆栈连接起来。 所有接口尽快以通用方式实现现场总线协议。 已发布的版本可用于以下现场总线协议:RT 控制器、RT 设备(本地总线)。

使用技术的*简单方法是在ESM的实时环境中创建用户程序。 用户程序可以是用PC Worx-3编写的程序、C++程序或模型,或这些编程方法的任意组合。 使用GDS中存储的数据端口,程序员无需担心不同任务和程序之间的数据交换,并且这已经在技术上得到了完全管理。 换句话说,执行和同步管理ESM采用专利的任务调度方法构建(见图4),并在全局数据空间GDS的支持下,保证了编写的实时控制程序任务—— 3.与用户一致。 用其他高级计算机编程语言编写的非实时处理程序任务可以同步交换数据,解决了在同一运行环境中执行实时和非实时任务的问题。 例如,在图5中,任务1是实时控制程序1,扫描时间为1毫秒。 任务 2 由三个程序组成。 程序2是用user编写的,程序4是用C++编写的,程序5是用-3标准编写的一段; 执行周期为500ms。 任务3的程序3用C++编写,执行周期为3ms。 在ESM的调度下,首先执行任务1,然后执行任务2的程序2,然后执行任务3的程序3,*后执行任务2的程序4和程序5。

图3 系统架构

(来源:网站

图4 系统中的执行和同步管理ESM

(来源:网站

自动软件开发模式_自动化软件开发_自动化打开软件

图5所示为系统执行实时控制任务和非实时处理任务的流程。

(来源:网站)

这是与其他系统需要构建两个不同的运行环境来同时执行控制系统中的实时任务和非实时任务的一个重要区别。 这也正是因为其独特的技术方式,让工程技术人员在享受传统工控编程语言的可靠性和稳定性的同时,也能够在IT领域自由采用灵活有效的编程语言,满足新的需求。市场和用户不断提出的要求。 因为技术的一个基本特征是它允许用户选择使用首选或偏爱的编程工具来完成任务,所以这种自由被传递到整个系统。 例如,如果功能、协议或编程语言缺失,用户可以自行集成或合并这些,而无需通过控制器提供商。 如果不是所有东西都必须由运行时环境封装,用户也可以直接使用众所周知且广泛使用的操作系统。 例如,对于高级语言程序员来说,实现MQTT协议栈很简单。 早期采用者社区中的其他用户已经使用该库实现了用于图像和视频分析以及对象识别的应用程序。 例子包括将技术与谷歌的数字助理 Alexa 集成; 连接到 Redis 数据库或集成 Java 运行时以便能够使用 Java 进行编程; 并为基于 Web 的自动化应用程序实施 Node.js。 简而言之,用户可以通过技术实现进一步的想法,所有感兴趣的团体和个人都可以加入社区并与社区参与者讨论他们的项目。

随着新的商业模式的创建,它们正在受到集成商、*终用户、甚至想要销售基于该技术的组件的第三方供应商的欢迎。 通过它,可以购买功能甚至完整的应用程序,获得许可并将其下载到控制器。 此外,系统更新和其他内容将通过此渠道提供,使*终用户下载它们就像获取和安装移动应用程序一样容易。

03 边缘可编程工业控制器的实际技术超越了程序员、用户和制造商几十年来建立的思维方式。 在过去很长一段时间里,用户只能通过强行捆绑软硬件系统、内部运行环境以及许多专有功能来将用户绑定到特定的公司。 技术已经突破了这一障碍,进入了开放自动化时代。 域,允许每个用户扩展和定制解决方案以满足他们的个人需求。 这种新的自由度一开始肯定是陌生的。 然而,一旦用户接受了这一原则并熟悉了系统,他们就可以从工业4.0时代的无限可能性中受益。

轻松使用开源软件

如今,水力压裂和水平钻井并不是德克萨斯州南部油田唯一有利可图的技术。 开源软件已稳步渗透到工业自动化领域,并为系统集成公司提供了机会。 例如,服务公司依靠开源软件来实现拖车式移动抽油机的自动化。 抽油机可通过移动设备直接控制水泵,实现压裂水远程管理,自动监测流量和水位。 他们使用的开源技术内置于 groov EPIC 中,这是 OPTO 22 开发的边缘可编程工业控制器。其中一个控制器安装在移动抽油机上,为控制器添加了通信、可视化和安全功能(配备了 /柴油发电机组TCP接口)监控抽油机。 groov EPIC 控制器和 I/O 模块不仅可以监控排放水平、吸力和流量,还可以向发电机组控制器发送信号以启动和停止大功率水泵。 它还可以从发电机组控制器提取泵速和相关远程数据。 每个控制器使用完全独立的网关通过 /TCP 从无线传感器接收数据。 groov EPIC 控制器使用两种内置开放技术将数据发布到数据中心的服务器:来自 的 Node-RED 编程工具和来自 Link 的 MQTT 发布订阅通信协议。 由于控制器通过每辆拖车上的无线互联网协议设备连接到蜂窝广域网,因此现场技术人员还可以通过平板电脑连接到网络进行远程操作。 以上描述的只是边缘可编程工业控制器的SCADA应用场景。

OPTO 22对开源软件的工业应用持积极态度。 他们的立场用他们在接受采访时的话说:“我们是巨大的支持者,我们拥抱它。无论是SCADA、过程控制还是离散应用,开源软件提供的解决方案类型都给我们带来了很大的灵活性。” 在groov EPIC中,使用带有RTR扩展的Linux操作系统(一个开源数据库)、Jedi Web服务器、Node Red、MQTT和B。 所有这些都是开源的并内置于 EPIC 中,让客户有机会使用 SCADA、物联网或传统自动化应用程序来实现新功能。

OPTO 22的边缘可编程工业控制器groov(见图6)的软件架构分为云端和边缘两层。 上层有OT数据中心,内置SQL、OPC UA、数据库; 在云端,您可以根据需要选择亚马逊的AWS或Cloud。 、IBM 或微软的 Azure。 Edge控制器配备了PAC、Node-RED可编程视觉设备开发工具、美国公司基于互联网的工业自动化软件,以及Edge、OPC UA、MQTT/、OPTO 22自主开发的groov view和groov,以及就是ssh(密码网络协议,旨在为不安全的网络提供安全的操作服务)。 在一个集成开发环境中集成如此多的外包或开源软件能够顺利运行,得益于Linux的开放环境和多核硬件架构。

图6 OPTO 22的软件架构

(来源:OPTO 22网站)

2 工业自动化开源的重要推动者

“软件正在吞噬世界”这句话出自 Mark 几年前写的一篇博客文章。 他指出:基本上所有的投资都流向软件,这正在颠覆传统行业。 从某种程度上来说,整个数字化转型几乎发生在人们能想到的每一个垂直行业,这就是“软件正在吞噬世界”的体现。 但如果你看看软件行业,那些在软件之旅中走得*远的人或组织,他们已经掌握了使用和参与开源和开源社区的艺术。 原因是,即使像微软这样的大公司也无法构建完整的端到端解决方案并快速创新。 只有开源才能解决问题。 因此这些年来大大小小的开源项目及其社区频繁创建,而这些项目往往得到一些知名的开源基金会的支持,比如Linux、Linux、Linux等工业自动化技术栈,有哪些相关的主流项目?,这些基金会绝大多数都是这样的。除在特拉华州注册的企业外,均集中在加利福尼亚州。 多年来,基金会发现 70% 的付费会员和 70% 参与基金会项目的提交者都在欧洲。 所以随着时间的推移,该基金会基本上变成了一个欧洲组织。 同时,欧盟和欧洲各国政府有很多不同的策略,考虑到数字主权、公民隐私、道德AI等,因此欧洲创建优秀的开源基础并获得国际影响力和声誉是必然的。 这也是该基金会这个国际非营利组织将其合法注册地从美国转移到比利时的原因。 下面重点介绍工业自动化开源软件的几个重要推动者,例如Linux基金会和基金会。

基础

它对IT软件的走向有着巨大的影响。 它资金雄厚,年收入数十亿美元,增长非常迅速,并为开源软件项目的开发人员提供了巨大的资源。 它为开发人员提供了一个中立、值得信赖的中心,用于编码、管理和扩展开放技术项目。 据称,Linux基金会已经接管了近200个大型开源项目,这些项目拥有惊人的开发资源,同时还服务于750个开源项目社区。 这些项目拥有如此多的影响力和资源,从本质上来说,Linux 基金会正在挑选这个领域的赢家和输家。 但对于自动化行业来说,组织是由IT管理的,因此他们为这些软件开发人员和团队提供了很多功能。 他们希望在 NFD(网络功能虚拟化)之上放置一个重型计算层,并将这些功能保留在软件中。

图7 Linux基金会服务750个开源项目

(来源:Linux基金会2021年年度报告)

Linux基金会强调中立性和中立治理的重要性,采用开放的治理模式,鼓励其他组织参与,在“参与和为项目做出贡献的人为项目社区做出决定”的政策下(“do- ”)和贡献。 在 2021 年年度报告中,基金会继续履行其承诺,推出新的和推进现有的包容性、种族正义和多样性计划,为代表性不足和边缘化社区带来积极的变化。 构建多元化、包容性的社区,让不同社会阶层、不同文化、不同国家、不同肤色的独特想法和贡献能够呈现给社区; 通过允许来自不同背景的个人注入新的创新想法来进步 一个包容和欢迎所有人的生态系统。

Linux 基金会还支持开放硬件多样性联盟,这是一个 RISC-V 孵化项目,其使命是将开放硬件社区聚集在一起。

Linux 被认为是现代控制系统和物联网设备*常见的操作系统。 采用开放的操作系统,用户可以使用经典的-3库和集成的开源包,也可以直接使用C/C++编程来实现控制任务。 得益于开源概念,现成的单独程序和源代码现在几乎可以用于任何任务或功能。 通过Linux 社区,程序、库和源代码不断得到进一步开发,并以新变体形式在可免费访问的存储库(例如在平台上)中提供。 开源社区有助于解决问题,但也希望更多的人参与解决问题。 这是自动化工程师越来越多地重新思考他们的工作的主要原因之一。 通过免费提供源代码,开源程序通常比制造商的专有和封闭软件吸引更多的开发人员。 因此,开源程序的质量和运行稳定性通常高于商业软件。 而这些因素在工业应用中具有决定性的重要性。 对于开发者和公司来说,积极参与社区都是值得的。 如果您觉得对您的工作有帮助,请将发现的问题、扩展报告和反馈发送到您正在使用的开源项目的存储库中,以造福更多的人; 同时,使这些组件更加安全、定期更新并提供更高的质量。

Linux 基金会正在致力于贡献、赞助和管理数十个支持工业物联网和边缘计算等技术的项目。 例如,EdgeX是一个中立的开源项目,为物联网边缘计算和可互操作组件的生态系统提供通用的开放框架,希望能够统一市场并加速企业和工业物联网的作用。 该项目的共同目标是简化和标准化工业物联网边缘计算,同时允许生态系统增加显着的价值。 EdgeX 利用云原生原则,包括微服务和平台独立性,但其架构旨在满足物联网优势的特定需求,包括适应基于 IP 的连接协议,也可用于非基于 IP 的连接协议,适用于广泛分布的计算节点提供安全性和系统管理并扩展到高度受限的设备。 EdgeX经历了快速的改进,从*初的2.5GB内存到128MB内存,适合嵌入传感器和控制设备。

基础

它是一家总部位于比利时的国际非营利协会,拥有300多名会员支持,并秉承基金会独特的工作组治理模式、开放式创新流程和社区建设活动。 该基金会*初的项目由IBM于2001年11月创建,并于2004年1月正式成立,旨在促进和支持开源软件协作和创新。 如今,它是 IDE、EE 和 350 多个开源项目的所在地,涵盖广泛的技术领域(例如物联网、汽车、地理空间、系统工程等)的运行时、工具和框架。 它为个人和组织的全球社区提供了成熟、可扩展、商业友好的开源软件协作和创新环境。 该基金会的董事会包括博世、IBM、SAP 和甲骨文等公司,这表明这些非常认真的公司和行业领导者已经意识到他们需要拥抱开源作为业务战略的关键推动者。 在基金会的众多项目中,有多个与工业制造数字化相关的开源项目,例如基于分布式控制系统的开发平台4diac,需要在其中实现OPC UA客户端和/或服务器端功能。基于 JVM 的项目。 所有工具包括提供工业4.0解决方案的下一代自动化开源平台BaSyx Milo、为MQTT提供客户端无缝集成框架的软件规范以及工业4.0资产管理外壳开发平台软件AAS等。

该基金会的成立是为了服务开源项目和社区。 作为一家独立的非营利公司,基金会和治理模式确保没有任何实体能够控制社区的战略、策略或运营。 该基金会正在与其研究和工业合作伙伴一起推动成立一个专注于开放式工业自动化的工作组。 目标是将工业级开源软件带入车间,通过提供可靠的开源技术,满足工业和中小企业迈向数字化工厂的需求。 发展需要。 该工作组为创新公司提供了一个机会:分担开发可靠开源软件的精力和成本; 根据自己的需求积极塑造软件开发,以避免供应商锁定的专有解决方案并加快上市时间。 这是基于该基金会的共识,即“封闭且专有的系统限制了工业自动化的发展”。 自上世纪计算机首次进入车间以来,工业自动化中使用的基本概念和计算范例并没有太大变化。 大多数创新仅限于特定供应商专有的生态系统。 随着互联网和随之而来的数字经济的出现,供应链和市场确实发生了变化。 然而,工业自动化并未充分发挥其潜力。 在封闭和专有环境中使用的过时计算概念限制了新的生产能力和商业模式,而这些能力和商业模式只能在开放和高度互连的系统中实现。 显然,只有那些首先克服这些障碍的公司才能获得竞争优势,而这来自于易于理解、网络化和适应性强的开源开发流程所带来的灵活性。

该基金会的开放工业自动化工作组(Open Group)提供了一个供应商中立的治理结构,允许组织自由协作开发新技术。 其核心原则有助于确保开发一个可靠、开放的平台,可以自由使用、调整和重新分发,并与用户需求和战略目标保持同步。 该工作组还明确关注开源、解决实际问题并在生产环境中可靠运行的代码。 除了为开源工业自动化软件提供治理和基础设施外,该工作组还支持开放环境和功能中的现有标准和互操作性:

1)兼容性:生态系统将有能力扩展以支持现有和即将推出的标准和技术,例如新的通信标准或数据格式。 该工作组欢迎希望使其标准或产品与我们的生态系统兼容的组织。

2)集成:工作组提供的技术获得 2.0许可,将形成一个提供基础技术和解决方案的开放平台。 商业或开源产品可以构建在该平台之上。

3)标准化:工作组致力于标准化所提供技术的核心要素。 一个重要的例子是 BaSyx 项目 Asset Shell,该项目目前在德国行业协会之间实现标准化,可以为工作组中的互操作性提供支柱。

自动化打开软件_自动软件开发模式_自动化软件开发

4) 实践:工作组将收集参考解决方案并提供用于实施下一代生产环境的教育材料。

03微软的贡献

微软已经成为开源软件扩散的重要因素。 过去,微软并不热衷于开源。 它甚至在十多年前、二十多年前就认为开源是祸害和“共产主义”(微软时任CEO史蒂夫曾在一份声明中这么说过),但现在却一直在宣扬。 Linux 已被放置在 Azure 上,并加入了开放发明网络 (Open),这是一个帮助保护 Linux 免受专利诉讼的组织。 此外,微软不仅向开源网站贡献了2000多个项目,如Net Core、VS Code等,还收购了一个流行的数字蜂巢,用于开源代码共享和协作。

3 Brief of open of open stack

Open has a for and IT . when it comes to that are to 4.0 and smart (such as data , , , event and data , and twin , etc.), how to rapid in the of , it is very to pay to and in open .

, the open stack basic , code that can be in other , and .

Open basic to open . Linux bears the brunt, as and most edge Linux as the open . RT-Linux real-time or real-time on top of Linux. The real-time and real-time -RT, the -Patch of OSADL (Open ), and so on.

There are many open that are for 4.0 . The IoT group has 28 IoT , some of which are to 4.0. There are also some open such as the and the Linux , which also have to 4.0.

The lists open that can be used in 4.0 and smart for ' (see 8).

8 Open to 4.0 and smart

(: of Group)

(1) Open

The open of 4.0 allow to be , and -. open the :

OPC UA - Milo is a of OPC UA. It is in Java and for both and . () is a C stack of OPC UA, which is OPC UA under (MPL). The OPC also a Java of OPC UA under the GPL for non-.

MQTT/ - Paho and and of the MQTT . Use C to the MQTT , and Paho uses ​​​​to the MQTT , C, c++, Java, etc. is an open that a for MQTT to data from their , , , and the MQTT . In fact, MQTT is only a layer and a with . The Tahu is an of this . an open and free for how or MQTT- end and MQTT can an MQTT . The of MQTT/B in are in:

1) : The B MQTT for by roles and data . MQTT from can , , and use data the of the . Even owned and can be .

2) : The key need for in is met at this level a the that a data for all data. MQTT and their form a data MQTT ; in the multi-layer of PLC>SCADA>MES>ERP, each level of data has its own mode and data . It can be seen that can use the data in the field the proxy, a and . The is data that can be back to the for , , and by other (see 9).

3) data : Data and are also and with . By the last and will , all are when the data is not , and the proof of the data will know when the data is again. For in that data for or root cause , store-and- data can the loss of data in the face of or .

4) : The of state and an to by the to each node and . of data time- tag/ . , with the help of the data proof , this has been by of . ( the ) can use the in the data to map in an . Each proof of data when to the or its topic , so the tag can be .

9 Using a of data from areas or an .

(: OPTO 22 )

PPMP - (PPMP) is a used to data for of . Unide is an open that with the PPMP and an SDK kit for PPMP

——It is a layer that that can be by , and . The - work item (work item) in the the use of to meet needs. with such as OSGi, DDS, OPC UA, and DDS is also , data to be and made to . OM2M the of IN ( Node-), MN ( Node-), ASN ( Node-) and IPE (Inter-work Agent ), which can be used for the of .

IoT - Kura a Java/OSGi edge - for IoT that can be into 4.0 . Kura支持多种现场总线协议,如OPC UA, S7和,简化了与PLC和传感器交互所需的步骤。用于蓝牙2.1、BLE、GPS、串行通信和GPIO/SPI/I2C交互的Java API,为传感器和终端设备集成能力完备了一套开箱即用的特性。 Kura还具有一个名为Wires的模块化和可视化数据流程编的工具。通过简单地从面板中选择组件并将它们连接在一起,Wires允许在边缘定义数据收集和处理管道。分发通过易用的Web UI、防火墙和网络管理功能,与完整的SQL数据库集成,并运用内置的先进物联网云平台的支持进行同步的多云连接。

(2)PLC开发

4diac是一个开源项目,促进了在分布式工业过程测量和控制系统(IPMCS)中的进一步开发,并分发来自原始贡献者的研究结果。从一开始,它就提供了编写和执行分布式IPMCS所需的开发工具和运行时,还将OPC UA和MQTT集成到控制系统中,方便系统的连接。4diac已成为基于的研究和开发的主要来源之一。它已成功应用于多个工业系统,包括制造系统、物流、电力和能源应用、机器人和楼宇自动化。

(3)信息安全

签名代码

Kura支持将签名代码远程部署到物联网网关。这确保了完整性,并确保在工厂层进行代码部署的来源无误。

是LWM2M设备管理协议的实现。LWM2M支持设备认证和授权。

自动化软件开发_自动化打开软件_自动软件开发模式

访问控制

Keti提供了一个存取控制服务,可以保护静止的(REST-ful)API,以便只有授权方才能操纵敏感信息或数据。

(4)设备管理

设备管理和配置

OMA LWM2M——轻量级M2M(LWM2M)是来自OMA的设备管理协议。 是LWM2M的Java实现, 是C实现。

Kapua是物联网设备和智能传感器的模块化集成平台,专注于提供边缘物联网节点的综合管理,包括它们的连接、配置和应用程序的继续完善( cle)。Kapua设备管理提供了反省()设备配置、更新设备应用程序和固件、远程控制设备的能力。

»软件更新

提供后端框架,用于向受约束的边缘设备进行滚动软件更新,以及连接到基于IP的网络基础设施的更强大的控制器和的网关。

(5)事件管理和数据分析

Hono提供远程服务接口,用于将大量物联网设备连接到后端,并以统一的方式与它们交互,而无需考虑设备通信协议。Hono提供可伸缩且安全的传感器数据采集,并将数据转换为可集成到企业IT系统的一致性事件。

Kapua提供了一个模块化的物联网平台,用于管理和集成物联网数据和事件。Kapua通过消息路由服务和REST API实现了更容易的IT集成。这提供了一组一致性的API来支持OT和IT集成。

.x提供了一个事件处理框架,用于处理大量并发事件,这是物联网系统的典型特征。Vest.x构建在Java虚拟机上,但支持许多语言,如、、Ruby、、Scala和Java。

Spark是一个快速、通用的数据处理框架,对物联网系统具有高度的可扩展性。在Spark上运行的应用程序可以用Java、Scala、和R编写。

数据存储

通过使用由普通硬件构建的计算机集群,实现了对大量数据的分布式和可伸缩存储。

HDF是家族中的一个组件,它支持任何形式的数据(包括结构化和非结构化数据)的高度可伸缩存储。它是高度冗余和高度可伸缩的。它非常适合大规模批量存储。

Kudu是家族中的另一个存储组件,为快速分析和存储快速数据进行了优化。这使得它非常适合在OT或IT环境中存储和分析物联网数据。它本质上是柱状的,具有固有的分布式和可伸缩性,可以很好地处理关系数据库模式,包括频繁的更新。

HBase是一个构建在HDFS上的组件,具有额外的NoSQL存储能力。和HDFS一样,它可以存储结构化和非结构化数据,适合高速读写。

数据管理

Kapua提供了一个微服务来存储和管理来自工业4.0应用程序的数据。Kapua提供了一致的API,允许跨应用程序轻松进行数据分析,并集成到现有的企业IT系统。Kapua默认的数据存储为,也可以使用其他的NoSQL和SQL数据存储。

(6)数字孪生

Ditto是一个创建和管理数字孪生的框架。Ditto公开显现一个统一的基于资源的API,可以用于与设备交互,而设备是从不同设备类型的复杂性以及它们如何连接中抽象出来的。这有助于将设备组织成不同的功能性方面,并且可以根据正式的设备元模型(基于Vorto)选择性地实施数据类型分类和数据验证。

Kura提供了REST和Java中的开放API,以及一个基于MQTT的通信层,可以利用该层与现场设备和资产进行交互。Kura驱动程序提供了一个硬件抽象层,降低了设备交互的复杂性,简化了与网关连接的设备的通信。Kura为与网关连接的每个设备显现MQTT和REST API,允许执行按需的读写操作和远程读写操作,并为这些设备提供数字孪生接口。

(7)工业4.0解决方案开发平台

BaSyx项目是德国研究项目BaSys 4.0的开源成果,为加速工业4.0解决方案的开发而设置的下一代自动化开源平台,提供通用工业4.0组件和一个可扩展的软件开发工具包(SDK)。 BaSyx平台着重于解决各种挑战,诸如可变生产、实现个性化商产品生产、利用大数据分析、连接异构设备和系统,以及使停机时间*小化和其他相关成本*小化等。 BaSyx实现了工业4.0生产架构中以下的几个核心技术:

1)实现制造机械装置/车间和IT之间的跨网络和跨协议的点对点通信,即虚拟自动化总线的实现。现今车间中常见的典型工业通信基础设施不具有所需的灵活性、互操作性和抽象性。只有采用虚拟自动化总线和标准接口才可能在支持OPC UA的同时,也支持现场中大量存在的现场总线和工业以太网。

2)资产管理壳是(AAS)目前德国工业标准化的一个概念。这些资产可以是物理资产,也可以是非物理的资产(如软件、技术文档)。其核心思想是,生产过程中的每一项资产,如机器、生产线、工人或产品,都有一个管理壳,它包含和/或指向该资产的所有可用数字信息,以及一个资产。AAS被组织成子模型,这些子模型包含资产特定方面的接口和状态、实时数据以及服务。子模型的一些例子包括资产的几何属性,由子资产组成的资产的拓扑结构(例如生产线),描述资产实现的物理过程的公式和/或仿真模型或信息模型,用户文档等。总之资产管理壳是生产资产的数字表征,即它们的数字孪生。BaSyx提供一个分布式资产管理壳的开源实现。这表示由AAS提供的信息可以驻留在网络的不同位置;例如,不同的子模型可能有不同的位置,或者多个AAS的大量历史数据可能被放在一个专用服务器上。

3)控制组件实现设备统一的服务接口。它们将生产服务的实现从生产过程中分离出来,并均可通过运行时环境实现。

图10 BaSyx平台(蓝色背景所标区域)在生产系统的位置(图源:网站)

开源软件已经成为工业自动化软件和企业IT软件值得信赖的技术来源。特别是涉及实现工业4.0和智能制造至关重要的软件需求(譬如数据聚合、安全、设备管理、事件管理和数据分析,以及数字孪生管理等),如何在实现解决方案的过程中能取得快速成效,关注和参与开源项目十分必要。

自动软件开发模式_自动化打开软件_自动化软件开发

一般来讲,开源软件技术栈包含基础软件、可嵌入到其他软件项目中的代码库和各类应用软件。

开源基础软件主要是指开源的操作系统。Linux首当其冲,因为现代的控制系统和大多数的边缘计算设备都选择Linux用作开源操作系统。RT-Linux要求在Linux基础上进行实时扩充或实时修补。目前主流的实时扩充和实时修补有-RT、,OSADL(开源自动化开发实验室)的the - Patch、等等。

有许多开放源码项目提供了特别适合工业4.0应用程序的技术。物联网工作组有28个项目,目标是通用物联网的解决方案,其中一些适用于工业4.0。还有一些开源社区如软件基金会和Linux基金会等,也有与工业4.0相关的技术。

以下列举可用于工业4.0和智能制造解决方案的潜在开源技术供读者参考(见图8)。

图8 有关工业4.0和智能制造的开源项目

(图源:物联网工作组)

(1)开放标准

工业4.0的开放标准允许解决方案具有互操作性、模块化和不依赖供应商等特点。不同的开放源码项目支持下列相关标准:

OPC UA—— Milo是OPC UA的完整实现,它用Java编写,提供了客户端和服务器的标准实现。()是一个OPC UA的C堆栈实现,是(MPL)下的OPC UA。OPC基金会还为非成员提供了基于GPL许可的OPC UA的Java实现。

MQTT/—— Paho和提供MQTT消息传递原型的客户端和代理实现。使用C语言实现MQTT服务器自动化软件开发,Paho使用多种语言实现MQTT客户端,包括C、c++、Java、、等。是一个开源软件规范,它为MQTT客户端提供框架,以便在MQTT基础结构中无缝地集成来自其应用程序、传感器、设备和网关的数据。实际上MQTT只是传输层的协议,才是具有语义内容的规范。 Tahu项目是该规范的一个实现。为网络网关或支持本机MQTT的终端设备和MQTT应用程序如何在MQTT基础设施中进行双向通信提供了开放和免费的规范。MQTT/ B在工业中应用的优势主要表现在:

1)互操作性: B规范通过定义标准的客户端角色和数据接口,解决了围绕工业应用的MQTT实现可能出现的不一致性问题。来自不同供应商的MQTT客户端可以识别、解释和使用发布的数据,而不需要知道原始客户端的详细信息。即使是原来拥有的自动化网络和设备也可以利用。

2)统一命名空间:通过跨企业的统一名称空间(定义所有业务数据的公共数据源),在此级别上满足了数字转换的互操作性关键需求。MQTT设备及其应用程序共同组成一个数据端点MQTT代理;而由PLC>SCADA>MES>ERP的多层结构中,每个层次的操作数据都有自己特定的模式和数据结构。由此可见,企业客户可以通过代理使用字段中的数据,使用提供通用的交换格式和统一的上下文语境。其结果是数据可以返回网络发布,供其他客户端检测、解释和处理(见图9)。

3)增强数据完整性:还提高了数据完整性和一致性,并与可靠性相结合。通过执行*后请求和遗嘱机制,当相关数据没有刷新时所有订阅者都会得到通知,而数据的再次出现证明会知道数据何时再次刷新。对于那些在受监管行业中需要历史数据进行审计或进行根因分析的应用,在面临网络或客户端不稳定时,存储转发历史数据可执行防止关键数据丢失的保护。

4)减少管理:增强的状态管理和互操作性的结合,通过减少集成每个节点和设备所需的管理开销,为网络可伸缩性提供了额外贡献。按传统方法集成工业数据需要在应用程序间进行耗时的标签/变量变换。但借助的数据生成证明机制,使这一过程加速了几个数量级。订阅者(特别是主应用程序)可使用数据生成证明中发布的信息,在瞬间映射出可供使用的主题。每个客户端在连接到网络或更新其主题结构时都需要数据生成证明,因此可以自动发现标签层次结构。

图9 采用统一的命名空间可实现在一个组织内来自不同领域或范畴的数据共享互操作性

(图源:OPTO 22网站)

PPMP——生产性能管理协议(PPMP)是一种用于获取生产设施性能分析所需数据的有效载荷规范。 Unide是一个开源项目,它遵行PPMP规范,并为PPMP提供SDK软件开发工具包

——是一个服务层标准,定义了可被应用程序、网关和设备共享的通用业务功能。中的行业域启用工作项( work item)定义了使用资源结构来满足行业需求的方法。还定义了与OSGi、DDS、OPC UA和等标准的互操作,从而可以将工业数据统一地聚合并提供给应用程序。 OM2M提供了IN(基础架构节点-平台)、MN(中间节点-网关)、ASN(应用服务节点-设备)和IPE(跨工作代理实体)的实现,可用于异构协议的互连。

物联网网关—— Kura提供了一个可移植的Java/OSGi边缘计算框架——用于构建可部署到工业4.0解决方案中的物联网网关。Kura支持多种现场总线协议,如OPC UA, S7和,简化了与PLC和传感器交互所需的步骤。用于蓝牙2.1、BLE、GPS、串行通信和GPIO/SPI/I2C交互的Java API,为传感器和终端设备集成能力完备了一套开箱即用的特性。 Kura还具有一个名为Wires的模块化和可视化数据流程编的工具。通过简单地从面板中选择组件并将它们连接在一起,Wires允许在边缘定义数据收集和处理管道。分发通过易用的Web UI、防火墙和网络管理功能,与完整的SQL数据库集成,并运用内置的先进物联网云平台的支持进行同步的多云连接。

(2)PLC开发

4diac是一个开源项目,促进了在分布式工业过程测量和控制系统(IPMCS)中的进一步开发,并分发来自原始贡献者的研究结果。从一开始,它就提供了编写和执行分布式IPMCS所需的开发工具和运行时,还将OPC UA和MQTT集成到控制系统中,方便系统的连接。4diac已成为基于的研究和开发的主要来源之一。它已成功应用于多个工业系统,包括制造系统、物流、电力和能源应用、机器人和楼宇自动化。

(3)信息安全

签名代码

Kura支持将签名代码远程部署到物联网网关。这确保了完整性,并确保在工厂层进行代码部署的来源无误。

是LWM2M设备管理协议的实现。LWM2M支持设备认证和授权。

访问控制

Keti提供了一个存取控制服务,可以保护静止的(REST-ful)API,以便只有授权方才能操纵敏感信息或数据。

(4)设备管理

自动化打开软件_自动化软件开发_自动软件开发模式

设备管理和配置

OMA LWM2M——轻量级M2M(LWM2M)是来自OMA的设备管理协议。 是LWM2M的Java实现, 是C实现。

Kapua是物联网设备和智能传感器的模块化集成平台,专注于提供边缘物联网节点的综合管理,包括它们的连接、配置和应用程序的继续完善( cle)。Kapua设备管理提供了反省()设备配置、更新设备应用程序和固件、远程控制设备的能力。

软件更新

提供后端框架,用于向受约束的边缘设备进行滚动软件更新,以及连接到基于IP的网络基础设施的更强大的控制器和的网关。

(5)事件管理和数据分析

Hono提供远程服务接口,用于将大量物联网设备连接到后端,并以统一的方式与它们交互,而无需考虑设备通信协议。Hono提供可伸缩且安全的传感器数据采集,并将数据转换为可集成到企业IT系统的一致性事件。

Kapua提供了一个模块化的物联网平台,用于管理和集成物联网数据和事件。Kapua通过消息路由服务和REST API实现了更容易的IT集成。这提供了一组一致性的API来支持OT和IT集成。

.x提供了一个事件处理框架,用于处理大量并发事件,这是物联网系统的典型特征。Vest.x构建在Java虚拟机上,但支持许多语言,如、、Ruby、、Scala和Java。

Spark是一个快速、通用的数据处理框架,对物联网系统具有高度的可扩展性。在Spark上运行的应用程序可以用Java、Scala、和R编写。

数据存储

通过使用由普通硬件构建的计算机集群,实现了对大量数据的分布式和可伸缩存储。

HDF是家族中的一个组件,它支持任何形式的数据(包括结构化和非结构化数据)的高度可伸缩存储。它是高度冗余和高度可伸缩的。它非常适合大规模批量存储。

Kudu是家族中的另一个存储组件,为快速分析和存储快速数据进行了优化。这使得它非常适合在OT或IT环境中存储和分析物联网数据。它本质上是柱状的,具有固有的分布式和可伸缩性,可以很好地处理关系数据库模式,包括频繁的更新。

HBase是一个构建在HDFS上的组件,具有额外的NoSQL存储能力。和HDFS一样,它可以存储结构化和非结构化数据,适合高速读写。

数据管理

Kapua提供了一个微服务来存储和管理来自工业4.0应用程序的数据。Kapua提供了一致的API,允许跨应用程序轻松进行数据分析,并集成到现有的企业IT系统。Kapua默认的数据存储为,也可以使用其他的NoSQL和SQL数据存储。

(6)数字孪生

Ditto是一个创建和管理数字孪生的框架。Ditto公开显现一个统一的基于资源的API,可以用于与设备交互,而设备是从不同设备类型的复杂性以及它们如何连接中抽象出来的。这有助于将设备组织成不同的功能性方面,并且可以根据正式的设备元模型(基于Vorto)选择性地实施数据类型分类和数据验证。

Kura提供了REST和Java中的开放API,以及一个基于MQTT的通信层,可以利用该层与现场设备和资产进行交互。Kura驱动程序提供了一个硬件抽象层,降低了设备交互的复杂性,简化了与网关连接的设备的通信。Kura为与网关连接的每个设备显现MQTT和REST API,允许执行按需的读写操作和远程读写操作,并为这些设备提供数字孪生接口。

(7)工业4.0解决方案开发平台

BaSyx项目是德国研究项目BaSys 4.0的开源成果,为加速工业4.0解决方案的开发而设置的下一代自动化开源平台,提供通用工业4.0组件和一个可扩展的软件开发工具包(SDK)。 BaSyx平台着重于解决各种挑战,诸如可变生产、实现个性化商产品生产、利用大数据分析、连接异构设备和系统,以及使停机时间*小化和其他相关成本*小化等。 BaSyx实现了工业4.0生产架构中以下的几个核心技术:

1)实现制造机械装置/车间和IT之间的跨网络和跨协议的点对点通信,即虚拟自动化总线的实现。现今车间中常见的典型工业通信基础设施不具有所需的灵活性、互操作性和抽象性。只有采用虚拟自动化总线和标准接口才可能在支持OPC UA的同时,也支持现场中大量存在的现场总线和工业以太网。

2)资产管理壳是(AAS)目前德国工业标准化的一个概念。这些资产可以是物理资产,也可以是非物理的资产(如软件、技术文档)。其核心思想是,生产过程中的每一项资产,如机器、生产线、工人或产品,都有一个管理壳,它包含和/或指向该资产的所有可用数字信息,以及一个资产。AAS被组织成子模型,这些子模型包含资产特定方面的接口和状态、实时数据以及服务。子模型的一些例子包括资产的几何属性,由子资产组成的资产的拓扑结构(例如生产线),描述资产实现的物理过程的公式和/或仿真模型或信息模型,用户文档等。总之资产管理壳是生产资产的数字表征,即它们的数字孪生。BaSyx提供一个分布式资产管理壳的开源实现。这表示由AAS提供的信息可以驻留在网络的不同位置;例如,不同的子模型可能有不同的位置,或者多个AAS的大量历史数据可能被放在一个专用服务器上。

3)控制组件实现设备统一的服务接口。它们将生产服务的实现从生产过程中分离出来,并均可通过运行时环境实现。

10 BaSyx平台(蓝色背景所标区域)在生产系统的位置(图源:网站)

4。结论

开源软件及其社群为工业企业的数字化转型提供了开放创新和开放合作的强有力手段。在这个意义上讲,企业只有掌握了开源的艺术,才可能在数字化转型的过程中更有活力和效率,才可能是持续的。数字化基本上意味着企业的生产、管理、经营和服务等所有环节都应该有统筹而且相互关联的数字化表达和运行,因而企业必定成为一个以软件为中心的组织,开源几乎是达到这一目的关键手段。数字化转型需要由开源驱动,而开源驱动保证了企业能实施开放创新和开放协同合作。在评估开源技术有两个主要选择。首先,访问相关的网站如,从中获取工具包并查看相关开源技术的的评级;其次,在采用和集成开源技术时与供应商合作。如果选择第二种方法,应该查看供应商,以评估他们对所使用的开源技术的支持。关注人们在使用特定的开源软件时遇到的问题和取得的成功,例如在论坛和博客上有很多关于用户如何选择以及他们是如何做的帖子,这是一个不错的信息来源。另外,登录开源社群的网站,并参与其中,找出哪些开源工具包是*成功的,并得到持续的支持。在社群的论坛上寻找*后一次活动,或者*后一次构建的时间,这样就可以了解这个组织的寿命以及他们对软件包的支持。

来源于「工控百家谈」原创首发。 作者彭瑜,毕业于清华大学热能工程系,教授级高级工程师,中国组织名誉主席,中国自动化学会仪表和装置专委会名誉常务委员,国务院特殊津贴获得者;长期从事工业生产过程自控系统的设计、现场总线和工业通信在控制系统的应用研究工作。

结尾

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多