Можно записать значения переменной данных локального или глобальные данные хранилища для всех шагов симуляции. Два распространенных способа логгирования хранилища данных предназначены для:
Отладка модели - просмотрите порядок всех записей хранилища данных
Подтверждение изменения модели - используйте записанные данные для установления базового уровня для сравнения результатов для определения влияния изменения модели
Пример логгирования хранилища глобальных данных см. в разделе Использование хранилищ данных через несколько моделей.
Можно вести журнал хранилищ данных, которые используют следующие типы данных:
Все встроенные типы данных
Перечисленные типы данных
Типы данных с фиксированной точкой
Можно регистрировать хранилища данных, которые используют любой уровень размерности или сложность.
Ограничения для использования регистрации хранилища данных в модели:
Для регистрации данных в памяти хранилища данных:
Симулируйте модель верхнего уровня в режиме normal mode.
Для локальных хранилищ данных модель, содержащая блок Data Store Memory, должна находиться в режиме Модель-ссылка Normal.
Любой блок в модели-ссылке, который записывает в память хранилища данных, должен быть выполнен в модели-ссылке Normal mode.
Вы не можете регистрировать хранилища данных, которые используют пользовательские типы данных, включая шины.
Чтобы войти в локальное хранилище данных, которое вы создаете с блоком Data Store Memory:
В модели откройте Model Data Editor. На вкладке Modeling нажмите Model Data Editor.
На вкладке Data Stores установите в раскрывающемся списке Change view значение Instrumentation
.
В таблице данных для целевого хранилища данных установите флажок в столбце Log Data.
Если целевое хранилище данных не отображается в таблице, нажмите кнопку Change scope, чтобы отобразить хранилища данных, определенные в подсистемах под текущей системой.
Для настройки дополнительных характеристик логгирования, таких как максимальное количество точек данных для регистрации, откройте Property Inspector (на вкладке Modeling, в разделе Design, нажмите Property Inspector). Используйте Property Inspector, чтобы открыть диалоговое окно блока и просмотреть вкладку Logging.
Включите ведение журнала хранилища данных с помощью параметра Model Configuration Parameters Data Import/Export > Data stores >.
Симулируйте модель.
Когда вы активируете ведение журнала для модели и конфигурируете локальное хранилище данных для логгирования, блок Data Store Memory отображает синий значок. Если вы не включите логгирование для модели, то значок будет серым.
Simulink.Signal
ОбъектВы можете создать локальные и глобальные данные магазины с помощью Simulink.Signal
объект. Для получения дополнительной информации см. раздел «Хранилища данных с объектами сигнала».
Чтобы войти в журнал хранилища данных, созданного с помощью Simulink.Signal
объект:
Создайте Simulink.Signal
объект в рабочей области, который виден каждому компоненту, которому требуется доступ к хранилищу данных, как описано в Хранилищах Данных с Объектами Сигнала.
Используйте имя Simulink.Signal
объект в Data store name параметров блоков блоков Data Store Read и Data Store Write, которые необходимо записать и считать из хранилища данных.
Из MATLAB® в командной строке установите DataLogging
(который является свойством LoggingInfo
свойство Simulink.Signal
) к 1
.
Для примера, если вы используете Simulink.Signal
объект называется DataStoreSignalObject
для создания хранилища данных используйте следующую команду:
DataStoreSignalObject.LoggingInfo.DataLogging = 1
Опционально задайте пределы объема записанных данных, используя следующие свойства, которые являются свойствами LoggingInfo
свойство Simulink.Signal
объект: Decimation
, LimitDataPoints
, и MaxPoints
.
Включите ведение журнала хранилища данных с помощью параметра Model Configuration Parameters Data Import/Export > Data stores >.
Симулируйте модель.
Следующий Simulink® классы представляют данные из логгирования хранилища данных и обеспечивают методы доступа к этим данным:
Класс | Описание |
---|---|
Simulink.SimulationData.BlockPath | Представляет полностью заданный путь к блоку Simulink; использование для захвата полной иерархии модели-ссылки |
Simulink.SimulationData.Dataset | Сохраняет записанные данные элементы и обеспечивает возможности поиска; используется для группирования Simulink.SimulationData.Element объекты в одном объекте |
Simulink.SimulationData.DataStoreMemory | Сохраняет регистрационную информацию из хранилища данных во время симуляции |
Можно также преобразовать данные, зарегистрированные в форматах, отличных от набор данных. Для получения дополнительной информации смотрите Преобразование набора данных для записанных данных.
Чтобы просмотреть данные регистрации хранилища данных из командной строки, просмотрите выходной набор данных в базовом рабочем пространстве. Переменная по умолчанию для набора данных регистрации хранилища данных dsmout
.
Модель sldemo_mdlref_dsm иллюстрирует подходы для просмотра данных регистрации хранилища данных.
Поиск элемента в данных регистрации хранилища данных на основе Name
или BlockType
свойство, используйте getElement
метод Simulink.SimulationData.Dataset
. Для примера:
dsmout.getElement('RefSignalVal') ans = Simulink.SimulationData.DataStoreMemory Package: Simulink.SimulationData Properties: Name: 'RefSignalVal' Blockpath: [1x1 Simulink.SimulationData.BlockPath] Scope: 'local' DSMWriterBlockPaths: [1x2 Simulinkl.SimulationData.BlockPath] DSMWriters: [101x1 uint32] Values: [101x1 timeseries]
Для доступа к элементу по индексу используйте Simulink.SimulationData.Dataset.getElement
способ.
Simulink.SimulationData.BlockPath
| Simulink.SimulationData.Dataset
| Simulink.SimulationData.DataStoreMemory