Engee 文档

数据检查员

数据检查员 data inspector icon - 是一个 Engee 应用程序,设计用于处理单次模拟和多次模拟的结果,即对多个模型运行的结果进行比较分析。

使用 Engee 数据检查器的两种主要情况如下:

  1. 分析同一模型的不同信号,包括比较分析(比较同一模型的不同信号)。

  2. 同一模型不同运行结果的比较分析(比较同一信号但不同模型运行的结果)。

要打开应用程序,请进入 Engee 工作区,在左上角Engee 应用 apps icon 下选择 数据检查员 data inspector icon

data inspector 1

界面

应用程序在单独的浏览器标签页中运行,默认外观如下:

data inspector 2

窗口由两个区域组成:信号 (1) 和*图形* (2)。让我们详细了解一下它们。

信号区

信号区域包含所有模型运行的所有信号。

要在模拟后分析信号,必须在运行模型前将其标记为可记录。为此,请单击信号线并选择图标recordssignal logging 1

graph logging 1 cn

数据检查员 允许你使用用户会话来简化数据分析。会话是一组`.ngdat`格式的参数,其中包括:

  • 配置plot windowsgraphs icon 1 — 保存坐标轴位置、网格中的行数和列数;

  • 在选定坐标轴上显示特定信号,包括颜色方案;

  • 保存当前运行及其比较结果,以便进一步分析。

您可以在应用程序中保存和加载会话:

data inspector sessions

  1. 加载会话 session loading 1 - 加载已保存的会话时,数据检查器会完全恢复之前保存的配置。

    session loading 2

    加载会话时,可以选择

    • 完全清除当前运行,代之以加载会话中的数据;

    • 将当前运行发送到存档,激活已加载会话中的运行。会话中的存档运行将添加到总存档中。

      session loading 3

  2. 保存会话 session saving 1 - 是捕获数据检查器当前配置的过程,包括图表、信号和运行的设置。

    session saving 2

    有必要决定保存哪些运行:全部可用或选定(打钩)。默认情况下,会话保存在 /user 目录中,名称为 sessionName。保存的会话将在文件浏览器file browser 7 中提供。

    session saving 3


在数据检查器中,信号按运行分组。

data inspector 4

活动运行显示在信号区域的上部,所有其他运行收集在下面的*Archive*中。点击运行名称将展开其属性窗口:

data inspector settings 1

运行面板中提供了各种选项:

  1. *Comment*data inspector comment 1 - 您可以在此描述特定运行的特征,这将有助于将其与其他运行进行比较。

  2. 节省 data inspector save 1 - 所有运行信号都可以保存到 CSV 文件中:

    save to csv 1

  3. 删除 data inspector delete 1 - 从*数据检查器*中删除运行信号。

按下 清晰 按钮可删除*所有*存档运行:

data inspector 5

对于每个信号,您都可以更改线条的颜色和样式。为此,请单击信号名称右侧的彩色条:

data inspector 6

信号名称左侧的复选框用于在选定的坐标平面上显示信号。

图表区域

选定的信号将显示在图形区域。将鼠标移至坐标平面上时,会出现工具栏:

data inspector 7

  1. 信号菜单 data inspector 7 - 打开一个菜单,可选择信号显示类型。可用时域信号signal graph 1一个信号对另一个信号的依赖关系signal graph 3

  2. 扩大规模 button 1 - 缩放坐标平面。您可以选择一个区域并放大其内容。要返回默认比例,请用鼠标左键双击坐标平面。

  3. 平底锅 button 2 - 在坐标平面上移动图表的工具。允许您使用鼠标光标向任意方向移动图表。

  4. 放大 button 3 - 放大坐标平面。

  5. 放大 button 4 - 缩小坐标平面的比例。

  6. 自动缩放 button 5 - 返回坐标平面比例的默认值。

  7. 下载 PNG 图表 button 6 - 将坐标平面保存为 PNG 文件。

  8. 一个光标 button 7 - 将鼠标指针移到图表上时显示图表值。

  9. 两个光标 button 8 - 在所有图表上显示数值。

  10. 复制到剪贴板 button 9 - 将坐标平面复制到剪贴板。您可以将坐标平面粘贴到 Engee 和其他第三方程序中。

  11. 清晰 button 10 - 从坐标平面上删除图表。

除了主要工具外,您还可以使用两个按钮:

  • 轴布置 preset button - 允许您自定义图形输出区域。您可以从基本预设中选择图形布局模板,也可以自行定制。

    button 12

  • 设置 button 11 - 启用/禁用在坐标平面上显示信号名称图例。

存储/加载运行

使用数据检查器获得的结果可以保存到 CSV 文件中:

data inspector wa 3

文件保存路径为 /user/run_data。建议保存所有重要运行结果,以便在必要时恢复。如果运行结果已从存档中删除或无法在检查器中重新分析,则可使用WorkspaceArray 加载并重新播放:

  1. 使用该函数清理 CSV 文件头并将其写入 WorkspaceArray。该函数将删除不必要的前缀、数字和空格(要导出到 WorkspaceArray 的文件头应只包含不含空格的 "时间 "和 "值 "列名):

    function clean_csv_header(file_path::String)
        # Читаем строки из файла
        lines = readlines(file_path)
    
        # проверка целостности CSV-файла
        if !isempty(lines)
            # Удаляем префиксы, цифры и лишние пробелы из заголовка
            cleaned_header = join([strip(replace(split(col, ".") |> last, r"\d+" => "")) for col in split(lines[1], '\t')], '\t')
    
            # перезапись файла
            open(file_path, "w") do file
                write(file, cleaned_header * "\n")
                write(file, join(lines[2:end], "\n"))
            end
        else
            error("Файл пустой.")
        end
    end
    
    file_path = "/user/run_data/my_file.csv" #путь к CSV-файлу
    
    
    clean_csv_header(file_path) #очищение заголовка
    
    workspacecsv = WorkspaceArray("workspacearray_csv", "/user/run_data/my_file.csv") #запись в WorkspaceArray
  2. 打开数据检查器(Data Inspector),其中显示的 WorkspaceArray 变量包含上次运行中的模拟或运行数据:

    data inspector wa 1

使用示例

分析单次模拟结果

以下面的模型为例:

data inspector 8

模块*正弦波* 和*偏置* 的输出信号被标记为受监控。模型模拟完成后,可以在 Data Inspector 中看到它们:

data inspector 9

要在坐标平面上添加信号图形,请选择信号名称旁边的复选框:

data inspector 11

您还可以自定义图形输出字段。单击坐标轴布局按钮preset button ,选择一个左侧有两个较小图形、右侧有一个较大图形的模板:

preset example 1

将鼠标悬停在图表上时,信号值就会显示出来。您可以比较一个图表上的信号。为此

  1. 勾选要比较的信号的复选框。

  2. 将鼠标悬停在button 8 时启用数据比较。

鼠标悬停时,将显示两个信号的值:

data inspector 12 cn

多个模型运行的比较

数据检查员 允许您对多个模型运行进行比较。例如,这便于分析单个参数(或一组参数)对整个模型行为的影响。

让我们更改*偏置* 块中的参数值并运行模拟。在 Data Inspector 中完成模拟后,一个新的运行结果就会出现,而之前的运行结果则会出现在 档案 的列表中:

data inspector 13

来自不同运行的信号可以与来自同一模型的信号进行比较:

data inspector 14

运行和信号可通过 比较 标签进行比较。在一个模型内对运行进行比较:

data inspector run comparison

可比较不同模型和运行的信号:

data inspector signals comparison