exponenta event banner

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

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

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

  • Data Store Write block

Описание

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

Хранилище данных, в которое записывается этот блок, определяется местоположением блока памяти хранилища данных или объекта сигнала, который определяет хранилище данных. Дополнительные сведения см. в разделах Хранилища данных и Память хранилища данных. Размер хранилища данных задается сигнальным объектом или блоком памяти хранилища данных, который определяет и инициализирует хранилище данных. Каждый блок записи хранилища данных, который записывает данные в это хранилище данных, может записывать до объема данных в хранилище данных.

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

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

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

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

Порты

Вход

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

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

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

Чтобы назначить подмножество элементов шины или матрицы связанному хранилищу данных, используйте панель Назначение элемента (Element Assignment). Значок блока записи хранилища данных отражает указанные элементы. Дополнительные сведения см. в разделе Доступ к конкретным элементам шины и матрицы.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

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

Зависимости

Чтобы включить порт внешнего индекса, на вкладке Назначение элемента выберите Включить индексирование. Затем, в NВ третьей строке таблицы Параметр индекса (Index Option) установите Параметр индекса (Index Option) в значение Index vector (port) или Starting index (port).

Типы данных: int8 | int16 | int32 | uint8 | uint16

Параметры

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

Параметры

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

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

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

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

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

Это свойство доступно только для чтения.

В этом поле перечисляется блок памяти хранилища данных, инициализировавший хранилище, в которое записывается этот блок.

Это свойство доступно только для чтения.

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

Время выборки, определяющее время записи блока в хранилище данных. Значение -1 указывает, что время выборки наследуется. Дополнительные сведения см. в разделе Указание времени образца.

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

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

Назначение элемента

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

Если параметр Включить индексирование не выбран, выберите элемент и используйте один из следующих подходов:

  • Щелкните Выбрать > >, чтобы отобразить этот элемент и все его подчиненные элементы в списке Выбранные элементы.

  • Используйте элемент (элементы) Specify (Specify) для назначения поля редактирования, чтобы указать вложенные элементы, которые необходимо выбрать для записи. Затем щелкните Выбрать > >.

Чтобы выбрать несколько элементов, повторите описанную выше процедуру для каждого элемента.

Можно также выбрать параметр «Включить индексирование», затем выбрать один элемент и динамически указать вложенные элементы с помощью параметра «Параметр индекса».

Чтобы обновить отображение и отразить изменения массива или шины, используемой в хранилище данных, нажмите кнопку «Обновить».

Зависимости

Запрос для этого раздела (Элементы в массиве или Сигналы в шине) зависит от типа данных в хранилище данных.

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

Параметр блока: DataStoreElements
Текст: символьный вектор
Значения: список элементов с разделителями-фунтами (см. спецификацию с помощью командной строки).
По умолчанию: ''

Введите выражение MATLAB для определения конкретного элемента, который требуется записать, затем нажмите кнопку «Выбрать > >», чтобы добавить элемент в таблицу Назначенные элементы. Повторите операцию для выбора дополнительных элементов.

Например, для хранилища данных с именем DSM который имеет максимальные размеры [3,5], можно ввести выражения, такие как DSM(2,4) или DSM([1 3],2) в поле редактирования. См. раздел Доступ к конкретным элементам шины и матрицы.

Чтобы применить выбор элемента, нажмите кнопку «ОК» или «Применить».

Зависимости

Поле «Указать элементы для назначения» появляется только в том случае, если параметр «Включить индексирование» не выбран.

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

Параметр блока: DataStoreElements
Текст: символьный вектор
Значения: список элементов с разделителями-фунтами (см. спецификацию с помощью командной строки).
По умолчанию: ''

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

Чтобы изменить порядок элементов шины или матрицы в списке, выберите элемент в списке и нажмите «Вверх» или «Вниз». Изменение порядка элементов в списке изменяет порядок портов. Чтобы удалить элемент, нажмите кнопку «Удалить».

Зависимости

Таблица Назначенные элементы появляется только в том случае, если параметр Включить индексирование не выбран.

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

Параметр блока: DataStoreElements
Текст: символьный вектор
Значения: список элементов с разделителями-фунтами (см. спецификацию с помощью командной строки).
По умолчанию: ''

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

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

Примечание

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

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

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

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

Зависимости

Этот параметр включен, только если выбран параметр Включить индексирование.

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

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

Выберите режим индексирования. Если One-based выбирается, индекс 1 задает первый элемент входного вектора. Если Zero-based выбирается, индекс 0 определяет первый элемент входного вектора.

Зависимости

Этот параметр включен, только если выбран параметр Включить индексирование.

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

Параметр: IndexMode
Текст: символьный вектор
Значения: 'Zero-based' | 'One-based'
По умолчанию: 'One-based'

Определите по размерности способ индексации вложенных элементов выбранного элемента хранилища данных. В списке выберите:

Пункт менюДействие
Select all

Отключает столбец Index. Назначены все подэлементы.

Index vector (dialog)

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

Index vector (port)

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

Starting index (dialog)

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

Starting index (port)

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

Столбец Index отображается как релевантный.

Зависимости

Этот параметр включен, только если выбран параметр Включить индексирование.

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

Параметр: IndexOptionArray
Текст: символьный вектор
Значения: 'Select all' | 'Index vector (dialog)' | 'Index vector (port)' | 'Starting index (dialog)' | 'Starting index (port)'
По умолчанию: 'Index vector (dialog)'

Если параметр Index имеет значение Index vector (dialog)введите вектор, содержащий индексы каждого записываемого подэлемента.

Если параметр Index имеет значение Starting index (dialog)введите начальный индекс диапазона подэлементов для записи.

Зависимости

Этот параметр включен, только если выбран параметр «Включить индексирование», а параметр «Индекс» для измерения имеет значение Index vector (dialog) или Starting index (dialog).

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

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

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

Типы данных

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

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

no

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

yes

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

no

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

no

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

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

.

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

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