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

ops/2024/10/22 7:29:17/

在属性 - 数据面板中,您可以对操作对象设置数据,我们又称它为动态数据。动态数据主要有以下几个作用:

  1. 业务字段扩展。您可以使用动态数据来存储一些业务字段,例如设备名称、编号、规格等等数据。
  2. 控制对象属性。当动态数据为操作对象的属性时,修改动态数据即会同时修改对应的属性。属性包括基本属性、动画属性、面板属性等。
  3. 条件状态控制。您可以对动态数据预设状态控制项,然后我们会在运行时对动态数据值的变化进行监控。当值满足状态控制项的条件时,会自动执行预设的动作,例如改变属性、执行动画、切换视角等。
  4. 关联数据点号。在编辑器中,通过后台数据来实时更新前端数据的最主要的方法就是将动态数据与数据集中的数据点号相关联。当系统监测到数据点号的值发生改变后,所有与之相关联的动态数据也会发生改变。

因此,动态数据是一个非常重要、非常常用的功能,本章也会详细为您介绍如何设置动态数据。

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

编辑动态数据

选择一个操作对象,然后打开属性 - 数据面板,会显示当前对象的数据列表。

点击新建动态数据按钮,会弹出动态数据设置面板。

  1. 字段:设置动态数据的字段。字段的类型包括自定义、属性、自定义动画属性、自带动画属性、内容五种。
    1. 自定义属性,指的是用户扩展的业务属性。
    2. 属性,指的是操作对象支持的属性,例如位置、缩放、旋转、材质属性、贴图属性等等。
    3. 自定义动画,指的是操作对象设置的自定义动画所支持的属性。
    4. 自带动画属性,指的是操作对象的自带动画所支持的属性。
    5. 内容,指的是面板设置的内容所支持的属性。
  1. 显示名称:设置动态数据的显示名称,如果不设置默认显示字段。
  2. 值:设置动态数据的当前值。
  3. 过渡时间:设置动态数据的值改变时的过渡时间。如果字段类型为属性且该属性支持动画时,可以设置此项。
  4. 过渡模式:设置过渡的模式,支持匀速、先慢后快、先快后慢、先慢再快后慢四种。

设置完毕后,点击确定,动态数据列表中会新增一条动态数据。点击编辑按钮可以重新设置动态数据,点击删除按钮可以删除动态数据。

在编辑状态下,每当您修改动态数据的值后,如果该动态数据的字段类型为非自定义字段,那么相对应的属性也会发生改变。例如动态数据字段为位置-X,您修改其值为1,那么该操作对象的位置-X也会被修改成1,并且如果您设置了过渡时间和过渡模式,则同时会预览到过渡的效果。

关联数据点号

只有动态数据才能与数据点号关联。点击关联按钮,在弹出框中会显示当前场景的数据集列表,您可以选择与某个数据点号进行关联。如果动态数据没有与任何数据点号关联,关联按钮则无背景色。如果动态数据关联了某个数据点号,且数据集中有对应的数据点,则关联按钮背景色为蓝色。如果动态数据关联了某个数据点号,但是数据集中没有对应的数据点,则关联按钮背景色为红色。当与数据点号关联时,动态数据的值会自动变成对应数据点的值。

与数据点号关联后,无论是在编辑状态还是运行状态,每当对应的数据点的值发生改变时,动态数据都会发生改变。

关于数据集的相关设置,请查看数据集与数据订阅文档。

状态控制

有时,我们希望动态数据在满足某些条件时自动执行某些动作,例如设备在故障时播放故障动画,并且视角自动切换到该设备。此时我们就可以对动态数据设置状态控制,状态控制包括触发条件与执行动作,只有当动态数据的值满足指定的条件时,设置的执行动作才会被执行。

如图所示,我们设置了一个动态数据,字段类型是自定义,字段值为error,它表示当前设备是否发生故障。因为故障分为两种状态,一种是发生故障,一种是未发生故障,因此它的值类型我们设置未布尔值,默认为false,也就是未发生故障。现在我们需要设备在发生故障时执行预设好的故障动画,恢复正常后停止执行故障动画。因此,我们可以给它设置两个状态控制。

第一个状态控制表示未发生故障,触发条件设置为值等于false,执行动作为停止自身的故障动画。第二个状态控制表示发生故障,触发条件设置为值等于true,执行动作为开始自身的故障动画。

这样,在运行状态下,当这个动态数据error的值为true时,满足了发生故障设置的触发条件,因此就会执行故障动画,当值为false时,满足了未发生故障设置的触发条件,因此就会停止执行故障动画。对于更为复杂的状态控制,我们也可以按照这种方式来扩展。

请注意,由于执行动作也属于事件,因此不管是否满足条件,都只有在运行状态下才会触发。关于执行动作具体的参数介绍,请查看交互文档。


http://www.ppmy.cn/ops/45529.html

相关文章

【排序算法】冒泡排序

一、定义: 冒泡排序(Bubble Sort)是一种简单直观的排序算法。重复走访过要排序的元素列,相邻的元素依次比较将无序的一组数据变成有序(升序或者降序)。走访元素的工作是重复地进行,一直到没有相…

lynis安全漏洞扫描工具

Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议。这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置。 安装 方式1 git下载使用git clone https://github…

【C++】【VScode】常用快捷键

在Visual Studio Code (VSCode) 中,有几个快捷键可以帮助你更高效地编写C代码,特别是与代码提示、自动完成等功能相关的快捷键。这些功能大多数依赖于安装和配置好的C/C扩展(通常是由Microsoft提供的)。以下是几个有助于代码提示和…

OpenCV引入QT编译

OpenCV引入QT编译 为什么要引入QT编译编译方式 Reference: OpenCV 配置选项参考文档 网上实在找不到对应教程,在此做个记录。 为什么要引入QT编译 在没引入QT前,没有上述工具栏。 可以显示当前像素位置的像素值。 可以缩放查看每一个像素的大小。这对…

【Linux】Git超详细教程:手把手教你(gitee版)--版本管理+远程仓库克隆(初学者必看!!!)

目录 一、前言 二、git 的深度理解 🥝 什么是 git ? 🍇 git 的历史发展(理解 git 的由来) 🍋 感性理解 git 的版本管理 三、git 的安装 ✨Window 终端安装 ✨Linux 安装 四、git 的工作流程 五、如何在 Linux …

mysql中的IN和NOT IN

在MySQL中,IN 和 NOT IN 是用于进行集合比较的条件运算符。它们可以用于简化多个 OR 或 AND 条件的查询。这些运算符在查询语句中非常常见,用于检查某个值是否在指定的集合中。 IN 运算符用于检查某个值是否在指定的集合中。NOT IN 运算符用于检查某个值…

【Unity脚本】Unity中如何按类型查找游戏对象(GameObject)

【知识链】Unity -> 脚本系统 -> 访问游戏对象 -> 按类型访问游戏对象摘要:本文介绍了Unity中按类型查找游戏对象(GameObject)的五种方法,并提出了使用这些方法的最佳实践。 本文目录 一、访问游戏对象的方法二、如何按…

FPGA新起点V1开发板(八-语法篇)——状态机

文章目录 一、两个状态机模型二、状态机设计(四段论)2.1 状态空间定义2.2 状态跳转(时序逻辑)2.3 下个状态判断(组合逻辑)2.4 各个状态下的动作2.5 三段式 一、两个状态机模型 二、状态机设计(四…