2023物联网新动向:WEB组态除了用于数据展示,也支持搭建业务逻辑,提供与蓝图连线和NodeRed规则链类似的可视化编程能力

news2024/11/19 5:27:46

前言

组态编辑在工业控制、物联网场景中十分常见,越来越多的物联网平台也把组态作为一项标配功能。

物联网产业链自下往上由“端 - 边 - 管 - 云 -用”多个环节构成,组态通常是用于搭建数据展示类型的应用,而随着系统集成度越来越高,项目中对应用的业务逻辑的要求也越来越高。

因此,组态具备业务逻辑的搭建能力,相比纯粹数据报表可视化展示,更能契合当下项目交付的需求。

先行者:UE4蓝图连线和NodeRed规则链

如下图所示,这是UE4虚幻引擎的蓝图编辑,通常用于做交互和游戏动作脚本,用在数字孪生中可以做动画和交互,能实现逻辑判断和业务流程,而不需要硬编码开发。

图片

下图是基于IBM的NodeRed编辑,近年来越来越多地出现在物联网平台、工业互联网平台中,用于数据清洗、告警分发、逻辑联动等。通过可视化连线的方式,实现业务规则的动态编排,降低了系统的使用门槛。

图片

物联网应用上的启发

相对于蓝图主要解决动作交互脚本、NodeRed主要解决服务模块的业务规则编排,物联网应用的多样性,对业务逻辑可视化编排的要求更加复杂。具体可以体现在以下方面:

  • 复杂应用中UI组件之间的事件交互逻辑

  • 接口请求返回的任意结构化数据的解析

  • 业务应用对逻辑或UI组件的模块化封装

这三点分别代表了物联网应用的交互逻辑、数据解析、模块化封装三个重要部分,缺一不可。
    首先,交互逻辑是大部分业务应用首先面临的,比如点击某个自定义按钮,提交自定义表单。
    其次,接口数据解析,是业务功能最常见的操作,并且还可能涉及到多个接口调用的衔接,比如登录接口请求成功后,数据给到设备列表接口,再根据默认的设备,初始化调用数据查询接口。
    最后,不论是功能逻辑,还是界面,如果不能模块化封装、复用,那么只会让逻辑越来越复杂,开发、维护变得异常繁琐,还不如面向对象的代码开发来的清晰。这也是蓝图等常见的连线操作通常让人诟病的地方。

像设计原型那样,搭建复杂的前端应用

经过一年的升级重构,IOTOS正式推出原物联组态的替代产品:UIOTOS。该产品具有连线、嵌套和属性暴露三个重要特性,很好地解决了物联网应用中需要面对的上述三个难题。

图片

连线相对于蓝图、NodeRed,能体现引用赋值、追加赋值、for循环等类似开发语言的特性。如下所示:

图片

嵌套则很好地实现了组件的0代码封装,包括连线业务逻辑、UI界面,实现将模块进行逐层封装,实现渐进式、增量化搭建。

图片

在UIOTOS中,用户无需懂编程语言,以独特的连线和嵌套操作,结合拖拽编辑,可以实现定制化交互界面、复杂业务逻辑的开发,达到与vue、QT等代码开发媲美的效果,适用于工业组态、数据大屏、客户端工具、中后台管理等。

图片

图片

示例:新风系统的组态监控画面,包含了数据模拟、扇叶转动、点击切换启停等。

图片

此外,提供了物联中台(可选),支持modbus、opc、西门子plc等各类型协议或子系统SDK的集成接入,数据通过API组件以MQTT、HTTP、WEBSOCKET等通道传递给图形UI组件,实现实时展示或历史分析。

图片

点击查看原文,了解更多。

  • 在线试用:ui.aiotos.net

  • 账号密码:develop/iotos123456

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/971866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cocosCreator2.4.x 打包 ios ,xcode问题记录

Q:Uncaught ReferenceError: CC_PHYSICS_BUILTIN is not defined A:先clean build folder....,然后重新build Q:xcode 使用模拟器预览 报错 In /Library/Developer/Xcode/DerivedData/hello_world-djnvsdcqyfoqvdepilidvunfunto…

17-Sharding-jdbc

一 Sharding-JDBC介绍 1 背景 随着通信技术的革新,全新领域的应用层出不穷,数据存量随着应用的探索不断增加,数据的存储和计算模式无时无刻不面临着创 新。面向交易、大数据、关联分析、物联网等场景越来越细分,单 一数据库再也无…

IS-IS实验总结 (下)

路漫漫其修远兮,吾将上下而求索 今天发布一篇自己关于IS-IS的自我总结,和一些简单的实验,我写的肯定不是最全的,但是这是我进行的自我总结的文章,省去了许多高大上的冠冕堂皇的话语,节约您学习的时间。 我…

Ansible之playbook剧本

一、playbook概述1.1 playbook 介绍1.2 playbook 组成部分 二、playbook 示例2.1 playbook 启动及检测2.2 实例一2.3 vars 定义、引用变量2.4 指定远程主机sudo切换用户2.5 when条件判断2.6 迭代2.7 Templates 模块1.先准备一个以 .j2 为后缀的 template 模板文件,设…

php代理刷访问量(附源码)

众所周知,所谓的访问量就是用户的点击次数。当然,如果真只是单纯记录用户的访问次数,那访问量刷起来也太简单了,不断的刷新网页就行。因此,常规的网站记录访问量是通过ip来的,一个有效ip对应一个访问量。通…

【MySQL学习笔记】(八)复合查询

在前面的笔记中做的查询基本都是对一张表进行查询,在实际开发中远远不够,本篇文章内容是复合查询相关的笔记。需要用到oracle9i的经典测试表,在笔记(六)中已经教大家如何导入了。 复合查询 基本查询回顾多表查询子连接…

LinkedList(4):多线程LinkedList 不安全情况

多线程不安全演示,线程越多,现象越明显,这边只启了四个线程。 package com.example.demo;import java.util.LinkedList; import java.util.UUID;public class LInkedListThread {public static void main(String[] args) {final LinkedList&…

CLion远程Linux开发环境搭建及找不到Linux头文件的解决方法

CLion远程开发环境搭建及找不到Linux头文件的解决方法 文章目录 CLion远程开发环境搭建及找不到Linux头文件的解决方法1.前言2.远程开发3.远程编译4.远程调试5.远程开发Linux头文件找不到&#xff08;比如pthread.h、<sys/socket.h>&#xff09;6.最后 1.前言 在某些时候…

【iOS】Category、Extension和关联对象

Category分类 Category 是 比继承更为简洁 的方法来对Class进行扩展,无需创建子类就可以为现有的类动态添加方法。 可以给项目内任何已经存在的类 添加 Category甚至可以是系统库/闭源库等只暴露了声明文件的类 添加 Category (看不到.m 文件的类)通过 Category 可以添加 实例…

ABB 3BSE017427R1 NBIO-21CU控制模块

通道数目&#xff1a; NBIO-21CU 控制模块通常具有多个输入/输出通道&#xff0c;这些通道可以用于连接不同类型的传感器、执行器或其他外部设备。 输入/输出类型&#xff1a; 这种模块可以支持不同类型的输入和输出&#xff0c;包括数字输入、数字输出、模拟输入和模拟输出。…

lv3 嵌入式开发-7 linux shell脚本编程(分支语句、循环语句)

目录 1 分支语句 2 多路分支语句 3 for的用法 4 while的用法 5 循环控制语句 6 练习 1 分支语句 语法结构: if 表达式then 命令表fi 如果表达式为真, 则执行命令表中的命令; 否则退出if语句, 即执行fi后面的语句。 if和fi是条件语句的语句括号, 必须成对使用; …

(数字图像处理MATLAB+Python)第十二章图像编码-第一、二节:图像编码基本理论和无损编码

文章目录 一&#xff1a;图像编码基本理论&#xff08;1&#xff09;图像压缩的必要性&#xff08;2&#xff09;图像压缩的可能性A&#xff1a;编码冗余B&#xff1a;像素间冗余C&#xff1a;心理视觉冗余 &#xff08;3&#xff09;图像压缩方法分类A&#xff1a;基于编码前后…

搭建单机版FastDFS分布式文件存储系统

一、准备工作 1、下载FastDFS安装包和依赖包 https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43 https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06 https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22 注&…

U盘之识别量产工具

了解常识 U盘&#xff08;USB闪存驱动器&#xff09;是一种可重复擦写的存储设备&#xff0c;具有便携、容量大、使用方便等特点&#xff0c;是现代电脑用户存储和传输数据的主要设备之一。 以下是关于U盘的常识&#xff1a; U盘的存储容量通常以GB&#xff08;千兆字节&#x…

Java对象内存分配流程

文章目录 一、前言二、Java对象内存分配流程2.1、分配流程2.2、什么是逃逸分析&#xff1f;2.2.1逃逸分析主要关注两个方面的信息&#xff1a;2.2.2逃逸分析的好处包括&#xff1a;2.2.3、为什么要分配到栈上&#xff1f; 2.3、什么是大对象&#xff1f;2.4、什么是TLAB&#x…

微服务-kubernetes安装

文章目录 一、前言二、kubernetes2.1、Kubernetes (K8S) 是什么2.1.1、主要特性&#xff1a;2.2.2、传统部署方式&#xff1a;2.2.3、虚拟机部署2.2.4容器部署2.2.5什么时候需要 Kubernetes2.2.6、Kubernetes 集群架构 三、kubernetes安装3.1、主节点需要组件3.1.1、设置对应主…

SpingMvc入门

SpingMvc入门 1.MVC Spring的工作流程&#xff1a;2.sping mvc入门3.静态资源处理 前言 Spring MVC是一种基于Java的web应用开发框架&#xff0c;它采用了MVC&#xff08;Model-View-Controller&#xff09;设计模式来帮助开发者组织和管理应用程序的各个组件。 1.MVC Spring的…

Spring Security安全登录的调用过程以及获取权限的调用过程

1.第一次登录时候调用/user/login整个流程分析 (0)权限授理 首先调用SecurityConfig.java中的config函数将jwtAuthenticationTokenFilter过滤器放在UsernamePasswordAuthenticationFilter之前 Override protected void configure(HttpSecurity http) throws Exception{......…

2023-9-4 欧拉函数

题目链接&#xff1a;欧拉函数 #include <iostream>using namespace std;int main() {int n;cin >> n;while(n --){int x;cin >> x;int res x;for(int i 2; i < x / i; i){if(x % i 0){res res / i * (i - 1); // 公式 N * (1 - 1 / p1) * (1 - 1/ p2…

R语言应用interactionR包进行亚组相加交互作用分析

在统计分析中交互作用是指某因素的作用随其他因素水平变化而变化&#xff0c;两因素共同作用不等于两因素单独作用之和(相加交互作用)或之积(相乘交互作用)。相互作用的评估是尺度相关的&#xff1a;乘法或加法。乘法尺度上的相互作用意味着两次暴露的综合效应大于&#xff08;…