Документация Engee

Инспектор данных

Инспектор данных — это приложение Engee, предназначенное для работы с результатами как одного моделирования, так и нескольких, то есть сравнительного анализа результатов нескольких запусков модели.

Два основных сценария использования Инспектора данных:

  1. Анализ разных сигналов одной модели, в том числе сравнительный (сравнение разных сигналов одной модели).

  2. Сравнительный анализ результатов разных запусков одной и той же модели (сравнение одного и того же сигнала, но при разных запусках модели).

Запуск Инспектора данных

Для запуска Инспектора данных откройте меню Приложения и выберите Инспектор данных:

data inspector 1

После этого откроется отдельное окно браузера с интерфейсом Инспектор данных.

Пользовательский интерфейс

Окно состоит из двух областей: сигналов (1) и графиков (2).

data inspector 2

Область сигналов

В области сигналов собраны все сигналы всех прогонов модели.

Для анализа сигнала после моделирования нужно еще до запуска модели пометить его как записываемый. Для этого нажмите по сигнальной линии и выберите значок записи signal logging 1:

graph logging 1

Сигналы сгруппированы по прогонам. Последний прогон показан в верхней части области, все остальные собраны в списке Архив. При нажатии на имя прогона разворачивается окно его свойств, также доступна мини-панель управления прогоном:

data inspector 4

На мини-панели доступно:

  1. Комментарий — здесь можно описать особенности конкретного прогона, это поможет при сравнении с другими прогонами.

  2. Сохранить — все сигналы прогона можно сохранить в CSV-файл:

    save to csv 1

  3. Удалить — удаление прогона из Инспектора данных.

Удалить все архивные прогоны одновременно можно кнопкой Очистить:

data inspector 5

Для каждого сигнала доступно изменение цвета и стиля линии. Для этого кликните мышью на цветной полоске справа от названия сигнала:

data inspector 6

Флажок слева от названия сигнала предназначен для вывода сигнала на выбранные координатную плоскость.

Область графиков

В области графиков отображаются выбранные сигналы. При наведении мыши на координатную плоскость появляется панель инструментов:

data inspector 7

  1. Масштабировать button 1 — осуществляет масштабирование координатной плоскости. Появляется возможность выделить область и увеличить ее содержимое. Чтобы вернуть масштаб по умолчанию, дважды кликните на координатной плоскости левой кнопкой мыши.

  2. Панорамировать button 2 — инструмент перемещения графика на координатной плоскости. Позволяет двигать график в любом направлении с помощью курсора мыши.

  3. Увеличить масштаб button 3 — увеличивает масштаб координатной плоскости.

  4. Уменьшить масштаб button 4 — уменьшает масштаб координатной плоскости.

  5. Масштабировать автоматически button 5 — возвращает значение масштаба координатной плоскости по умолчанию.

  6. Скачать график как PNG button 6 — сохраняет координатную плоскость в файл с форматом PNG.

  7. Показывать ближайшие данные при наведении button 7 — отображает на графике значения при наведении на него указателя мыши.

  8. Сравнивать данные при наведении button 8 — отображает значения на всех графиках.

  9. Копировать в буфер обмена button 9 — копирует координатную плоскость в буфер обмена. Вы можете вставлять плоскость в Engee и другие сторонние программы.

  10. Очистить button 10 — удаляет график с координатной плоскости.

Помимо основного набора инструментов вам доступны две кнопки:

  • Расположение осей preset button — позволяет настроить поле вывода графиков. Предлагается выбор шаблонов расположения графиков из базовых пресетов или их самостоятельная настройка.

    button 12

  • Отображение легенды button 11 — включает/отключает отображение легенды имени сигналов на координатной плоскости.

Хранение/загрузка прогонов

Результаты, полученные с помощью инспектора данных, можно сохранить в файл формата CSV:

data inspector wa 3

Файл будет сохранен по пути /user/run_data. Рекомендуется сохранять результаты всех важных прогонов, чтобы иметь возможность восстановить их при необходимости. Если прогоны были удалены из архива или недоступны для повторного анализа в инспекторе, их можно снова загрузить и воспроизвести с помощью WorkspaceArray:

  1. Используйте функцию для очистки заголовков CSV-файла и записи в WorkspaceArray. Функция удалит лишние префиксы, цифры и пробелы (заголовок файла, предназначенный для экспорта в WorkspaceArray, должен содержать только названия столбцов time и value без пробелов):

    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. Откройте инспектор данных, где в последнем прогоне отобразится переменная WorkspaceArray, содержащая данные симуляции или прогона:

    data inspector wa 1

Примеры использования

Анализ результатов одного моделирования

Рассмотрим для примера следующую модель:

data inspector 8

Выходные сигналы блоков Sine Wave и Bias помечены как отслеживаемые. После завершения симуляции модели их можно увидеть в Инспекторе данных:

data inspector 9

Чтобы добавить график сигнала на координатную плоскость, нужно установите флажок рядом с именем сигнала:

data inspector 11

Опционально можно настроить поле вывода графиков. Нажмите кнопку расположения осей preset button и выберите шаблон с двумя уменьшенными графиками слева и одним большим справа:

preset example 1

Значения сигналов видны при наведении мыши на график. Можно сравнить сигналы на одном графике. Для этого:

  1. Установим флажки у тех сигналов, которые желаем сравнить.

  2. Включим сравнение данных при наведении button 8.

При наведении мыши отображаются значения обоих сигналов:

data inspector 12

Сравнение нескольких прогонов модели

Инспектор данных позволяет сравнивать несколько прогонов модели между собой. Это удобно, например, для анализа влияния отдельного параметра (или группы параметров) на поведение модели в целом.

Изменим значение параметра в блоке Bias, и запустим моделирование. После завершения симуляции в Инспекторе данных актуальным стал новый прогон, а предыдущий доступен в списке Архив:

data inspector 13

Сигналы из разных прогонов можно сравнить между собой так же, как и сигналы одной модели:

data inspector 14

Прогоны и сигналы можно сравнить через вкладку "Сравнения". Прогоны сравниваются в рамках одной модели:

data inspector run comparison

Сигналы могут сравниваться с разных моделей и прогонов:

data inspector signals comparison