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

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

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

Приложение используется в двух основных сценариях:

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

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

Для открытия приложения перейдите в рабочее пространство Engee и в левом верхнем углу в разделе Приложения Engee apps icon выберите Инспектор данных data inspector icon:

data inspector 1 ru

Интерфейс

Приложение работает в отдельной вкладке браузера и по умолчанию имеет следующий вид:

data inspector 2 ru

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

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

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

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

graph logging 1 ru

Инспектор данных позволяет работать с пользовательскими сессиями для упрощения анализа данных. Сессия — это набор параметров в формате .ngdat, который включает:

  • Конфигурацию окна визуализации сигналов graphs icon 1 — сохранение расположения осей, количества строк и столбцов в сетке;

  • Отображение определенных сигналов на выбранных осях, включая цветовую схему;

  • Сохранение текущих прогонов и их сравнений для дальнейшего анализа.

В приложении можно сохранять и загружать сессии:

data inspector sessions ru

  1. Загрузка сессии session loading 1 — при загрузке сохраненной сессии инспектор данных полностью восстанавливает сохраненную ранее конфигурацию.

    session loading 2 ru

    При загрузке сессии можно выбрать:

    • Полностью очистить текущие прогоны и заменить их данными из загруженной сессии;

    • Отправить текущий прогон в архив, сделав активным прогон из загруженной сессии. Архивные прогоны из сессии добавляются в общий архив.

      session loading 3 ru

  2. Сохранение сессии session saving 1 — это процесс фиксации текущей конфигурации инспектора данных, включая настройки графиков, сигналов и прогонов.

    session saving 2 ru

    Необходимо решить какие прогоны сохранить: Все прогоны, включая архив или Активный прогон и выбранные сигналы из архивов (отмеченные галочкой). По умолчанию сессия сохраняется в директории /user с именем sessionName. Сохраненные сессии будут доступны в файловом браузере file browser 7.

    session saving 3 ru


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

data inspector 4 ru

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

data inspector settings 1 ru

На панели прогона доступны опции:

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

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

    save to csv 1 ru

  3. Удалить data inspector delete 1 — удаление прогона из приложения.

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

data inspector 5 ru

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

data inspector 6 ru

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

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

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

data inspector 7 ru

  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 ru

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

    show legend ru

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

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

data inspector wa 3 ru

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

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

    function clean_csv_header(file_path::String)
        # Чтение строк из csv файла
        lines = readlines(file_path)
    
        # Разделение заголовков
        headers = split(lines[1], ',')
    
        if length(headers) != 2
            error("Файл должен содержать ровно два столбца.")
        end
    
        # Обработка заголовков
        time_header = "time"  # корректировка имени первого столбца, всегда должно быть time
        value_header = strip(replace(split(headers[2], ".") |> last, r"\d+" => "")) # аналогично для value
    
        # Создание новой строки заголовка
        cleaned_header = "$time_header,$value_header"
    
        # Перезапись файла
        open(file_path, "w") do file
            write(file, cleaned_header * "\n")
            write(file, join(lines[2:end], "\n"))
        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 ru

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

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

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

data inspector 8

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

data inspector 9 ru

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

data inspector 11 ru

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

preset example 1 ru

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

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

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

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

data inspector 12 ru

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

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

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

data inspector 13 ru

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

data inspector run comparison ru

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

data inspector signals comparison ru