You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mango Automation V5.0.3时间数据处理及控制页面搭建技术问询

Mango Automation V5.0.3 启停时间统计虚拟数据点配置方案

一、所需虚拟数据点及配置

1. 启停控制开关(二进制点)

  • 类型:虚拟数据源(Virtual Data Source)
  • 数据类型:Binary(布尔型)
  • 点标识符:device_run_switch
  • 核心配置:
    • 数据源选择Virtual
    • 默认值设为false(初始停止状态)
    • 勾选「可写」,允许前端页面控制切换

2. 启动时间戳点(日期时间型)

  • 类型:虚拟数据源
  • 数据类型:DateTime
  • 点标识符:device_start_time
  • 核心配置:
    • 数据源选择Virtual
    • 默认值设为null
    • 绑定事件处理:当device_run_switch从false切换为true时,自动将当前时间now()写入该点

3. 停止时间戳点(日期时间型)

  • 类型:虚拟数据源
  • 数据类型:DateTime
  • 点标识符:device_stop_time
  • 核心配置:
    • 数据源选择Virtual
    • 默认值设为null
    • 绑定事件处理:当device_run_switch从true切换为false时,执行两个动作:
      1. 将当前时间now()写入该点
      2. 计算本次运行时长((now() - device_start_time)/1000,毫秒转秒),累加到累计运行时长点

4. 累计运行时长(整数型,单位:秒)

  • 类型:虚拟数据源
  • 数据类型:Numeric(整数)
  • 点标识符:total_run_seconds
  • 核心配置:
    • 数据源选择Virtual
    • 默认值设为0
    • 仅通过停止事件触发更新,实现历史运行时长的累加存储

5. 实时运行时长(整数型,单位:秒)

  • 类型:虚拟数据源(或元数据点Meta Point)
  • 数据类型:Numeric(整数)
  • 点标识符:current_run_seconds
  • 核心配置:
    • 数据源选择Virtual,或用Meta Point实现定时计算
    • 默认值设为0
    • 定时触发(每秒1次)脚本逻辑:
      const switchState = pointValue('device_run_switch');
      const startTime = pointValue('device_start_time');
      if (switchState && startTime) {
          return Math.floor((Date.now() - startTime.getTime())/1000);
      }
      return pointValue('current_run_seconds');
      

二、前端页面展示配置

1. 启停开关组件

  • 选用Binary Switch组件,绑定device_run_switch,设置切换文本为「启动」/「停止」

2. 时间戳展示

  • 启动时间:用Text组件绑定device_start_time,格式设置为yyyy-MM-dd HH:mm:ss
  • 停止时间:用Text组件绑定device_stop_time,格式同上

3. 运行时长双格式展示

实时运行时长

  • 秒数格式:Text组件绑定current_run_seconds,格式设为0(整数显示)
  • 时间格式(HH:mm:ss):Text组件添加自定义脚本:
    const secs = pointValue('current_run_seconds') || 0;
    const h = Math.floor(secs / 3600).toString().padStart(2, '0');
    const m = Math.floor((secs % 3600)/60).toString().padStart(2, '0');
    const s = Math.floor(secs % 60).toString().padStart(2, '0');
    return `${h}:${m}:${s}`;
    

累计运行时长

  • 秒数格式:Text组件绑定total_run_seconds,格式设为0
  • 时间格式(HH:mm:ss):复用上述脚本,将current_run_seconds替换为total_run_seconds

三、关键注意事项

  • 事件处理的触发条件需严格设置为「状态从X切换到Y」,避免重复触发更新
  • 实时运行时长的定时频率建议1秒,兼顾实时性与系统性能
  • 若无需持久化实时运行时长,可省略current_run_seconds数据点,直接在前端脚本通过device_start_time与当前时间计算

内容的提问来源于stack exchange,提问作者mk900

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:30:10