Data Store Write

Запишите данные к хранилищу данных

  • Библиотека:
  • Simulink / Маршрутизация Сигнала

  • Data Store Write block

Описание

Блок Data Store Write копирует значение в своем входе к именованному хранилищу данных. Каждая операция записи, выполняемая блоком Data Store Write, переписывает хранилище данных или выбранный фрагмент этого и заменяет предыдущее содержимое.

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

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

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

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

Можно выбрать Data Store Read, Data Store Write или блок Data Store Memory, чтобы подсветить блоки, связанные с ним.

Порты

Входной параметр

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

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

Можно использовать массив шин с блоком Data Store Write. Для получения дополнительной информации об определении и использовании массива шин, смотрите Группу Невиртуальные Шины в Массивах Шин.

Чтобы присвоить подмножество шины или элементов матрицы к связанному хранилищу данных, используйте панель Element Assignment. Значок блока Data Store Write отражает элементы, которые вы указываете. Для получения дополнительной информации смотрите Получающую доступ Определенную Шину и Элементы матрицы.

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

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

Зависимости

Чтобы включить внешний порт индекса, на вкладке Element Assignment, выбирают Enable indexing. Затем в Nстрока th таблицы Index Option, набор Index Option к Index vector (port) или Starting index (port).

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

Параметры

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

Параметры

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

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

Если Simulink не находит ни блока Data Store Memory, ни объекта сигнала, это останавливает компиляцию и отображает ошибку. Смотрите Разрешение Символа для получения дополнительной информации о пути поиска файлов.

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

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

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

Это cписки полей блок Data Store Memory, который инициализировал хранилище, в которое пишет этот блок.

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

Это cписки полей, которые путь ко всему Data Store Read блокирует с тем же именем хранилища данных как этот блок, которые находятся в той же (sub) системе или в любой подсистеме ниже его в иерархии модели. Кликните по любой записи в этом списке, чтобы подсветить соответствующий блок в вашей модели.

Шаг расчета, который управляет, когда блок пишет в хранилище данных. Значение -1 указывает, что шаг расчета наследован. См. Настройку времени выборки для получения дополнительной информации.

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

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

Присвоение элемента

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

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

  • Нажмите Select>>, чтобы отобразить тот элемент и все его подэлементы в списке Selected element(s).

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

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

В качестве альтернативы можно выбрать Enable indexing, затем выбрать один элемент и задать подэлементы динамически с помощью параметра Index Option.

Чтобы обновить отображение и отразить модификации к массиву или шине, используемой в хранилище данных, нажмите Refresh.

Зависимости

Подсказка для этого раздела (Elements in the array или Signals in the bus) зависит от типа данных в хранилище данных.

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

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

Введите выражение MATLAB, чтобы задать определенный элемент, который вы хотите записать, затем нажать Select>>, чтобы добавить элемент в таблицу Assigned element(s). Повторитесь, чтобы выбрать дополнительные элементы.

Например, для хранилища данных под названием DSM это имеет максимальные размерности [3,5], вы могли ввести выражения, такие как DSM(2,4) или DSM([1 3],2) в окне редактирования. Смотрите Получающую доступ Определенную Шину и Элементы матрицы.

Чтобы применить выбор элемента, нажмите OK или Apply.

Зависимости

Окно редактирования Specify element(s) to assign появляется, только если Enable indexing не выбран.

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

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

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

Чтобы изменить порядок шины или элементов матрицы в списке, выберите элемент в списке и нажмите Up или Down. Изменение порядка элементов в списке изменяет порядок портов. Чтобы удалить элемент, нажмите Remove.

Зависимости

Таблица Assigned element(s) появляется, только если Enable indexing не выбран.

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

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

Выберите этот параметр, чтобы позволить индексировать похожий на используемый блоком Assignment, посредством чего можно динамически задать индексы подэлементов, чтобы записать при помощи одного или нескольких входных портов индекса, а также индексов определения при помощи диалогового окна блока. Блок Data Store Write может записать только в один элемент хранилища данных (то есть, один сигнал в шине), когда этот параметр выбран. Чтобы записать в несколько элементов хранилища данных, использующего динамическую индексацию, используйте несколько блоков Data Store Write.

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

Примечание

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

Параметр: 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 отображен как релевантный.

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

Типы данных

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

Прямое сквозное соединение

no

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

yes

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

no

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

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