保存数据

在工程现场,为了保证出现问题时可以对当时的情景进行复现,以及在离场前做充分的回归验证,RVS 2.0 提供了数据保存功能,自动保存图像、当前工程的输出结果及配方的相关参数数据。

设置步骤

  1. 打开一个工程后,在 工程配置区 点击 “工程助手” 选项卡,然后点击 数据保存,进入 数据保存 界面。

    选择输出端口

  2. 开启 “保存数据与参数” 功能。

    开启该功能后,工程运行时会自动将运行数据存储至指定路径下。

    注意

    • 如果当前工程中不存在数据保存类步骤,则开启数据保存功能后,软件将仅保存参数配方相关数据。

    • 数据保存功能支持多相机数据保存,即如果 RVS 2.0 工程中有多个“从相机获取图像”步骤,则多个相机的数据将被自动保存。

  3. 根据实际需求设置相关参数。

    • 文件位置

      数据默认存储在工程文件夹下 data 文件夹。点击 打开文件,可自定义数据保存路径。建议选择一个具有足够存储空间的磁盘路径,以确保数据能够顺利保存。

    • 运行时保存

      数据保存功能打开时,默认打开。

    • 虚拟模式下保存

      开启后,相机虚拟模式运行时保存数据。

    • 时限

      设定数据/参数保存的天数。超出设置的天数后,自动删除过期数据。

    • 添加/删除参数列表

      默认保存输出结果和配方参数数据。如需保存步骤参数,勾选 “步骤参数”,点击 添加参数,在弹出的对话框中选择需要保存的步骤参数,完成后点击 “确定” 按钮。

      如需删除选择的步骤参数,在步骤参数列表中选中该参数,然后单击 删除参数 即可。

    • 虚拟模式下覆盖参数

      开启后,在虚拟模式下回放数据时,系统将读取保存数据中的 property 文件,提取历史配方参数值,覆盖当前工程中对应步骤的参数配置。覆盖范围包括 properties 中定义的所有参数。

保存结果说明

保存的数据包括以下内容:

  • 数据保存配置文件:位于工程目录下 config/data_storage_config.json,记录数据保存的相关配置参数,如保存路径、保存时间、虚拟模式下保存开关等。

  • 图像数据:保存 "从相机获取图像" 步骤中输出的图像数据,包含彩色图、深度图,以 .png 格式分别存储于 <相机ID>-color/<相机ID>-depth/ 目录下。

    • 深度图: depth_image_YYYYMMDD_HHmmss_fff.png

    • 彩色图: color_image_YYYYMMDD_HHmmss_fff.png

  • 标定数据:保存 "从相机获取图像" 步骤中输出的内参标定数据,以 JSON 文件格式存储于 <相机ID>/ 目录下。

    • 相机彩色图内参: color_Intrinsic.json

    • 相机深度图内参: depth_Intrinsic.json

    • 相机左红外图内参: left_ir_Intrinsic.json

    • 相机右红外图内参: right_ir_Intrinsic.json

  • 步骤参数数据:保存步骤参数数据,包含保存数据界面中添加的参数。配置信息保存以 JSON 文件格式存储于 properties/ 目录下,文件命名格式为 property_YYYYMMDD_HHmmss_fff.jsonproperty 文件内包含以下内容:

    • name:参数名称

    • project_id:工程编号

    • recipe_name:配方名称

    • type:参数类型

    • value:参数值

  • 异常数据:当工程运行过程中出现等级为 Error 的报错时,异常数据将会被保存至 data/error_data 文件夹中,包含当时的图像数据、标定数据和步骤参数数据等,以便进行故障分析和复现。异常数据目录结构:error_data/<异常时间戳>/,其中包含:

    • error_msg.json:异常信息记录,包含 error_msg(错误描述)、error_time(错误时间)、step_guid(出错步骤)、step_name(步骤名称)

    • <相机ID>/:异常时刻的标定参数快照

    • <相机ID>-color/:异常时刻的彩色图

    • <相机ID>-depth/:异常时刻的深度图

    • csv/:异常时刻的现场回溯文件

    • properties/:异常时刻的步骤参数文件

  • 结果输出:当工程中存在自定义"视觉输出"步骤时,以 .json 文件格式存储于 outputs/ 目录下,文件命名格式为 output_YYYYMMDD_HHmmss_fff.json,压缩包以JSON文件记录包含输出端口的键值对。

完整的数据保存结构示例如下:

<工程1>/
├── config/
│   └── data_storage_config.json    # 数据保存配置
├── data/                            # 正常数据保存目录
│   └── <YYYY-MM-DD>/               # 按日期组织
│       ├── <相机ID>/               # 标定参数
│       │   ├── color_Intrinsic.json
│       │   ├── depth_Intrinsic.json
│       │   ├── left_ir_Intrinsic.json
│       │   └── right_ir_Intrinsic.json
│       ├── <相机ID>-color/         # 彩色图
│       │   └── rgb_image_*.png
│       ├── <相机ID>-depth/         # 深度图
│       │   └── depth_image_*.png
│       ├── csv/                    # 现场回溯文件
│       │   └── step_parameter_*.csv
│       ├── outputs/                # 现场回溯文件
│       │   └── output_*.json
│       └── properties/             # 步骤属性
│           └── property_*.json
│   └── error_data/                 # 异常数据隔离目录
│       └── <YYYY-MM-DD>/  # 按异常时间戳组织
│           ├── error_msg.json          # 异常信息
│           ├── <相机ID>/               # 异常时刻标定参数
│           ├── <相机ID>-color/         # 异常时刻彩色图
│           ├── <相机ID>-depth/         # 异常时刻深度图
│           └── properties/             # 异常时刻属性文件
└── <工程名>.VisionProject                    # 工程文件