exponenta event banner

Память хранилища данных

Определение хранилища данных

  • Библиотека:
  • Одновременная маршрутизация/маршрутизация сигналов

  • Data Store Memory block

Описание

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

Расположение блока памяти хранилища данных, который определяет хранилище данных, определяет, какие блоки чтения хранилища данных и записи хранилища данных могут получить доступ к хранилищу данных:

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

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

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

Не включайте блок памяти хранилища данных в подсистему «Для каждой».

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

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

Можно выбрать блок «Чтение хранилища данных», «Запись хранилища данных» или «Память хранилища данных», чтобы выделить связанные с ним блоки.

Параметры

развернуть все

Главный

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

Программное использование

Параметр блока: DataStoreName
Текст: символьный вектор
Значения: 'A' | ...
По умолчанию: 'A'

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

Ограничения

Использование команды Переименовать все (Rename All) для переименования хранилища данных невозможно, если:

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

  • Использовать Simulink.Signal объект вместо блока памяти хранилища данных для определения хранилища данных

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

Перечислите все блоки Чтение хранилища данных и Запись хранилища данных, которые имеют то же имя хранилища данных, что и текущий блок, и которые находятся в текущей системе или в любой подсистеме под ним в иерархии модели. При щелчке на траектории блока отображается и подсвечивается этот блок в модели.

Атрибуты сигнала

Укажите начальное значение или значения хранилища данных. Параметр Minimum определяет минимальное значение для этого параметра, а параметр Maximum - максимальное значение.

Если задано нескалярное значение и задано значение «Размеры» -1 (по умолчанию) хранилище данных имеет те же размеры, что и массив. Данные, записываемые в хранилище данных (с помощью блоков записи в хранилище данных), должны иметь такие размеры.

Если для параметра «Размеры» задано значение, отличное от -1, размеры начального значения должны соответствовать указанным измерениям, если только начальное значение не является скаляром или структурой MATLAB ®. При указании скаляра каждый элемент хранилища данных использует скаляр в качестве начального значения. Используйте этот метод, чтобы применить одно и то же начальное значение (скаляр, который вы указываете) к каждому элементу, не сопоставляя вручную размеры начального значения с размерами хранилища данных.

Чтобы использовать этот блок для инициализации невоиртуального сигнала шины, укажите начальное значение как структуру MATLAB и установите параметр конфигурации модели Underspecified initialization detection равным Simplified. Дополнительные сведения о инициализации невоиртуальных сигналов шины с использованием структур см. в разделе Указание начальных условий для элементов шины.

Программное использование

Параметр блока: InitialValue
Текст: символьный вектор
Значения: скаляр | вектор | матрица | массив N-D
По умолчанию: '0'

Укажите минимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Это число должно быть конечным вещественным двойным скалярным значением.

Примечание

Если в качестве типа данных для этого блока указан объект шины, не устанавливайте минимальное значение для данных шины в блоке. Simulink игнорирует этот параметр. Вместо этого задайте минимальные значения для элементов шины объекта шины, указанного в качестве типа данных. Сведения о минимальном свойстве элемента шины см. в разделе Simulink.BusElement.

Simulink ® использует минимальное значение для выполнения следующих действий:

Программное использование

Параметр блока: OutMin
Текст: символьный вектор
Значения: скаляр
По умолчанию: '[ ]'

Укажите максимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Это число должно быть конечным вещественным двойным скалярным значением.

Примечание

Если в качестве типа данных для этого блока указан объект шины, не устанавливайте максимальное значение для данных шины в блоке. Simulink игнорирует этот параметр. Вместо этого задайте максимальные значения для элементов шины объекта шины, указанного в качестве типа данных. Для получения информации о свойстве Maximum элемента шины см. Simulink.BusElement.

Simulink использует максимальное значение для выполнения:

Программное использование

Параметр блока: OutMax
Текст: символьный вектор
Значения: скаляр
По умолчанию: '[ ]'

Укажите тип выходных данных. Можно установить для него значение:

  • Правило, наследующее тип данных (например, Inherit: auto).

  • Имя встроенного типа данных (например, single).

  • Имя объекта типа данных (например, Simulink.NumericType объект).

  • Выражение, которое вычисляет тип данных (например, fixdt(1,16,0)). Не указывайте объект шины в качестве типа данных в выражении; использовать Bus: <object name> для указания типа данных шины.

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

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'string' | 'Enum: <class name>'
По умолчанию: 'Inherit: auto'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных «Вывод», указанный в блоке. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

Программное использование

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Размеры хранилища данных. Значение по умолчанию, -1позволяет задать размеры хранилища данных с помощью параметра Начальное значение. Однако в этом случае нельзя использовать скалярное расширение с начальным значением. Необходимо указать начальное значение с помощью массива, который имеет нужные размеры.

Если используется значение, отличное от -1укажите те же размеры, что и размеры параметра Начальное значение (Initial value), если только начальное значение не указано как скаляр (для скалярного расширения) или структура MATLAB. Если хранилище данных представляет массив шин и для начального значения используется структура MATLAB, можно указать размеры для инициализации массива шин с этой структурой.

Программное использование

Параметр блока: Dimensions
Текст: символьный вектор
Значения: скаляр | вектор | матрица
По умолчанию: '-1'

Укажите, что хранилище данных интерпретирует начальные значения вектора как одномерные.

По умолчанию MATLAB представляет векторные данные в виде матриц, которые имеют два измерения. Например, MATLAB представляет вектор [1 2 3] в виде матрицы 1 на 3.

При выборе этого параметра хранилище данных представляет векторные данные с использованием только одного измерения вместо двух. Например, если задано начальное значение [1 2 3]хранилище данных хранит одномерный вектор с тремя элементами.

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

Программное использование

Параметр блока: VectorParams1D
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'on'

Укажите числовой тип вещественных или комплексных значений в хранилище данных.

Программное использование

Параметр блока: SignalType
Текст: символьный вектор
Значения: 'auto' | 'real' | 'complex'
По умолчанию: 'auto'

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

При установке для параметра конфигурации модели Code interface packaging значения Reusable function для создания кода входа из модели (Simulink Coder™) хранилище данных с выбранным общим доступом к экземплярам модели появляется в коде как глобальный символ, к которому непосредственно обращаются созданные функции точки входа. Например, глобальный символ является глобальной переменной или полем глобальной структурной переменной. Поэтому каждый вызов, выполняемый кодом для функций точки входа (каждого экземпляра модели), совместно использует данные.

Пример см. в разделе Совместное хранение данных между экземплярами многократно используемого алгоритма. Дополнительные сведения см. в разделе Совместное использование данных среди экземпляров ссылочной модели.

Программное использование

Параметр блока: ShareAcrossModelInstances
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

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

Программное использование

Параметр блока: StateMustResolveToSignalObject
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Диагностика

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

  • None - Нет ответа.

  • Warning - Вывод предупреждения и продолжение моделирования.

  • Error - завершение моделирования и отображение ошибки.

Программное использование

Параметр блока: ReadBeforeWriteMsg
Текст: символьный вектор
Значения: 'none' | 'warning' | 'error'
По умолчанию: 'warning'

Выберите действие диагностики, которое необходимо выполнить, если модель пытается записать данные в хранилище данных после предварительного считывания данных из него на текущем шаге времени. См. также раздел Обнаружение диагностики записи после чтения в блоке Память хранилища данных (Data Store Memory) панели Параметры конфигурации модели (Model Configuration Parameters) > Диагностика (Diagnostics) > Валидность данных (Data Validity).

  • None - Нет ответа.

  • Warning - Вывод предупреждения и продолжение моделирования.

  • Error - завершение моделирования и отображение ошибки.

Программное использование

Параметр блока: WriteAfterReadMsg
Текст: символьный вектор
Значения: 'none' | 'warning' | 'error'
По умолчанию: 'warning'

Выберите действие диагностики, которое необходимо выполнить, если модель пытается записать данные в хранилище данных дважды последовательно на текущем шаге времени. См. также раздел Обнаружение диагностики записи после записи в блоке Память хранилища данных (Data Store Memory) панели Параметры конфигурации модели (Model Configuration Parameters) > Диагностика (Diagnostics) > Валидность данных (Data Validity).

  • None - Нет ответа.

  • Warning - Вывод предупреждения и продолжение моделирования.

  • Error - завершение моделирования и отображение ошибки.

Программное использование

Параметр блока: WriteAfterWriteMsg
Текст: символьный вектор
Значения: 'none' | 'warning' | 'error'
По умолчанию: 'warning'

Регистрация

Эта опция используется для сохранения значений этого сигнала в рабочем пространстве MATLAB во время моделирования. Для получения дополнительной информации см. раздел Регистрация сигналов.

Программное использование

Параметр блока: DataLogging
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Эта пара элементов управления, состоящая из списка и поля редактирования, используется для указания имени, связанного с записанными в журнал данными сигнала.

По умолчанию Simulink использует имя сигнала в качестве имени регистрации. Чтобы указать имя пользовательского журнала, выберите Custom из списка и введите пользовательское имя в соседнее поле редактирования.

Программное использование

Параметр блока: DataLoggingNameMode
Текст: символьный вектор
Значения: 'SignalName' | 'Custom'
По умолчанию: ''

Примечание

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

Параметр блока: DataLoggingName
Текст: символьный вектор
Значения: символьный вектор
По умолчанию: ''

Отменить все, кроме последнего N точки данных, где N - это число, введенное в соседнее поле редактирования. Дополнительные сведения см. в разделе Хранилища данных журнала.

Программное использование

Параметр блока: DataLoggingMaxPoints
Текст: символьный вектор
Значения: ненулевое целое число
По умолчанию: '5000'

Регистрировать каждый Nth точка данных, где N - это число, введенное в соседнее поле редактирования. Например, предположим, что модель использует решатель с фиксированным шагом с размером шага 0.1 s. Если выбрать эту опцию и принять значение прореживания по умолчанию (2), Simulink записывает точки данных для этого сигнала в моменты времени 0.0, 0.2, 0.4и так далее. Дополнительные сведения см. в разделе Хранилища данных журнала.

Программное использование

Параметр блока: DataLoggingLimitDataPoints
Текст: символьный вектор
Значения: ненулевое целое число
По умолчанию: '2'

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

Прямой проход

yes

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

..

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен до R2006a