当前位置: 首页 > news >正文

工业边缘计算为什么?

      在工厂环境中使用边缘计算并不新鲜。可编程逻辑控制器(PLC)、微控制器、服务器和PC进行本地数据处理,甚至是微型数据中心都是边缘技术,已经在工厂系统中存在了几十年。在车间里看到的看板系统,打卡系统,历史数据库,车间管理软件都可以认为是边缘计算的一部分。许多年来,我们也没有感觉它们是边缘设备。

由来

     那么,为什么人们要提出边缘计算的概念呢?其实边缘计算是在云计算出现之后被提出来的。在互联网应用中将各种应用软件托管到远程数据处理中心,形成了云计算服务模式。提出了SaaS,PaaS 的服务。中小型企业不再像过去那样内部设立一个计算中心,为了实现云服务,发展了一系列平台架构,其中包括虚拟机集群,容器和微服务等新技术。其中容器和微服务是最重要的云计算技术。它们为应用程序建立了一个相对独立的运行空间,其内部可以使用独立的操作系统和运行环境(比如各种库)。只要将编译好的应用程序映像(images) 部署到云端的容器中,就能够独立的运行。容器管理系统能够实现快速部署,迭代和维护。在互联网应用中,容器技术已经相当成熟,当云服务延申到“物”,便出现了“物联网”。于是出现了MQTT 等协议的流行。大型的云服务提供商在云端服务中构建了IoT Hub 的接入服务。远程设备能够通过网关接入云端IoT Hub ,在云端实现数据存储,看板和控制。这就是典型的物联网应用系统。

          当物联网技术进入制造业,基于云服务技术的物联网遇到了挑战,在一个车间内可能安装了成千上百个传感器和执行机构,它们对数据传输的实时性,确定性和可靠性是基于互联网的云平台无法保证的,人们自然的想法是将云服务的技术下移到数据源的附近。于是边缘服务就出现了,确切地讲,边缘服务是云服务的本地化部署,边缘是”云“的边缘。富有想像力的IT 人才甚至于还提出了”雾计算“。所有这些都只是从云服务派生出来的概念。核心是云服务中的容器,微服务和消息系统。

 边缘计算的优点

       在数据源附近部署边缘服务器具有合理性:

满足网络带宽,保证工业网络的实时性,确定性和可靠性

       在工厂内部能够构建高性能,高可靠性的网络架构,保证数据传输的实时性,可靠性。比如能采用时间敏感网络技术等。

将工厂的软件容器化,微服务化

        软件的微服务化有利于软件的模块化,App化,能够实现软件的敏捷开发,快速部署和迭代。目前工厂管理中的MES,ERP 等软件都采取微服务形式开发。

软件冗余

         应用软件在边缘服务器的容器中运行的另一个好处是软件冗余,可以在多个边缘服务器中部署软件,当某一个软件产生故障之后,能够方便地切换到另一台边缘服务器的容器中运行。

硬件升级

           当边缘服务器的硬件性能无法满足新的需求时,能够轻松地升级边缘服务器,迁移原有的微服务。

工业边缘计算(Industry edge Computing)

边缘计算的前面冠以”工业“,意味着下面两件事情:

  • 边缘计算的微服务与工业现场设备交换数据

                工业领域不断地导入大数据和人工智能应用,例如设备健康检测,图像识别,工艺优化等。这些应用更多地采用IT技术实现,而且需要有一定的算力,大多数情况下,这些新应用不会在传统PLC 上实现,而在边缘设备上部署。

  • 边缘计算的微服务替代工业现场设备的某些控制功能

                 激进的IT人士提出的云化PLC,软件PLC(SoftPLC)等概念。同时预测工业控制要从硬件为中心转向以软件为中心。全面软件化,将现场设备压缩到最小功能的标准化设备。而OT领域的专家们担心边缘设备中微服务的可靠性,实时性,确定性是否能够保证。在笔者看来这些问题是可以解决的,举个电信网的例子,以前的电话程控交换机都是以电路交换为主的,但是现在完全以软交换为主了。电信网的可靠性和实时性要求也是十分严苛的。观念和使用习惯的改变却需要漫长时间。

工业边缘计算的体现架构

工业云边控架构如下图所示:

 

实现工业边缘计算的关键

        前面提到,边缘计算是从云服务衍生而来的,事实上也是提供云服务的机构在极力推行边缘计算,通过向制造业车间下沉,提供边缘计算服务,与之相伴随的是私有5G网的推广。但是他们遇到的问题与推广云服务同样的。难以突破OT 的边界。

      笔者看来,工业边缘计算的最大特点因该是它的工业属性,符合OT对可靠性,安全,确定性的要求。

工业边缘服务的工业属性

    反观目前市面上的大多数边缘计算的架构,技术和标准,它们更多是IT 云服务架构的翻版,无非是容器,微服务,消息系统等通用的技术和套路。缺乏对OT 的支持。说句大白话,对自动化行业而言,”容器里没有服务!“。在许多边缘服务器中运行的仍然是传统的MES定制软件,只是换了一个马甲而已。为工业自动化领域提供关键的基础服务才是是边缘计算成败的关键。工业边缘计算姓”工业“,应该具备工业特征。

               也许工业界的人们还记得当年GE 公司雄心勃勃的predix 项目,同样采取了容器技术。但是由于没有足够的微服务而失败了。Harting 公司开发了嵌入式微服务控制器也没有产生很大的影响力。笔者也曾经开发了基于容器的嵌入式控制器。内心深刻的体会是,足够的微服务是边缘服务器的成败关键。这与OT 行业的功能块库是一样的。

     工业边缘服务器中的微服务包括三大类:

基础微服务

     数据接入、汇聚服务器微服务(DataHub,Data Aggregate Server):

      收集所有的现场数据,成为其它微服务访问现场数据的统一入口。

     数据存储微服务(data Historized Database Access)

           实现对现场数据,事件的时序数据库存储访问

    信息模型微服务(Information Model Server)

       将工业现场的非结构化数据转换成为Opc UA 信息模型,其它微服务通过Opc Ua 协议和模型访问现场数据。

    数据字典微服务

通用微服务

  数据可视性化微服务

支持现场看板,web 访问和远程App

  数据分析微服务

  AI 微服务

云接入微服务

 知识库,模型库微服务

 工业4.0 相关的微服务

     机器的作业编排,工艺参数下发,工业4.0 机器的协同互操作。

应用微服务

   MES

   数字孪生

  数字仿真

工业软件的微服务化

          如前所述,IT领域的边缘计算是IT行业云服务计算衍生而来的,它的基础是容器技术和计算机通信协议。与OT 行业主张的信息技术相比,互联网行业的信息交换是以通信协议为基础的信息交换。无论是TCP/IP,HTTP,webSocket,还是MQTT等各种消息系统,它们缺乏语义的一致性,难以实现OT行业机器与机器之间的通信。因此,基于互联网协议构建的微服务难以确保不同厂商开发的微服务互联互通。与OT现场设备的互联互通就更难。某些厂商和机构根据自身的经验和技术出发,努力地制定物模型库(大多数基于JSON)。并且将这些规则写入各种国家标准中,在笔者看来,由于缺乏工业领域的行业经验,开发的模型和标准难以达成”共识“,形成生态系统。可选项太多的标准难以实现兼容性,难以被大多数厂商采纳,没有多少实用和指导意义。

     笔者看来,工业边缘计算服务器中的微服务要遵循OT行业主张的基于模型的工程设计思想,采用OT行业广泛认可的技术标准(例如OPCUA) 构建OT 的信息模型。并且采用OPC UA 协议实现微服务之间的信息交换。

        使用OT行业倡导的基于模型工程设计方法也是实现微服务”低代码“,例如IEC61499, IEC61131-3 等各种基于图形的程序设计方法。以及基于信息模型的自动代码生成技术。

     OT行业的行业专家基于工业领域的丰富经验,为工业4.0,开发自动化,数字化转型制定了大量的标准。实现这些标准的许多软件都不可能在传统的PLC 中实现,他们将会以微服务的形式在边缘计算服务器中运行。

    致力于工业边缘计算的人们不要停留在微服务,消息系统的IT行业舒适区,朝着OT行业标准指明的方向发展也许是一条可行之路。

结束语

         使用IT云服务和边缘服务技术实现符合OT行业规范的工业软件是实现工业边缘计算的可行之路。提供支撑OT 新技术的各种微服务是成功的关键。工业领域的新技术将以微服务的方式提供给客户。最终将实现IT和OT 殊途同归,相互融合的目标。

      

相关文章:

工业边缘计算为什么?

在工厂环境中使用边缘计算并不新鲜。可编程逻辑控制器(PLC)、微控制器、服务器和PC进行本地数据处理,甚至是微型数据中心都是边缘技术,已经在工厂系统中存在了几十年。在车间里看到的看板系统,打卡系统,历史…...

Training-Time-Friendly Network for Real-Time Object Detection 论文学习

1. 解决了什么问题? 目前的目标检测器很少能做到快速训练、快速推理,并同时保持准确率。直觉上,推理越快的检测器应该训练也很快,但大多数的实时检测器反而需要更长的训练时间。准确率高的检测器大致可分为两类:推理时…...

HTTP改HTTPS

tomcat中http协议改https 第一步&#xff0c;配置server.xml <?xml version"1.0" encoding"UTF-8"?> <Server port"8005" shutdown"SHUTDOWN"><Listener className"org.apache.catalina.startup.VersionLogger…...

网络层中一些零碎且易忘的知识点

异构网络&#xff1a;指传输介质、数据编码方式、链路控制协议以及数据单元格式和转发机制不同&#xff0c;异构即物理层和数据链路层均不同RIP、OSPF、BGP分别是哪一层的协议&#xff1a; -RIPOSPFBGP所属层次应用层网络层应用层封装在什么协议中UDPIPTCP 一个主机可以有多个I…...

【RabbitMQ】之高可用集群搭建

目录 一、RabbitMQ 集群原理 1、默认集群原理2、镜像集群原理3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建2、配置镜像队列3、HAProxy 环境搭建4、Keepalived 环境搭建 一、RabbitMQ 集群简介 1、默认集群原理 3-1、RabbitMQ 集群简介 单台 RabbitM…...

【node.js】01-fs读写文件内容

目录 一、fs.readFile() 读取文件内容 二、fs.writeFile() 向指定的文件中写入内容 案例&#xff1a;整理txt 需求&#xff1a; 代码&#xff1a; 一、fs.readFile() 读取文件内容 代码&#xff1a; //导入fs模块&#xff0c;从来操作文件 const fs require(fs)// 2.调…...

GitHub仓库如何使用

核心&#xff1a;GitHub仓库如何使用 目录 1.创建仓库&#xff1a; 2.克隆仓库到本地&#xff1a; 3.添加、提交和推送更改&#xff1a; 4.分支管理&#xff1a; 5.拉取请求&#xff08;Pull Requests&#xff09;&#xff1a; 6.合并代码&#xff1a; 7.其他功能&…...

雪花算法,在分布式环境下实现高效的ID生成

其实雪花算法比较简单&#xff0c;可能称不上什么算法就是一种构造UID的方法。 点1&#xff1a;UID是一个long类型的41位时间戳&#xff0c;10位存储机器码&#xff0c;12位存储序列号。 点2&#xff1a;时间戳的单位是毫秒&#xff0c;可以同时链接1024台机器&#xff0c;每台…...

使用css 动画实现,水波纹的效果

每日鸡汤&#xff1a;每个你想要学习的瞬间都是未来的你向自己求救 需求&#xff0c;实现水波纹动画效果&#xff0c;要求中心一个圆点&#xff0c;然后有3个圈&#xff0c;一圈一圈的向里面缩小。 说实话我第一个想到了给3个圈设置不同的宽高&#xff0c;然后设置动画0-100%&a…...

Unity光照相关知识和实践 (烘焙光照,环境光设置,全局光照)

简介 本文将会通过一个简单的场景搭建&#xff0c;介绍如何使用烘焙光照以及相关的注意事项。另外还介绍了Unity内全局光照&#xff08;GI&#xff09;的知识和GI实际在游戏内的表现效果。 Unity关于光照相关的参考文档地址&#xff1a;https://docs.unity.cn/cn/current/Man…...

【设计模式——学习笔记】23种设计模式——适配器模式Adapter(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 介绍生活中的案例基础介绍工作原理分类应用场景 案例类适配器模式例1介绍类图代码实现优缺点分析 例2类图代码实现 对象适配器模式&#xff08;常用方式&#xff09;例1介绍类图代码实现优缺点分析 例2代码实现 接口适配器模式介绍类图代码实现 登场角色类图类适配器模…...

Android Unit Test

一、测试基础知识 1.1 测试级别 测试金字塔&#xff08;如图 2 所示&#xff09;说明了应用应如何包含三类测试&#xff08;即小型、中型和大型测试&#xff09;&#xff1a; 小型测试是指单元测试&#xff0c;用于验证应用的行为&#xff0c;一次验证一个类。 中型测试是指…...

docker更新jenkins

下载文件 1、jenkins提示下载 2、官网下载jenkins官网 文件放服务器内 通过工具把jenkins.war放进服务器例如tmp 文件复制到docker的jenkins容器 docker cp 路径文件 容器id:/{后面不接内容为根路径} docker cp /tmp/jenkins.war 53dc1c71058a:/进入容器内 docker exec …...

一种新的基于区域的在线活动轮廓模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

【Docker】基于Dockerfile搭建LNMP架构

一、项目环境 公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作。 1. 环境配置 主机操作系统IP地址主要软件DockerCentOS 7.3 x86_64192.168.145.15Docker 19.03容器ip地址规划 ngin…...

爬虫003_pycharm的安装以及使用_以及python脚本模版设置---python工作笔记021

这里我们用ide,pycharm来编码,看一看如何下载 这里我们下载这个社区办,这个是免费的,个人版是收费的 然后勾选以后 安装以后我们来创建一个项目 这里可以选择python的解释器,选择右边的... 这里我们找到我们自己安装的python解释器...

远程xml读取解析,将image url下载到本地,延时队列定时删除文件,图片访问路径保存在数据库中

远程xml部分内容 <imagelist name"FY4A AGRI IMG REGI MTCC GLL" tag"FY4A AGRI IMG REGI MTCC GLL"><image time"2023-07-25 22:30 (UTC)" desc"FY4A AGRI IMG REGI MTCC GLL" url"http://img.nsmc.org.cn/PORTAL/FY4…...

firefox笔记-Centos7离线安装firefox

目前&#xff08;2023-03-22 16:41:35&#xff09;Centos7自带的firefox已经很新了是2020年的。主要原因是有个web项目&#xff0c;用2020年的firefox打不开。 发到互联网上是2023-07-24。 报错是js有问题&#xff0c;估计是搞前端的只做了chrome适应&#xff0c;没做firefox…...

Flutter:滑动面板

前言 无意中发现了这个库&#xff0c;发现现在很多app中都有类似的功能。以手机b站为例&#xff0c;当你在看视频时&#xff0c;点击评论&#xff0c;视频会向上偏移&#xff0c;下方划出评论界面。 sliding_up_panel SlidingUpPanel是一个Flutter插件&#xff0c;用于创建滑…...

RocketMQ概论

目录 前言&#xff1a; 1.概述 2.下载安装、集群搭建 3.消息模型 4.如何保证吞吐量 4.1.消息存储 4.1.1顺序读写 4.1.2.异步刷盘 4.1.3.零拷贝 4.2.网络传输 前言&#xff1a; RocketMQ的代码示例在安装目录下有全套详细demo&#xff0c;所以本文不侧重于讲API这种死…...

任务的创建与删除

Q: 什么是任务&#xff1f; A: 任务可以理解为进程/线程&#xff0c;创建一个任务&#xff0c;就会在内存开辟一个空间。 比如&#xff1a; 玩游戏&#xff0c;打篮球&#xff0c;开车&#xff0c;都可以视为任务。 Windows 系统中的 MarkText 、谷歌浏览器、记事本&#xff0…...

致敬图灵!HashData拥抱数据智能新时代!

图1&#xff1a;2023ACM中国图灵大会现场 生于1912年的艾伦图灵被称为“计算机科学之父”、“人工智能之父”。1966年&#xff0c;国际计算机协会&#xff08;ACM&#xff09;为了纪念这位卓越的科学家&#xff0c;设立了以其名字命名的ACM图灵奖&#xff0c;以表彰在计算机领…...

AD21原理图的高级应用(二)层次原理图设计

&#xff08;二&#xff09;层次原理图设计 1.层次原理图概述2.层次化原理图的应用2.1 自上而下的层次化原理图2.2 自下而上的层次化原理图 3.生成层次设计表 对于大规模的电路系统,需要将其按功能分解为若干个电路模块,用户可以单独绘制好各个功能模块,再将它们组合起来继续处…...

ROS中使用RealSense-D435

文章目录 D435简介RealSense的SDK2.0安装方法1&#xff1a;直接利用安装源安装注册服务器公匙将服务器添加到存储库列表安装库 方法2&#xff1a;利用源码安装GitHub下载librealsense安装编译依赖运行脚本cmake编译 软件显示 ROS接口安装启动节点查看话题rviz显示点云 Python接…...

nlp系列(6)文本实体识别(Bi-LSTM+CRF)pytorch

模型介绍 LSTM&#xff1a;长短期记忆网络&#xff08;Long-short-term-memory&#xff09;,能够记住长句子的前后信息&#xff0c;解决了RNN的问题&#xff08;时间间隔较大时&#xff0c;网络对前面的信息会遗忘&#xff0c;从而出现梯度消失问题&#xff0c;会形成长期依赖…...

zookeeper-3.7.1集群

1.下载&解压安装包apache-zookeeper-3.7.1-bin.tar.gz 解压到/app/ &改名zookeeper-3.7.1 [rootnode1 app]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /app/ [rootnode1 app]# mv apache-zookeeper-3.7.1-bin zookeeper-3.7.1 ---- 删除docs [rootnode1…...

ubuntu上安装firefox geckodriver 实现爬虫

缘由&#xff1a;当时在windows 上运行chrom 的时候 发现要找到 浏览器和 webdirver 相匹配的 版本比较麻烦&#xff0c;当时搞了大半天才找到并安装好。 这次在ubuntu上尝试用firefox 实现爬虫 文章分为三个部分&#xff1a; 环境搭建浏览器弹窗输入用户名&#xff0c;密码的…...

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据)

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 "基于长短期记忆网络(Long Short-Term Memory, LSTM)的时间序列预测"是一种使用LSTM神经网络来预测时间…...

[NLP]LLM高效微调(PEFT)--LoRA

LoRA 背景 神经网络包含很多全连接层&#xff0c;其借助于矩阵乘法得以实现&#xff0c;然而&#xff0c;很多全连接层的权重矩阵都是满秩的。当针对特定任务进行微调后&#xff0c;模型中权重矩阵其实具有很低的本征秩&#xff08;intrinsic rank&#xff09;&#xff0c;因…...

vue3 vant上传图片

在 Vue 3 中使用 Vant 组件库进行图片上传&#xff0c;您可以使用 Vant 的 ImageUploader 组件。ImageUploader 是 Vant 提供的图片上传组件&#xff0c;可以方便地实现图片上传功能。 以下是一个简单的示例&#xff0c;演示如何在 Vue 3 中使用 Vant 的 ImageUploader 组件进行…...