Хранилища данных логов

Логгирование значений хранилища локальных и глобальных данных

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

  • Модель, отлаживающая – просматривает порядок всех записей хранилища данных

  • Подтверждение модификации модели – использует записанные данные, чтобы установить базовую линию для сравнения результатов идентифицировать удар модификации модели

Для примера логгирования хранилища глобальных данных смотрите Используя Хранилища данных Через Многоуровневые модели.

Поддерживаемые типы данных, размерности и сложность для логгирования хранилищ данных

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

  • Все встроенные типы данных

  • Перечислимые типы данных

  • Типы данных с фиксированной точкой

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

Ограничения логгирования хранилища данных

Ограничения для использования хранилища данных, входящего в систему модель:

  • К данным логов для памяти хранилища данных:

    • Симулируйте модель верхнего уровня в Режиме normal mode.

    • Для локальных хранилищ данных модель, содержащая Блок памяти Хранилища данных, должна быть в Режиме normal mode Модели - ссылки.

    • Любой блок в модели, на которую ссылаются, которая пишет в память хранилища данных, должен быть выполнен в Режиме normal mode модели - ссылки.

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

Логгирование хранилищ данных, созданных с блоком памяти хранилища данных

Чтобы регистрировать локальное хранилище данных, которое вы создаете с Блоком памяти Хранилища данных:

  1. В модели откройте Model Data Editor. Во вкладке Modeling нажмите Model Data Editor.

  2. На вкладке Data Stores, набор Change view выпадающий список к Instrumentation.

  3. В таблице данных, для целевого хранилища данных, устанавливают флажок в столбце Log Data.

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

  4. Опционально, чтобы сконфигурировать дополнительные характеристики логгирования, такие как максимальное количество точек данных, чтобы регистрировать, откройте Property Inspector (во вкладке Modeling, под Design, нажмите Property Inspector). Используйте Property Inspector, чтобы открыть диалоговое окно блока и смотреть вкладку Logging.

  5. Включите логгирование хранилища данных с Model Configuration Parameters> Data Import/Export> параметр Data stores.

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

Логгирование значка для блока памяти хранилища данных

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

Логгирование хранилищ данных, созданных с Simulink.Signal Объект

Можно создать хранилища локальных и глобальных данных с помощью Simulink.Signal объект. Смотрите Хранилища данных с Объектами Сигнала для деталей.

Регистрировать хранилище данных, которое вы создаете с Simulink.Signal объект:

  1. Создайте Simulink.Signal объект в рабочей области, которая отображается к каждому компоненту, который должен получить доступ к хранилищу данных, как описано в Хранилищах данных с Объектами Сигнала.

  2. Используйте имя Simulink.Signal объект в параметрах блоков Data store name блоков Записи Чтения и Хранилища данных Хранилища данных, в которые вы хотите записать и считать из хранилища данных.

  3. Из командной строки MATLAB®, набор DataLogging (который является свойством LoggingInfo свойство Simulink.Signal) к 1.

    Например, если вы используете Simulink.Signal возразите названному DataStoreSignalObject чтобы создать хранилище данных, используйте следующую команду:

    DataStoreSignalObject.LoggingInfo.DataLogging = 1
  4. Опционально, задайте пределы для регистрируемого объема данных, с помощью следующих свойств, которые являются свойствами LoggingInfo свойство Simulink.Signal объект: Decimation, LimitDataPoints, и MaxPoints.

  5. Включите логгирование хранилища данных с Model Configuration Parameters> Data Import/Export> параметр Data stores.

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

Доступ к данным о регистрации хранилища данных

Следующие классы 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 метод.

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

| |

Похожие темы