历时9个月重构iNeuOS工业互联网操作系统,打造工业领域的“Office”
目 录
1. 概述... 1
2. 整体介绍... 2
3. 主要功能简介... 5
1. 概述
历时9个月的时间,对iNeuOS工业互联网操作系统进行全面重构,发布内部测试版本。重构的主要目的:工程化的框架优化,更好的聚焦工业领域业务发展。重构也是保障产品能够可持续发展的重要手段,同时兼顾产品的安全性和稳定性。此次重构的主要特点:
(1)代码层面,进一步统一框架,优化代码;功能层面,提高易用性;运行层面,提高执行效率。
(2)整体框架支持租户,全面支持云端化部署与应用。
(3)前端优化渲染引擎,渲染能力提高10%左右;后端代码执行效率提高3%-5%,实时数据存储空间降低5%。
(4)前后端全面采用模块化开发,提高二次开发效率和更好满足业务定制化开发的需求。
(5)重构系统70%的功能使用“低代码”平台完成开发,基本上具备了“机器”创造“机器”的能力。
2. 整体介绍
开发或选择一款软件产品是一件很不容易的事情,很难同时兼顾满足高质量的代码、漂亮的界面和解决场景实际问题。
(1)大部分开发者都懂得对代码重构,但是大部分开发者又不具备推倒重构代码的勇气,特别是针对框架性的代码。此次对iNeuOS的前端框架、后台接口和后台服务进行了全面重构。经常有用户问我们需要什么样的技术要求才能够进行二次开发?有1年左右工作经验,大概1周左右就能够上手了。
前端框架统一采用VUE框架,主要满足以数据驱动为核心的工程化的业务功能开发与应用,进行组件化开发,减少业务功能开发的代码量,同时增强代码的可读性。代码如下图:
后台接口主要采用NET6(C#)开发语言,框架进行模块化设计,系统功能就像搭建乐高积木一样,主要满足领域业务需求不固定、变化多的特点,能够很快实现功能需求的定制化,同时又能够满足功能之间共性需求的提炼与抽象,进一步形成产品设计。代码如下图:
后台服务主要采用NET6(C#)开发语言,算法和机器学习部分采用python开发语言。此次对后台服务进行重构的目标主要体现在执行效率上,优化内存分配机制,使变量和数组能够在连续的内存区域上,确保访问的安全性和高性能。代码如下图:
(2)界面实现了传统菜单导航(Menu Navigation)和窗体应用(Windows)之间的切换。看似是样式上的改变,其实是对前端和后端代码的较大改动。系统默认采用Windows应用模式,但是也有很多用户喜欢传统菜单导航的模式,此次升级也做了兼容性适配。如下图:
(3)在实际场景化应用方面,产品化+定制化能够解决现场的实际问题,做到落地可实施。
从设计理念来看,它具备操作系统的特点:即接、即用、即分析、即显示,开放式的二次开发。
从以数据为中心的角度看,数据流程化应用:设备驱动(数据交互驱动)、服务驱动(数据事务处理驱动)、设备模型(设备实时通信及处理)、业务模型(数据分组建模)、资产模型(数据空间规则提取)、计算平台(数据计算与预警)、数据分析、数据转发(多层级系统部署)、视图建模(2D/3D数据展示)、视频转换(视频数据展示)、工艺优化控制(数据联动控制)、算法分析(数据算法分析)、Excel报表设计(数据报表模板设计与应用)、表单开发(“低代码”开发业务功能)和用户权限等;
从更高级的信息化系统建设来看,完全可以在iNeuOS平台基础上承建产线级、企业级、集团级或行业级的物联网平台、大数据平台或是工业互联网平台,进一步构建设备管理、能源管理、环保管理、安全系统、工艺管理等子系统一体化的平台管控系统;
从部署及应用来看,系统完全支持跨平台部署在windows、linux、docker及国产操作系统,可以实现部署在嵌入式网关(资源少)、PC机、服务器上;
从应用行业来看,已经应用在煤炭、钢铁、镍矿、环保、水务、纸业、加工制造、核能、设备厂家等领域。
3. 主要功能简介
注:功能介绍功能图为测试环境下的截图。
(1)支持Modbus、PLC、机床和行业非标设备等共总119个设备驱动协议,支持高并发数据采集和反向控制。如下图:
(2)视图建模组态,支持5500多个2D/2.5D的SVG矢量图元信息;支持obj、gltf和fbx格式的3D模型上传到组态中,关联数据驱动模型部件;支持标题、数据点、按钮、视频监控、容器、图片和时间等组件;支持折线图、柱状图、限值预警图、饼图、油表图、进度图、液位图、雷达图等;支持自定义画图元信息,包括:自由绘制、箭头、直线、虚线、圆、椭圆、长方形、直角、等边三角等;支持自定义动作规则,进行预警、改变颜色、闪烁、跳动、旋转等,支持动作响应优先级设置。如下图:
(3)报表设计支持秒、时、日、月和年自定义报表样式,自定义配置数据展示的模板,绑定数据源及配置数据的小数位、数据显示方向、填充数位(显示多少条数据)、统计(均值、和值、最小值、最大值、中位数和众数)。如下图:
(4)“低代码”线表单开发工具,支持的表单组件丰富。可让用户通过拖拽配置的方式配置表单的增删查改,支持添加\更新数据唯一性验证,解放用户对于基础表,父子表、多表关联父子表的开发编辑工作。如下图
(5)计算预警,支持数学运算符和函数对数据点进行复杂的计算,支持创建多个计算任务,支持逻辑规划推理,并对结果进行消息推送。如下图:
(6)算法分析,算法包括:快速傅里叶变换、包络分析、倒频谱和自相关等。会对当前数据点进行数据的基本汇总统计:数据量、均值、最大值和最小值等;还会对数据点的原始值和算法分析结果进行图形化展示。如下图:
(7)资产模型(机器学习),支持通用机器学习算法和集成自定义模型算法,对工况的多维数据空间训练模型,提取工况对应的规则,结合数据空间的实时数据预测对应的工况。如下图:
(8)工艺优化联动控制支持在线开发业务脚本,支持多个生产过程联动控制任务, 脚本引擎支持内置函数:控制命令(ctrl)、控制延迟(delay)、获得当前参数(getpara)、保存中间变量值(save)、控制启动(start)、控制停止(stop)、最新数值(getvalue)和打印日志(log)。如下图:
(9)设备运维业务大屏统计功能主要统计当前系统设备数量、预警设备数量、通讯正常、通讯干扰、通讯中断及按设备区域统计和统计预警信息。展示效果,如下图:
物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS
购买《物联网软件架构设计与实现》:京东购买。
历时9个月重构iNeuOS工业互联网操作系统,打造工业领域的“Office”的更多相关文章
- iNeuOS工业互联网操作系统,在线报表(Excel)开发工具
目 录 1. 概述... 2 2. 视频介绍... 2 3. 应用过程... 2 1. 概述 iNeuOS工业互联网操作系统在线报表(Excel)工具的开 ...
- iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统,vmware、openEuler、postgresql、netcore、nginx、ineuos一站式部署
目 录 1. 概述... 3 2. 创建虚拟机&安装华为欧拉(openEuler)系统... 4 2.1 创建新的虚拟机... 4 2.2 ...
- iNeuOS工业互联网操作系统,智慧用电测控应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 用电测控终端... 3 4. 系统应用介绍... 6 1. 概述 通过物联网技 ...
- iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例
目 录 1. 概述... 2 2. 平台演示... 2 3. 矿山动态产量计量系统... 2 4. 铁路车辆识别系统... 4 1. 概述 iN ...
- iNeuOS工业互联网操作系统下发命令给iNeuLink硬件网关,进一步修改设备参数和控制设备
目 录 1. 应用场景... 1 2. DCS数据采集... 2 3. 硬件网关的配置... 2 4. 平台端配置... 3 1. 应用场景 i ...
- iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具
目 录 1. 概述... 2 2. 设备运维业务... 3 3. "低代码"表单开发工具... 6 1. 概述 iNeuOS工业互联网 ...
- iNeuOS工业互联网操作系统,面向4个领域颁发第一批技术认证资质
为了更好的紧密合作.利益多赢和共建生态.iNeuOS工业互联网操作系统面向:仪器仪表.双碳环保.核能科学与工程和钢铁冶金领域颁发第一批技术认证资质,一共21名同志在项目实施过程中表现突出,从iNeuO ...
- iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报
目 录 1..... 概述... 1 2..... 升级的工程... 3 3..... 升级的代码差异... 4 4..... 系统运行... 5 1. 概述 我们团队一直在工业领域从 ...
- iNeuOS工业互联网操作系统,三维(3D)模型在线编辑应用和实时数据统计(和值、均值、众数、方差、中位数等)
目 录 1. 概述... 1 2. 三维(3D)模型在线编辑与应用... 2 3. 实时数据统计... 4 1. 概述 此次,iNeuOS工业互联网操作系 ...
- iNeuLink硬件网关与iNeuOS工业互联网操作系统互联互通应用案例
目 录 1. 应用概述... 2 2. 模拟硬件设备配置... 2 3. iNeuLink硬件网关配置... 4 3.1 硬件介绍... ...
随机推荐
- count(*), count(1), count(列名)的区别
1.从结果上来看 count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去过滤空值. 2.从执行 ...
- CentOS 7.9 安装 redis-6.2.0
一.CentOS 7.9 安装 redis-6.2.0 1 下载地址:https://download.redis.io/releases/redis-6.2.0.tar.gz 2 安装gcc来进行编 ...
- P3008 [USACO11JAN]Roads and Planes G (最短路+拓扑排序)
该最短路可不同于平时简单的最短路模板. 这道题一看就知道用SPFA,但是众所周知,USACO要卡spfa,所以要用更快的算法. 单向边不构成环,双向边都是非负的,所以可以将图分成若干个连通块(内部只有 ...
- 使用Java实现haskell-style的list
作为一个haskell这门函数式编程语言的爱好者,我特别喜欢它的list操作和推导功能.与传统面向对象或者过程语言不同的是,函数式语言通常喜欢把它们分为head.tail或者init.last等两部分 ...
- 微信DAT文件转JPG图片(图片恢复)
微信电脑版现在已经是日常工作生活必不可少的工具,有时候删除了聊天记录或者被系统清理软件清理了,但还想查看曾经的微信聊天图片. 这个时候辛辛苦苦找到了文件,却发现无法查看,因为微信电脑版为了保护我们的隐 ...
- 【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码
前言 前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5.本次主要是和大家分享使用LabVIEW快速实现yolov5的物体 ...
- numba jit加速python程序
numba numba加速循环.numpy的一些运算,大概是将python和numpy的一些代码转化为机器代码,速度飞快! 加速耗时很长的循环时: from numba import jit # 在函 ...
- Linux基础_6_文本编辑
vi i #编辑 ESC+:wq #保存退出 ESC+ZZ #保存退出 ESC+:q! #不保存退出 shift+z+q #不保存退出 dd #删除所在行 ESC+u #撤销dd误操作 :/字符串 # ...
- 设计模式学习(二十四):Spring 中使用到的设计模式
设计模式学习(二十四):Spring 中使用到的设计模式 作者:Grey 原文地址: 博客园:设计模式学习(二十四):Spring 中使用到的设计模式 CSDN:设计模式学习(二十四):Spring ...
- Terminal(oh-my-zsh) 美化
如果你使用Mac进行开发,那么Terminal.app应该是你使用非常频繁的app了.初体验Terminal时你可能觉得单调乏味,阅读密密麻麻的内容也很费劲.但是如果你跟着我一起配置它,就会发现你平时 ...