Журнал данных в постоянное хранилище

Когда выполнять логгирование в постоянное хранилище

В некоторых случаях логгирование данных моделирования может создать большие объемы данных, которые являются слишком большими для того, чтобы ваш компьютер удерживал в рабочей памяти, одновременно работая эффективно. Такие ситуации могут включать симуляции, которые логгируют много сигналов, симуляции, которые выполняются в течение длительного времени с множеством временных шагов, и параллельные симуляции. Когда ваше строение симуляции создаёт большой объем данных, можно записать эти данные в постоянное хранилище, а не логгирование их в рабочей памяти.

Записанные в журнал данные моделирования можно хранить в постоянном хранилище в MAT-файле. Вы управляете логгированием в постоянном хранилище на уровне модели. Можно включить и отключить функцию, изменив один параметр конфигурации модели (Log Dataset data to file), не меняя макет модели.

Если вы используете Dataset формат для логгирования, можно записать каждый из этих видов данных в постоянное хранилище:

  • Логгирование сигналов - использует Dataset формат только.

  • Состояния - По умолчанию это Dataset формат. Можно использовать и другие форматы.

  • Конечные состояния - требует, чтобы вы очистили параметр Save final operating point

  • Выход - По умолчанию это значение Dataset формат.

  • Хранилища данных - Использует Dataset формат только.

По умолчанию логгирование в постоянное хранилище отключено, так что записанные данные хранятся в MATLAB® рабочей области. Для большинства моделей вход в рабочую область проще, потому что он избегает загрузки и сохранения файлов журнала. По сравнению с доступом к данным, записанным в память, доступ к данным, записанным в постоянное хранилище, требует некоторых дополнительных шагов. Для кратких симуляций логгирование в рабочем пространстве MATLAB может быть более быстрым и, возможно, использовать меньше памяти, чем логгирование в постоянном хранилище.

Ограничения для логгирования в постоянном хранилище

  • Только данные, зарегистрированные в Dataset формат хранится в MAT-файле. Данные, зарегистрированные в других форматах, хранятся в рабочем пространстве MATLAB.

  • Чтобы использовать постоянное хранилище для логгирования данных о конечных состояниях, вы не можете включить Configuration Parameters Data Import/Export > Save final operating point +.

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

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

Альтернативные подходы к сокращению использования памяти для логгирования

Когда вам нужно симулировать модель, которая создает большой объем данных, и вы не хотите записывать данные моделирования в постоянное хранилище, рассмотрите использование одной из этих альтернатив.

  • Ограничьте объем данных моделирования, хранящихся в рабочей области.

    Можно ограничить объем данных моделирования, хранящихся в рабочей области, используя один или несколько из этих методов. Для получения дополнительной информации смотрите Задать значения сигналов для регистрации.

    МетодОписание
    Задайте коэффициент десятикратного уменьшенияПропустите выборки при экспорте данных.
    Ограничьте точки данныхОграничьте количество сохраненных выборок только последними выборками.
    Задайте интервалы для логгированияЗадайте области значений временных шагов для логгирования.

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

  • Используйте блок To File для каждого сигнала, который вы хотите записать.

    Подключение блока To File к сигналам, которые вы хотите записать, сохраняет записанные данные в MAT-файле, а не в рабочем пространстве MATLAB. Однако такой подход:

    • Является подходом по сигналу, который может загромождать модель с несколькими блоками To File, присоединенными к отдельным сигналам.

    • Создает отдельный MAT-файл для каждого блока To File вместо одного файла, созданного при регистрации в постоянном хранилище.

Журнал в постоянное хранилище

  1. Укажите виды логгирования для выполнения (для примера, логгирования сигналов и выходных логгирований) и имена переменных для данных регистрации.

  2. В диаграмму модели отметьте выбранные сигналы для логгирования сигнала.

  3. Использование Dataset формат для логгирования данных. Данные, которые регистрируются в любом другом формате, хранятся в рабочей области.

    • Логгирование сигналов и хранения данных Dataset формат только. Формат по умолчанию для выхода, состояний и логгирования конечных состояний Dataset.

    • Для логгирования конечных состояний очистите параметр конфигурации Save final operating point.

  4. Включите ведение журнала в постоянном хранилище и укажите выходное имя MAT-файла.

    • Выберите Log Dataset data to file параметр конфигурации.

    • Укажите используемый MAT-файл. Не используйте имя файла из одной локали в другой локали.

  5. Как сохранить записанные в журнал Dataset данные с использованием timeseries или timetable элементы, установите Dataset signal format параметр конфигурации. Формат по умолчанию timeseries. The timetable формат полезен для MATLAB, объединяющего записанные данные из нескольких симуляций. Для получения дополнительной информации о timetable формат, см. Формат сигнала набора данных.

  6. Симулируйте модель.

Включите регистрацию в постоянном хранилище программно

Можно выполнить программный вход в постоянное хранилище. Чтобы включить ведение журнала в постоянном хранилище, используйте LoggingToFile и LoggingFileName Пары "имя-значение" с любым из sim команда или set_param команда.

Чтобы включить методы ведения журнала, которые вы хотите использовать, установите эти параметры на 'on', в зависимости от обстоятельств:

  • SignalLogging

  • SaveState

  • SaveFinalState

  • SaveOutput

  • DSMLogging

Чтобы записать выходы, состояния и конечные состояния в постоянное хранилище, установите SaveFormat параметр в 'Dataset'.

Чтобы записать данные о конечных состояниях в постоянное хранилище, установите SaveOperatingPoint на 'off'.

Как хранятся данные моделирования

Логгирование в постоянное хранилище сохраняет записанные данные моделирования в указанном MAT-файле. Данные хранятся как Simulink.SimulationData.Dataset объекты для каждого типа логгирования, которые используют Dataset формат. The Dataset элементы хранятся как timeseries или timetable объекты, в зависимости от того, как вы устанавливаете параметр Dataset signal format. Для получения дополнительной информации о timetable формат, см. Формат сигнала набора данных.

The Dataset имя объекта в файле является именем переменной, используемой для логгирования. Для примера, если вы используете сигнал по умолчанию логгированию переменной logsout, а Dataset объект в MAT-файле logsout.

Сохраните записанные данные из последующих симуляций

Подход, который вы используете для сохранения данных, записанных из последующих симуляций, зависит от того, выполняете ли вы параллельные симуляции.

Без использования параллельных симуляций

Каждый раз, когда вы симулируете модель, не используя параллельную симуляцию, Simulink® перезаписывает содержимое MAT-файла, если вы не измените имя файла между симуляциями. Когда вы используете Simulink.SimulationData.DatasetRef объект, который ссылается на данные в MAT-файле, чтобы извлечь данные в файле, он извлекает самую последнюю версию данных. Чтобы сохранить данные из более ранней симуляции, используйте один из следующих подходов:

  • Между симуляциями используйте панель Configuration Parameters > Data Import/Export, чтобы задать другое имя MAT-файла для логгирования.

  • Между симуляциями сохраните копию MAT-файла. Используйте другое имя файла, отличное от имени, заданного в качестве MAT-файла для постоянного хранилища, или переместите MAT-файл.

  • Программно задайте новое имя файла для каждого запуска симуляции.

Если вы запускаете несколько симуляций, которые перекрываются во времени, используйте уникальный MAT-файл для каждой модели, которую вы записываете в постоянное хранилище.

Если вы измените имя файла, используемого для логгирования, на постоянное хранилище, то для доступа к записанным в записанные данные используйте один из следующих подходов:

  • Создайте Simulink.SimulationData.DatasetRef объект.

  • Чтобы соответствовать новому имени файла, измените Location свойство DatasetRef объекты.

Для получения дополнительной информации об использовании DatasetRef объекты для доступа к записанным данным, см. Загрузка Больших данных для симуляций.

С параллельными симуляциями

Для параллельных симуляций, для которых вы задаете массив входа объектов, если вы логгируете в файл, Simulink:

  • Создает MAT-файл для каждой симуляции

  • Создает Simulink.SimulationData.DatasetRef объекты для доступа к выходным данным в MAT-файле и включает эти объекты в SimulationOutput данные объекта

  • Включает CaptureErrors аргумент для симуляции

Для получения дополнительной информации о параллельных симуляциях см. Раздел «Запуск нескольких симуляций».

См. также

Функции

Похожие темы