物联网平台建设方案

系统概述

构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。

物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分析、实施服务各种能力,快速集成融合数据。

平台解决工业现场的各类型物联网数据的适配接入、智能分析、实时服务、以及物联网数据呈现的问题。

本项目针对现有设备设施情况,梳理设备物模型,为物联网数据接入提供支撑;构建智能分析机制,为设备健康检测、故障预警提供支撑;以及选取一个车间构建组态展现模式,动态的呈现车间的运行情况。

物联网平台满足智能化的需求,建设全域支撑能力,逻辑架构图如下图:

物联网平台主要有数据网关、实时服务、智能分析、数据呈现、以及设备管理和设备维护组成。

数据网关:采用协议适配技术,适配各类型生产制造过程中的设备,提供统一的物联网数据接入标准;

智能分析:采用实时流数据处理技术,对数据网关接入的实时数据进行在线分析,并且建立规则库能够对分析的结果进行告警推送;

实时服务:采用MQTT+接口方式,提供实时服务,为前端展现、组态展现提供实时数据服务;

数据呈现:采用组态方式对现场的生产制造过程进行数据呈现;

设备管理、设备维护:对所有设备、设施进行统一的注册、以及建立物模型管理机制,对设备的全生命周期进行管理。

建设内容

数据网关

数据网关是负责对接工业物联设备的适配器,针对不同类型的物联网协议提供通信的统一适配接口,能够对设备的上行、下行数据进行编解码。

网关组件管理

组件架构

协议网关负责对接设备,采集数据内容,架构上采用可拔插的设计模式,将数据网关划分为协议网关、编码组件、解码组件、转换规则组件组成。由协议网关对接设备,对数据进行编解码、并处理,示意图如下:

协议网关

协议网关是负责对接设备,实现对设备数据采集,以及涉及下行指令的对数据进行下发控制。针对常用的物联网协议提供支持,包括:MQTT数据网关、ModBus数据网关、TCP/UDP数据网关、OPC UA数据网关、WebSocket数据网关以及可以根据规范进行自定义数据网关。

MQTT数据网关

MQTT数据网关用于实现与基于MQTT协议通信的设备进行互联,支持基于TCP协议、WebSocket协议进行MQTT通信,针对上行数据使用配置的解码组件对数据进行解码,形成有效的数据集,并发送到消息队列中。

ModBus数据网关

构建ModBus通信协议连接设备,支持ASCII、RTU、TCP模式对数据进行传输。

TCP/UDP数据网关

提供基于TCP/UDP协议的自定义数据网关,可以结合编码组件、解码组件对数据进行解码,实现双向通信。

OPC UA数据网关

通过OPC UA,所有需要的信息在任何时间,任何地点对每个授权的应用,每个授权的人员都可用。这种功能独立于制造厂商的原始应用,编程语言和操作系统。 OPC UA是目前已经使用的OPC 工业标准的补充,提供重要的一些特性,包括如平台独立性,扩展性,高可靠性和连接互联网的能力。 OPC UA不再依靠DCOM,而是基于面向服务的架构,OPC UA的使用更简便。现在,OPC UA已经成为独立于微软,UNIX或其他的操作系统企业层和嵌入式自动组建之间的桥梁。

WebSocket数据网关

基于WebSocket协议订阅设备推送的数据内容,采用解码组件对数据报文进行解码,形成有效的数据集,并发送到消息队列中。

自定义数据网关

定义统一的数据网关接口,能够根据自己的需求实现特定的协议协议处理过程,采用Docker容器方式进行运行和管理数据网关。

解码组件

解码组件是负责解析从物联网设备上采集的数据内容,提供常用的内置解码器,包括:JSON解码、XML解码、CSV解码、二级制解码,以及可以按照规范来对实现自定义的解码器。

编码组件

编码组件负责将接收到的指令编码成为物联网设备的传输格式下发到物联网设备中,JSON解码、XML解码、CSV解码、二级制解码,以及可以按照接口规范实现自定义的编码器。

网关运行管理

基于容器实例方式对数据网关的运行情况进行管理,支持对网关进行维护操作。

运行监控:支持对数据网关实例的CPU、内存、网络流量、自动重启次数进行监控;

维护操作:支持对数据网关进行重启、日志查看、命令执行等操作。

设备管理

对接入的物联网设备进行统一的管理,以及对物模型进行定义,为数据网关采集物联网数据、数据分析提供基础支撑。

设备信息维护

对物联设备进行注册维护,包括以下三部分内容:

设备基础信息:包括设备的基础描述信息,包括:设备编码、设备名称、二维码、品牌、型号、出厂日期、尺寸、总量、材质、使用寿命、价格、供应商单位名称、供应商电话、供应商联系人、供应商网址、供应商邮箱、合同编码、使用日期、保修周期、合同截止日期等

设备测点信息:设备监测点信息,包括:测点名称、数据类型、描述、有效值范围等

表单扩展信息:包括针对不同设备类型创建的模板填写的属性信息。

设备分类标签

从多个维度对设备进行分类,提供分类维度管理、分类标签定义,一般常用的设备分类维度:

功能上采用多维度的方式进行管理,如下图所示。

物模型管理

对接入的物联网对象进行模型化定义,以便可以对设备进行扩展。

物模型维护

梳理各类型的设备信息,针对设备类型以及生产厂家、规格型号的设备,定义物模型,形成设备基础数据。

测点管理

对物模型关联的物联网测点信息进行管理,统一定义物联网测点数据的格式、标准、以及规则。

表单管理

对设备涉及的扩展信息,通过表单来进行维护和管理。

设备日常维护

维护活动管理

对设备维护过程中,涉及的维护活动进行定义,包括:活动的属性、活动行为值、活动的扩展信息。

维护表单模板

根据维护的行为需要,按照岗位职责进行组合维护活动,形成维护表单,并且提供多维度的维护表单标签功能,能够按照需求生成维护的表单。

维护任务管理

对下发或者生成的任务进行维护,根据日常巡检的情况记录到表单中。

智能分析

构建实时计算引擎,接收物联网采集的数据进行实时处理,按照预定义的规则对数据进行实时分析。

逻辑架构

提供实时计算、算法建模两种模式对物联网数据进行分析,如下图所示:

实时分析

实时开发软件基于开源的分布式计算引擎(Flink、Storm)进行构建,开源的实时计算引擎已具备流式计算、任务运行调度等功能,为了方便使用以及运维管理,在开源软件基础上,封装和构建实时开发软件,包括:实时元数据管理、JAR、SQL、DAG可视化开发、任务监控与管理。

实时开发软件采用多种计算引擎,支持SQL、JAR、DAG方式构建实时任务作业,如图所示:

元数据管理模块:针对实时的元数据信息进行维护和管理,可以定义元数据的结构信息,并且将定义的元数据可以应用到不同的分布式计算系统中(Flink、Spark、Storm);

作业编排模块:提供基于WEB可视化方式进行构建实时计算作业,提供SQL作业、JAR作业、DAG作业的构建,能够满足不同场景开发实时作业的需要;

作业提交模块:将配置和开发的作业提交到Flink、Storm实时计算引擎进行执行,并且动态的检测提交的作业运行状态,同步到数据库中;

管理监控模块:读取实时计算引擎的作业监控信息,展示运行状况、以及可以查看日志信息。

流式数据处理编排:

算法建模

基于人工智能、机器学习、模式识别、统计学、可视化技术等,搭建大数据建模工具和AI建模工具,提供可视化建模、Notebook 建模,集成主流机器学习、深度学习框架和丰富的标准化算法组件能力,为数据智能、数据科研、预测分析等应用快速构建和落地提供工具支持。构建故障诊断、寿命预测、能耗优化、运行态势等数据分析算法模型,进行归纳性推理,挖掘数据潜在模式和价值,满足智能监测、装备运维的智能化业务建模的场景需求。智慧电厂AI智能服务自学习。

算法开发工具主要功能包括:算法建模工具(可视化建模、Notebook建模)、模型仓库管理、算法模型服务等组成。

可视化建模模块:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;

Notebook建模模块:提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看;

模型训练管理模块:实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理;

模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用;

模型服务模块:将算法模型以接口服务或者任务调度的方式发布进行使用。

可视化建模

可视化建模模块通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验,功能内容如下:

(1)构建算法模型

拖拽式实验流:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;

(2)内置丰富算法组件,支持用户完成数据处理、模型训练、模型评估和预测的实验流程设计和调试,覆盖主流算法应用场景;

(3)平台基于Web的IDE环境,提供丰富的B/S用户接口,界面友好易操作,通过简单地拖拽算法进行流程创建,支持算子连接、算子参数配置;

2.DAG模型维护

(1)发布DAG接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;

(2)发布DAG任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;

(3)算法模型维护:提供对构建的算法模型进行维护管理。

算法可视化建模如图所示。

基于DAG组件化的算法编排如图所示。

提供可扩展的算法组件注册机制:

Notebook建模

提供各种常用的算法建模工具,能够快速的完成建模过程。

Notebook建模模块提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看,功能内容如下:

1.Notebook建模

1)JupyterLab在线编程:JupyterLab在线编程,提供专业机器学习环境,支持代码编写、运行和结果查看;

2)交互式代码运行:以交互式方式进行代码运行,支持代码、Markdown文档、JSON、YML、CSV、各种格式的图片、Vega文件等多种类型;还支持插件扩展,最大化提升;

3)支持多语言:包括Scala、Python、R、Shell等,并能进行扩展;

4)支持通过API方式调用标准算法组件,内置统计机器学习、深度神经网络、自然语言处理、信号处理、运筹优化等算法;

2.Notebook引擎管理

1)创建Notebook引擎:支持创建notebook环境引擎,不同的实验环境提供不同的环境,支持共享存储,实现数据高可用和数据隔离,保证服务的高可用和资源隔离;

2)Notebook引擎维护:提供对Notebook的监控、销毁等维护功能;

3.Notebook模型维护

1)发布Notebook接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;

2)发布Notebook任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;

3)创建Notebook训练任务:通过开发测试的任务,创建成为Notebook训练任务,执行训练过程;

4)模型维护操作:对开发的模型维护管理,包括:查找、编辑、删除等。

算法训练

提供对机器学习算法的训练任务进行管理和维护,支持同时训练多个分支流程,使得分析人员在一个工程中即可快速比对建模效果、调整优化模型。

模型训练管理模块实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理,功能内容如下:

1.训练任务管理

1)训练任务维护:提供对在线训练任务的管理和维护,包括:启用、停止、删除;

2)训练记录查看:支持在线查看运行结果、运行记录及运行日志,运行日志支持下载;

3)训练评估结果:对训练任务执行后的效果进行执行评估;

2.训练数据管理

1)创建文件数据训练集:创建文件数据集,能够在线对文件进行管理和维护,包括:上传、下载、移动、复制等;

2)创建数据库训练集:创建以数据库存储的数据集,能够对数据进行维护和管理;

3.训练过程监控:任务执行监控,对训练过程的任务进行监控,展示执行的信息。

模型仓库

构建模型仓库用户存储和管理各种类型的算法模型。

模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用,功能内容如下:

1.模型分类标签

1)分类维度管理:对算法模型进行多维的定义分类;

2)分类标签管理:定义分类维度对应的分类标签信息,提供给创建模型的时候进行选择;

2.模型分类管理:分类目录维护,对模型的主题分类进行维护,包括:创建、编辑、删除分类;

3.模型维护管理

1)上传PMML模型:将sklearn开发的PMML算法模型文件进行导入,上传成功后,生成模型镜像;

2)上传镜像模型:将按照接口规范开发的算法程序镜像包上传后,生成算法模型;

3)模型版本管理:对多次生成或者上传的算法模型进行版本管理和维护,支持滴历史版本的浏览;

4)模型导出:将算法模型导出为Docker镜像文件;

5)模型分类维护:对模型的主题分类信息进行创建、编辑、删除;

6)创建接口模型服务:将模型部署成为接口服务,接口服务以docker方式镜像运行;

7)创建任务调度模型服务:将模型部署成为调度任务,调度任务以docker容器镜像方式运行。

模型服务

实现将算法模型发布成为接口服务、或者进行任务调度的方式进行部署和应用。

模型服务模块将算法模型以接口服务或者任务调度的方式发布进行使用,功能内容如下:

1.接口模型管理

1)创建接口模型服务:从算法模型中创建模型接口服务,配置模型的属性以及参数;

2)部署接口模型服务:将模型发布成为接口服务到K8S容器平台中运行;

3)卸载接口模型服务:将已经发布的模型接口服务进行卸载,停止对外服务;

4)删除接口模型服务:删除配置的接口模型服务;

5)接口模型服务监控:统计接口模型服务的访问情况,以及异常情况;

2.任务模型管理

1)创建任务模型服务:从算法模型中,创建定时调度类型的模型服务;

2)部署任务模型服务:部署到K8S中,启用任务调度机制;

3)卸载任务模型服务:停止已经发布的任务调度模型,并且回收运行的资源;

4)删除任务模型服务:移除已经配置的任务模型;

5)任务模型执行监控:对任务模型的执行进行记录和监控。

智能告警

智能告警设计

智能告警是根据实时分析、算法建模分析过程中,产生的事件,推送到智能告警规则,根据规则定于情况将告警进行推送到指定的目标中,示意图如下:

告警规则管理

可以根据告警事件的内容,定义多条件组合告警,能够在触发满足条件后的规则发送告警通知。告警规则采用CEP实时事件引擎进行计算,支持表达式计算、时间窗口计算等规则。

告警通知管理

针对告警规则匹配或者聚合后的事件,发送通知到指定的目标,支持MQTT推送通知、HTTP回调通知、Email发送通知。

实时服务

基于MQTT协议的实时数据推送接口和基于HTTP的实时数据查询接口,从消息系统(Kafka)中接收物联网管理软件发送过来的实时监控数据,并对数据的内容进行格式提取和处理后,推送到MQTT服务器上,提供给各个分系统订阅,并且提供HTTP接口方式进行查询实时数据。软件架构图所示。

实时服务软件由实时消息接收、实时接口查询、实时MQTT推送、监控管理模块组成,功能描述如下:

实时消息接收模块:实现从分布式消息系统(Kafka)中接收感知车辆分系统发送过来的实时监控数据,并对数据的内容进行格式提取;

实时MQTT推送模块:将提取后的实时数据,通过预处理后推送到MQTT服务器上,提供给各个分系统订阅;

实时接口查询模块:提供基于REST方式接口查询实时的数据,基于实时数据SQL方式发布

监控管理模块:对数据接收、数据服务进行监控和管理。

BY组态介绍

l 官网网站: http://www.hcy-soft.com

l 体验地址:by组态[web组态插件]

相关推荐
前端熊猫几秒前
transform学习
前端·学习·html
菠菠萝宝2 分钟前
【YOLOv8】安卓端部署-1-项目介绍
android·java·c++·yolo·目标检测·目标跟踪·kotlin
GISer_Jing10 分钟前
React渲染流程与更新diff算法
前端·javascript·react.js
郑祎亦13 分钟前
JavaWeb开发:HTML 页面与接口对接
前端·后端·java-ee·html
Au_ust18 分钟前
css:感觉稍微高级一点的布局
前端·css
下页、再停留18 分钟前
【前端】CSS修改div滚动条样式
前端·css
一晌贪欢i19 分钟前
CSS中calc语法不生效
前端·css
CoderJia程序员甲21 分钟前
重学SpringBoot3-如何发送 Email
java·spring boot·后端·email
初晴~22 分钟前
【spring】参数校验Validation
java·c++·spring boot·后端·python·spring·validation
chudaxiakkk24 分钟前
记录spring-boot 3.X版本整合RocketMq
java·spring boot·rocketmq