exponenta event banner

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

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

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

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

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

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

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

  • Конечные состояния - требуется очистить параметр Сохранить конечную рабочую точку

  • Вывод - по умолчанию: Dataset формат.

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

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

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

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

  • Чтобы использовать постоянное хранилище для регистрации данных конечных состояний, нельзя включить параметры конфигурации > Импорт/экспорт данных + Сохранить конечную операционную точку.

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

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

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

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

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

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

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

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

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

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

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

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

Вход в постоянное хранилище

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

  2. На схеме модели отметьте выбранные сигналы для регистрации сигналов.

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

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

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

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

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

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

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

  6. Моделирование модели.

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

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

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

  • SignalLogging

  • SaveState

  • SaveFinalState

  • SaveOutput

  • DSMLogging

Для регистрации выходных данных, состояний и данных конечных состояний в постоянном хранилище установите SaveFormat параметр для 'Dataset'.

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

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

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

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 аргумент для моделирования

Дополнительные сведения о параллельных моделированиях см. в разделе Запуск нескольких моделирований.

См. также

Функции

Связанные темы