【乐吾乐3D可视化组态编辑器】数据集与数据订阅

对于物联网或者数字孪生项目来说,单纯的静态场景展示是无法满足需求的,它需要系统可以提供一种方式将后台数据与模型数据关联,当后台数据推送更新时,模型数据能自动同步。接下来,我们将向您介绍如何在系统中实现这一需求。

编辑器地址:3D可视化组态 - 乐吾乐Le5le

数据集

数据集是若干数据点的集合,每一个数据点都包括数据点号、名称、数据类型、值、模拟规则等属性,其中数据点号是区分数据点的唯一标识,在数据集中不可重复。数据点可以与场景中操作对象的动态数据关联,当数据点的值发生改变时,所有与之关联的动态数据的值也会发生改变。

需要注意的是,即使在同一项目中,不同场景的数据集数据也都是互相独立、互不影响的,也就是说如果项目中有多个场景,您可能需要对每个场景都单独设置数据集。不过我们也提供了多种方法快速复用数据集,以减少创建的重复操作。

由于项目文件中会保存场景的数据集数据,因此我们建议每个场景的数据集中应只保留该场景用到的数据点,以免造成数据冗余。

数据点

点击工具栏 - 数据集按钮,就可以打开数据集设置弹窗。切换到数据集设置页,会显示当前场景的数据集表格。点击新增数据点按钮,可以在弹窗中设置数据点的信息。

  1. 数据点号:唯一标识,同一数据集中不可重复,必填。
  2. 显示名称:数据点的名称,可以重复,如果未设置则显示数据点的点号。
  3. 数据类型:数据点的值类型,包括字符串、数值(整数/浮点数)、布尔值(true/false)。
  4. 值:数据点的初始值。
  5. 模拟规则:在模拟数据时,随机生成数据点的值时遵循的规则。
  6. 开启模拟:模拟数据时,如果此数据点开启模拟,则会按照模拟规则随机生成数据。
  7. 描述:此数据点的描述备注。

设置完毕后,点击确认按钮,数据集表格中便会新增一条数据点。在表格的操作列中,点击编辑按钮,可以修改对应数据点的信息,点击删除按钮,可以删除数据点。注意,编辑数据点无法修改数据点号,如果您需要修改数据点号,可以删除后重新添加。

保存数据集

如果您需要在其他场景或者项目中复用数据集,或者以某个数据集为模板,在其基础上进行修改或扩展,那么您可以使用我们提供的保存数据集的方法。

一种是保存为模板。点击保存为模板按钮,在弹窗中输入模板名称及描述,点击确认按钮,就可以把当前数据集作为模板上传到云端。

第二种是保存为JSON文件。点击下载为JSON按钮,我们会创建一个下载任务,把当前数据集数据保存到JSON文件中下载到您的电脑中。

第三种是保存为EXCEL文件。与第二种类似,不过下载的是XLSX文件。

导入数据集

有了数据集模板后,我们就可以进行导入操作。我们也同样提供了三种导入数据集的方法。

第一种是使用云端模板。点击选择模板单选框,后面会出现选择模板下拉框,点击下拉框后系统会从云端读取已保存的模板列表,读取完毕后您就可以点击下拉选项来导入该模板数据。

第二种是使用在线数据。点击在线数据单选框,后面会出现一个输入框,用来输入接口地址。按下回车或者点击输入框后的图标,系统会向该地址发送HTTP请求,该地址需要返回符合数据集数据格式的数据。解析成功后会自动导入返回的数据。

接口返回的数据格式如下:

[{"device": "设备1","label": "整数0-100","id": "data-001","type": "integer","mock": "0-100"
}, ...]

Copy

第三种是导入文件。点击选择文件单选框,后面会出现选择文件按钮,点击后您可以选择本地的数据集文件(JSON或者XLSX)并上传,解析成功后便会导入文件中的数据。

请注意,新的数据集会覆盖当前场景的数据集,所以请谨慎操作。

关联动态数据

设置好了数据集,我们就可以关联动态数据了。

关闭数据集弹窗,点击操作对象,打开右侧数据面板,点击您要关联的动态数据后面的关联按钮,即可打开关联数据点弹窗。

在弹窗中,我们会显示当前数据集表格,并且每个数据点行首会有单选按钮。点击数据点所在行,可以选择所关联的数据点。点击当前关联的数据点标签,可以快速将表格定位到该数据点所在行,点击标签后的关闭按钮可解除关联关系。

确定关联的数据点后,点击确认按钮,即完成数据点与动态数据的关联操作。

另外需要注意的是,系统记录关联关系时保存的是数据点号,并且在数据集中执行删除数据点或者重新导入数据集的操作不会解除这种关联关系。例如数据集中有数据点的数据点号为A,并且动态数据B与点号A建立了关联关系。然后我们删除这个数据点,系统并不会取消B与点号A的关联关系。但是由于数据点不存在,因此即使后端推送的数据中包含此数据点号以及值,关联的动态数据也不会发生改变。

如果动态数据的关联按钮背景色为蓝色,表示已关联数据点号,并且数据集中有对应的数据点。如果背景色为红色,表示已关联数据点号,但是数据集中不存在对应的数据点。没有背景色表示未关联数据点号。

总的来说,数据集的作用是创建若干个数据点,每个数据点都有唯一的数据点号,用来与动态数据创建关联关系。一个数据点号可以关联多个动态数据,但是一个动态数据只能关联一个数据点号。删除数据点/数据集虽然不会解除关联关系,但是后端推送数据时与该数据点关联的动态数据也不会更新。

数据订阅

创建了数据集,以及与动态数据建立关联关系后,我们就可以通过改变数据点的值的方式,实现模型数据与实时数据同步了。您需要提供后端接口,然后通过前端轮询或者后端主动推送的方式,向前端发送符合规范的数据,前端接收到数据后,根据数据点号首先会查找数据集中对应的数据点并更新其值,然后会查找与数据点号相关联的动态数据并更新其值。

管理数据订阅

点击工具栏 - 数据集按钮,在弹窗中切换到数据订阅设置页,就可以看到当前场景的数据订阅列表。

点击右侧新建数据订阅按钮,可以在弹窗中设置数据订阅信息。

  1. 名称:数据订阅的名称。
  2. 类型:请求方式,支持HTTP/MQTT/WebSocket三种方式。HTTP模式下系统会按照配置的轮询间隔定时向后端地址发送请求,MQTT和WebSocket则会等待后端推送数据。
  3. 地址:后端接口地址。
  4. 方法:HTTP模式下请求的方法。有Get和Post两种。
  5. 参数项:HTTP模式下请求时携带的参数。
  6. 主题:MQTT模式下订阅的消息主题。
  7. 客户端ID:MQTT模式下设置的客户端ID。
  8. 用户名:MQTT模式下设置的用户名。
  9. 密码:MQTT模式下设置的密码。
  10. 子协议:WebSocket模式下指定的子协议,多个子协议用英文逗号分隔。

设置完毕后,点击确认按钮,列表中会新增一条数据订阅。点击编辑按钮可以修改数据订阅内容,但是无法修改请求类型。点击删除按钮可以删除数据订阅。

数据模拟

如果目前您没有后端接口,但是想模拟数据订阅的效果,可以激活开启模拟数据。激活后,当项目处于运行状态下,已经设置了模拟规则并开启模拟的数据点会按照轮询间隔定时生成随机数据。您可以修改轮询间隔来增加或者减少数据生成的等待时间,轮询间隔对所有请求方式为HTTP的数据订阅以及模拟数据生效。

数据格式

后端必须按照我们规定的格式来推送数据,目前我们支持两种返回格式:

  1. 数组Array<{ id: string; value: any; }>。其中,id为需要更新的数据点号,value为更新的值。例如:

[{ id: 'd-1-a-001', value: 120 },{ id: 'd-1-a-002', value: 60 },{ id: 'd-1-a-003', value: '开启' },{ id: 'd-1-a-004', value: false },{ id: 'd-1-a-005', value: 30 },{ id: 'd-1-a-006', value: 22.5 },
]

  1. 键值对{ [ id: string ]: any }。其中,键为需要更新的数据点号,值为更新的值。例如:
{'d-1-a-001': 120,'d-1-a-002': 60,'d-1-a-003': '开启','d-1-a-004': false,'d-1-a-005': 30,'d-1-a-006': 22.5,
}

值的类型需要符合数据集中对应数据点号设定的数据类型。例如数据点号为'd-1-a-001'的数据点,它的数据类型为数值(整数),那么后端也应该推送数值类型的值,如果推送的是非数值,那么系统会强制将其转换为数值,例如推送的是布尔值true,系统会强制转换为1

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

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

相关文章

Bitbucket的原理及应用详解(二)

本系列文章简介: 在数字化和全球化的今天,软件开发和项目管理已经成为企业成功的关键因素之一。随着团队规模的扩大和项目的复杂化,如何高效地协同开发、管理代码和确保代码质量成为了开发者和管理者面临的重要挑战。Bitbucket作为一款功能强大的代码托管和协作平台,为这些…

Linux--线程的分离、线程库的地址关系的理解、线程的简单封装(二)

线程系列&#xff1a; 线程的认识&#xff1a;讲解线程的概念和线程的基本控制 线程的分离 线程分离是指将一个线程从主线程中分离出来&#xff0c;使其能够独立运行。当一个线程被设置为分离状态时&#xff0c;它结束时系统会自动回收其资源&#xff0c;而不需要其他线程使用…

ArcGIS空间数据处理、空间分析与制图;PLUS模型和InVEST模型的原理,参量提取与模型运行及结果分析;土地利用时空变化以及对生态系统服务的影响分析

工业革命以来&#xff0c;社会生产力迅速提高&#xff0c;人类活动频繁&#xff0c;此外人口与日俱增对土地的需求与改造更加强烈&#xff0c;人-地关系日益紧张。此外&#xff0c;土地资源的不合理开发利用更是造成了水土流失、植被退化、水资源短缺、区域气候变化、生物多样性…

如何在XDMA中查看LTSSM状态机

简介 经常会遇到PCIe不能识别的问题&#xff0c;到底怎么去定位。本文以XDMA 为例&#xff0c;一方面复习下LTSSM状态机&#xff0c;一方面描述下如何通过FPGA的XDMA查看这个状态机 技术名词 LTSSM是一种常用于PCI Express&#xff08;PCIe&#xff09;接口的状态机&#xf…

「前端+鸿蒙」核心技术HTML5+CSS3(四)

1、CSS三大特性 CSS的三大特性指的是层叠(Cascading)、继承(Inheritance)和样式(Style)。 层叠(Cascading):当多个样式规则应用于同一个元素时,CSS规定了样式的优先级,以确定哪个样式将被应用。层叠顺序由选择器的特异性、来源(如内联样式、内部样式表、外部样式表…

北京大学第一医院与智源研究院共同发布基于可信执行环境的AI医学影像挑战赛

肾动脉狭窄是导致继发性高血压及肾功能不全的常见原因&#xff0c;而目前针对肾动脉狭窄功能学的评估尚处于探索阶段。数据保护和可信计算环境是目前人工智能技术应用于临床研究的一大瓶颈。北京大学第一医院与北京智源人工智能研究院心脏AI 联合研究中心特发布基于可信执行环境…

Ubuntu22.04之解决:Flameshot无法截图问题(二百三十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Ant design vue的表格双击编辑功能(即双击开始编辑并自动获得焦点,失去焦点时完成编辑)

本文基于Ant Design Vue官方网站的表格&#xff08;可编辑单元格&#xff09;&#xff08;表格 Table - Ant Design Vue (antdv.com))中的样板代码获得双击编辑且获得焦点、失去焦点时完成编辑的功能。 要点&#xff1a; &#xff08;1&#xff09;双击时候实现编辑&#xff…

如何使用Cloudways搭建WordPress网站(附最新Cloudways优惠码)

如今&#xff0c;搭建网站已经变得非常简单&#xff0c;这主要得益于开源的CMS建站系统的兴起。即使是不懂编程的人也能轻松搭建自己的网站&#xff0c;这些CMS系统提供了丰富的主题模板和插件&#xff0c;使用户可以通过简单的拖放和配置操作来建立自己的网站。 WordPress是目…

子网划分案例

4.2子网划分 “有类编址”的地址划分过于死板&#xff0c;划分的颗粒度太大&#xff0c;会有大量的主机号不能被充分利用&#xff0c;从而造成了大量的IP地址资源浪费。因此可以利用子网划分来减少地址浪费&#xff0c;即VLSM (Variable Length Subnet Mask)&#xff0c;可变长…

Vue3学习- setup 使用 useRoute函数返回为 undefined,语法糖与非语法糖的错误、正确的写法情况

代码情况 import { ref,computed,watch,reactive } from vue import { RouterView,RouterLink,useRoute,useRouter } from vue-router import HelloWorld from ./components/HelloWorld.vue function toggleRoute(){const temprou useRoute()console.log(temprou); }正确 im…

国内前十款专业外盘期货交易app软件排名盘点(综合版)

随着社会经济的不断发展&#xff0c;现在投资者倾向于投资各种项目以获取超额收益。在选择外盘期货交易app软件时&#xff0c;有几个关键的因素需要考虑。首先是软件的可靠度和安全度&#xff0c;因为交易涉及到实际资金。因此&#xff0c;需要选择具备专业资质、经验丰富、充分…

mybatis问题汇总

Mapped Statements collection does not contain value for mapper.xml中namespace存在问题 使用 ${}实现关键字&#xff08;表名、列名&#xff09;的可变 #{} 和 ${} 的区别

Android下HWC以及drm_hwcomposer普法(上)

Android下HWC以及drm_hwcomposer普法(上) 引言 按摩得全套&#xff0c;错了&#xff0c;做事情得全套&#xff0c;普法分析也是如此。drm_hwcomposer如果对Android图形栈有一定研究的童鞋们应该知道它是Android提供的一个的图形后端合成处理HAL模块的实现。但是在分析这个之前…

汽车悬架分为哪几类

汽车悬架分为哪几类 1)汽车的悬架系统可根据结构分为两种:独立悬架和非独立悬架,独立悬架根据构造又可以分为CDC运动悬架(CDC电磁悬架系统)和空气悬架; 2)当前比较火热的空气悬架,是独立悬架的一种; 3)前轮主要使用麦弗逊式独立悬架 和 双叉臂悬架,后轮主要使用多…

实景三维简介

实景三维简介 一、实景三维定义 实景三维&#xff08;3D real scene&#xff09;&#xff0c;是一个专业术语&#xff0c;对一定范围内人类生产、生活和生态空间进行真实、立体、时序化反映和表达的数字空间。 对一定范围内人类生产、生活和生态空间进行真实、立体、时序化反…

倒角距离【Chamfer Distance】

倒角距离&#xff08;chamfer distance&#xff09;是用于评估两组点之间的相似度的度量。给定两个点集 A 和 B&#xff0c;倒角距离定义为 A 中每个点到 B 中最近邻点的距离之和&#xff0c;加上 B 中每个点到 A 中最近邻点的距离之和。它用于各种应用&#xff0c;包括计算机视…

nginx 反向代理配置详解

Nginx 反向代理是一种常用的部署策略&#xff0c;用于将客户端请求转发到内部网络中的一个或多个服务器&#xff0c;这些服务器直接处理请求并返回响应给Nginx&#xff0c;再由Nginx转交给客户端。这种设置可以提高网站的可用性和安全性&#xff0c;同时也能实现负载均衡、缓存…

数据分析——分群思维、RFM实现用户分群

分群思维 按照某个指标&#xff08;可以是用户生命周期、活跃度、付费&#xff09;来划分用户 分群好处&#xff1a; 1.是用户精细化运营的基础&#xff0c;也就是说只有分群了才可以针对每一个群进行运营策略 2.体现用户的差异性&#xff0c;比较不同层级的差异更能发现问题 …

每期一个小窍门 k8s版本的 Prometheus + grafana + alertmanager 三件套部署监控落地

首先部署prometheus 首先是pvc apiVersion: v1 kind: PersistentVolumeClaim metadata:name: prometheus-data-pvcnamespace: monitor spec:accessModes:- ReadWriteManystorageClassName: "data-nfs-storage"resources:requests:storage: 10Gi然后接着 cluster-ro…