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

Когда регистрировать к персистентному устройству хранения данных

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

Можно сохранить регистрируемые данные моделирования к персистентному устройству хранения данных в 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.

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

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

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

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

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

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

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

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

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

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

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

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

Регистрируйте к персистентному устройству хранения данных

  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. Формат timetable полезен для MATLAB, комбинирующего записанные данные от нескольких симуляций. Для получения дополнительной информации о формате timetable, смотрите формат сигнала Набора данных.

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

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

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

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

  • SignalLogging

  • SaveState

  • SaveFinalState

  • SaveOutput

  • DSMLogging

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

Чтобы регистрировать данные о конечных состояниях к персистентному устройству хранения данных, установите SaveCompleteFinalSimState на 'off'.

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

Журналирование к персистентному устройству хранения данных сохраняет регистрируемые данные моделирования в заданном MAT-файле. Данные хранятся, когда Simulink.SimulationData.Dataset возражает для каждого типа журналирования, которое использует формат Dataset. Элементы Dataset хранятся или как timeseries или как объекты timetable, в зависимости от того, как вы устанавливаете параметр Dataset signal format. Для получения дополнительной информации о формате 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 для симуляции

Для получения дополнительной информации о параллельных симуляциях, смотрите Выполнение Несколько Симуляций.

Смотрите также

Функции

Похожие темы