【乐吾乐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,一经查实,立即删除!

相关文章

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

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

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

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

北京大学第一医院与智源研究院共同发布基于可信执行环境的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;可变长…

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

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

Android下HWC以及drm_hwcomposer普法(上)

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

汽车悬架分为哪几类

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

倒角距离【Chamfer Distance】

倒角距离&#xff08;chamfer distance&#xff09;是用于评估两组点之间的相似度的度量。给定两个点集 A 和 B&#xff0c;倒角距离定义为 A 中每个点到 B 中最近邻点的距离之和&#xff0c;加上 B 中每个点到 A 中最近邻点的距离之和。它用于各种应用&#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…

CSS+Canvas绘制最美星空(一闪一闪亮晶晶效果+流星划过)

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><style>body,html {margin: 0;padding: 0;ov…

20 VUE学习:插件

介绍 插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。下面是如何安装一个插件的示例&#xff1a; import { createApp } from vueconst app createApp({})app.use(myPlugin, {/* 可选的选项 */ })一个插件可以是一个拥有 install() 方法的对象&#xff0c;也可以直接…

CNAS软件测试公司作用分享,如何获取CNAS软件测试报告?

在软件测试行业&#xff0c;CNAS认可和CNAS软件测试公司是不可忽视的关键词。CNAS认可是指中国合格评定国家认可委员会对特定领域组织、机构或公司的能力和资质进行的认可过程。该认可遵循国际标准及相关法律法规&#xff0c;是评定组织或实验室技术能力和专业水平的权威认可&a…

【考研数学】李艳芳900比李林880难吗?值得做吗?

差不多&#xff0c;只能说基础没搞好刷这两个都很费劲 李艳芳900题把每个章节题目划分为ABC三个难度级别&#xff0c;题目选取的难度较大也比较新颖&#xff0c;计算量也非常接近考研趋势&#xff0c;原创性很高&#xff0c;比较适合过完一轮的同学继续做补充和强化 880算是比…

Java 数组的基本使用【Array】

目录 含义语法格式语句特点数组的长度数组的元素打印数组显示数组数组的复制扩展示例【12】 含义 数组&#xff08;array&#xff09;是一种最简单的复合数据类型&#xff0c;它是有序数据的集合&#xff0c;数组中的每个元素具有相同的数据类型&#xff0c;可以用一个统一的数…

cesium绘制编辑区域

npm 安装也是可以的 #默认安装最新的 yarn add cesium#卸载插件 yarn remove cesium#安装指定版本的 yarn add cesium1.96.0#安装指定版本到测试环境 yarn add cesium1.96.0 -D yarn install turf/turf token记得换成您自己的&#xff01;&#xff01;&#xff01; <t…

如何培养元技能?

如何培养元技能&#xff1f; 一、引言 在当今社会&#xff0c;仅仅依靠某一专业技能是远远不够的。我们需要拓宽自己的能力和视野&#xff0c;从而更好地应对日新月异的社会发展和工作需求。在这个过程中&#xff0c;培养元技能变得至关重要。元技能不仅有助于我们在各个领域中…

【全开源】驾校管理系统源码(FastAdmin+ThinkPHP)

一款基于FastAdminThinkPHP开发的驾校管理系统&#xff0c;驾校管理系统(DSS)主要面向驾驶学校实现内部信息化管理&#xff0c;让驾校管理者和工作人员更高效、更快捷的完成枯燥无味的工作&#xff0c;让工作更有条理。改变驾校传统的手工或半手工Excel文档管理的工作方式。多驾…