从umati 看德国人如何玩OPCUA的

news/2024/11/17 6:41:31/

       到目前为止,机器的联网标准缺乏统一的协议和语义标准。比较知名的要数每个的MTConnect。fanuc机床的focas协议。未来的发展方向是OPCUA协议。但是实现这个目标并非一日之功。德国的umati 社区也许给我们一些启发。

     为了推进机床行业的数字化进程,VDW(德国机床制造商协会)和VDMA(德国机械与设备工程协会)开发了umati 社区,它包括了一部分开源代码和一个社区,吸引机械设备厂商,软件厂商的加入,umati的愿景是实现机械设备基于OPCUA 的连接性。他们认为连接性是 21 世纪所有机械设备的关键。umati使机器和软件之间的连接变得简单、安全和无缝,帮助客户利用数据的附加值。uamti 称为“通用机器技术接口”。它是建立在OPC UA 配套规范的基础上实现的一个OPC UA 技术接口,包括了机床,木工设备,通用测量,激光系统,金属成型,挤出设备,注塑,平板玻璃,称重等等。

uamti 又被称为一个社区,它定义为:

mati(通用机器技术接口)是机械制造行业及其客户的社区,旨在推广和采用基于OPC UA的开放式标准化接口。umati 促进机器、组件和装置之间的数据交换,并轻松、无缝、安全地将它们集成到客户和用户特定的 IT 生态系统中。一项在全球范围内开发未来生产新潜力的倡议。有许多的机床制造商,软件开发商和自动控制生产商加入了这个社区。事实上,他们也来到了中国,德国机床制造商协会(VDW)与中国机床工具工业协会(CMTBA)合作,探讨中国的机床联网协议NC-LInk 与umati 相互融合的可能。

  umati 的应用架构

         由此可建,umati 软件就像是在机械外面添加了一个壳,瞬间转变成为一个OPC UA 的服务器。与外部世界连接了。

umati 相关技术

  umati github 上公开了某些源码:

  1. Sample-Server

   使用C++ 实现的OPCUA 服务器,并且支持多种OPCUA 配套规范。从源代码看,它是基于open62541开源项目开发的。

  1. Sample-Server-node-opcua

   基于node-opcua 开发的opcua 服务器。并且支持多种OPCUA 配套规范。

  1. Dashboard-OPCUA-Client
  2. TransformationEngineAPI 的规范

      umati 的服务器与上位机连接的协议为OPCUA (北向协议),而与设备的连接是一些专用的协议(南向协议)。它们通过TransformationEngineAPI  来实现与服务器软件的连接。在umati 目前开源的内容中只有一个API规范,没有具体的代码

        为了了解umati,我在Ubuntu 上编译了Sample=Server ,并且运行。也将Sample-Server装入了docker 的容器中。使用uaExpert 能够访问它们。

        Sample-Server 通过TransformationEngine与物理设备连接。与物理设备连接的协议是需要定制的协议,十分可惜的是,在Sample-Server 中好像没有提供与机器连接开源例子,只是提供了一个仿真(simulation)大概需要额外的开发。

从umati 学到什么?

        我们从umati 社区可以隐约地看出,德国人是如何将OPC UA 协议深化应用的方法。他们集中地开发了OPC UA 的服务器,并且加快了OPCUA 配套规范的制定和应用,通过umati 定义了统一的语义规范。通过社区联盟的方式,各家机械设备厂商开发了机器接口(南向接口) 。降低了机器联网的开发门槛。umati 服务器可以在任何一个边缘设备上运行。例如倍福的7015 紧凑型工业PC 7015

 当然也可以在Arm 的控制器上运行。

        由此可见,德国人在采纳新技术的时是比较务实的,采取了逐步演进的方式。在现有的设备外部添加一个LinuxBox 并不增加多少成本。却解决了工业4.0 80% 的工作量。而且,新技术只有在使用中才能更加深刻地理解它们的价值和应用。促进我们更加理解技术的未来发展方向。

目前umati 提供的技术文档有限。在此基础上二次开发有难度。


http://www.ppmy.cn/news/8436.html

相关文章

Good Bye 2022: 2023 is NEAR

A.B略 C.鸽巢原理中国剩余定理 首先,显然所有数必须两两相同,不然加上任何整数必定会产生gcd > 2的组合 然后我们手玩可以发现奇偶性,我们至少不能使得有两个数同时是偶数,如果出现两个偶数,两个奇数,例如2 4 5 7,那么无论x选择什么,都至少会出现两个偶数,进一步地,我们发…

Linux多进程编程之exec函数族使用

Linux多进程编程之exec函数族使用1.exec函数族是什么2.execl函数具体使用3.execlp4.exec后面不同字母所代表的含义1.exec函数族是什么 顾名思义,它并不只是一个函数,而是以exec开头的六个函数,并且是没有exec这个函数的(就像TCP/…

C++中STL的vector扩容机制

目录前言发生扩容扩容机制size()和capacity()reserve()和resize()前言 前阵子面试的时候,被问到往vector中插入一个数据可能会发生什么? 我答:可能会扩容; 为啥vector支持变长? 我答:它实在堆上动态申请内存,因此有自己的一套扩容…

保护性暂停设计模式

目录 保护性暂停设计模式 获取结果 产生结果 总代码实现 测试 增加超时效果的Guarded suspension get(long timeout) 测试 保护性暂停设计模式 Guarded Suspension 即 保护性暂停; 是一种等待唤醒机制的一种规范 ,也可以理解为使用中设计模式,Java的API很多都按照保护性…

android中service实现原理分析

前言: 一开始的目标是解决各种各样的ANR问题的,我们知道,ANR总体上分有四种类型,这四种类型有三种是和四大组件相对应的,所以,如果想了解ANR发生的根因,对安卓四大组件的实现流程是必须要了解的…

第一个完整的CMake工程

第一个完整的CMake工程一、概述二、准备工作2.1 创建工程2.2 创建源码目录三、换个地方保存目标二进制文件3.1 add_subdirectory 指令说明3.2 重设目标二进制生成目录四、如何安装4.1 目标文件的安装4.2 普通文件的安装4.3 非目标文件的可执行程序安装(比如脚本之类)&#xff1…

【自学Java】Java选择结构if

Java选择结构if Java语言if条件判断 在 Java 中,关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后面的大括号 {} 括起来的代码块,如果没有代码…

领导的本质就是:管理自己,影响别人

欲戴皇冠,必承其重。作为领导者,就应当承担相应的职责。管理好自己,下面还有很多双眼睛看着你,正人先正己,身正令才行,自己做好了,才可能影响到别人,成为一位受人尊重的领导者。 有…