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

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

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

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

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

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

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

data inspector 1

Интерфейс

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

data inspector 2

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

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

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

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

graph logging 1 ru

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

  • Конфигурацию окна графиков graphs 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

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

data inspector settings 1

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

  1. Комментарий 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, должен содержать только названия столбцов 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

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

data inspector 9

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

data inspector 11

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

preset example 1

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

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

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

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

data inspector 12 ru

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

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

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

data inspector 13

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

data inspector 14

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

data inspector run comparison

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

data inspector signals comparison