Запись данных в хранилище данных
Simulink/Маршрутизация сигнала
Блок Data Store Write копирует значение на своем входе в именованное хранилище данных. Каждая операция записи, выполняемая блоком Data Store Write, записывает через хранилище данных или его выбранный фрагмент и заменяет предыдущее содержимое.
Хранилище данных, в которое записывается этот блок, определяется местоположением Data Store Memory блока или объекта сигнала, который определяет хранилище данных. Для получения дополнительной информации смотрите Хранилища данных и Data Store Memory. Размер хранилища данных устанавливается объектом сигнала или блоком Data Store Memory, который определяет и инициализирует хранилище данных. Каждый Data Store Write блок, который записывает в это хранилище данных, может записать до объема данных в хранилище данных.
В одно и то же хранилище данных можно записать более одного блока Data Store Write. Однако, если два блока Data Store Write пытаются записать в одно и то же хранилище данных во время одного и того же шага симуляции, результаты непредсказуемы.
Получение правильных результатов из хранилищ данных требует, чтобы чтение и запись данных осуществлялись в ожидаемом порядке. Для получения дополнительной информации смотрите Order Data Store Access и Data Store Diagnostics.
Можно записать значения переменной данных локального или глобальные данные хранилища для всех шагов симуляции. Для получения дополнительной информации см. Журнал хранилищ данных.
Можно выбрать Data Store Read, Data Store Write или Data Store Memory блок, чтобы подсветить связанные с ним блоки.
Port_1
- Значения для записи в хранилище данныхЗначения для записи в указанное хранилище данных. Блок Data Store Write принимает действительный или комплексный сигнал.
Можно использовать массив шин с блоком Data Store Write. Для получения дополнительной информации об определении и использовании массива шин смотрите Group Nonvirtual Buses in Arrays of Buses.
Чтобы назначить подмножество элементов шины или матрицы связанному хранилищу данных, используйте панель Element Assignment. Значок Data Store Write блока отражает заданные элементы. Для получения дополнительной информации смотрите Доступ к определенной шине и Элементам матрицы.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
IdxN
— N
th сигнал индексаВнешний порт, задающий индекс для назначения соответствующих подэлементов хранилища данных.
Чтобы включить внешний порт индекса, на вкладке Element Assignment, выберите Enable indexing. Затем, в N
В-й строке Index Option таблицы установите Index Option значение Index vector (port)
или Starting index (port)
.
Типы данных: int8
| int16
| int32
| uint8
| uint16
Data store name
- Имя хранилища данных, в которое записывается блокA
(по умолчанию) | имя хранилища данныхУкажите имя хранилища данных, в которое этот блок записывает данные. Смежный список предоставляет имена блоков 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' |
Data store memory block
- Имя блока памяти хранилища данныхЭто свойство доступно только для чтения.
В этом поле перечислен Data Store Memory блок, который инициализировал хранилище, в которое записывается этот блок.
Corresponding Data Store Read blocks
— Это свойство доступно только для чтения.
В этом поле перечислены пути ко всем блокам Data Store Read с таким же именем хранилища данных, как и к этому блоку, которые находятся в одной (подсистеме) или в любой подсистеме под ним в иерархии модели. Щелкните любую запись в этом списке, чтобы выделить соответствующий блок в вашей модели.
Sample time
- Шаг расчетаШаг расчета, который управляет, когда блок записывает в хранилище данных. Значение -1
указывает, что шаг расчета наследуется. Дополнительные сведения см. в разделе «Задание шага расчета».
Параметры блоков: SampleTime |
Тип: Вектор символов |
Значения: скаляр | вектор |
По умолчанию: '-1' |
Elements in the array (Signals in the bus)
- Элементы в связанном хранилище данныхСписок элементов в связанном хранилище данных. Для хранилищ данных с массивами можно записать все хранилище данных или назначить один или несколько элементов всему хранилищу данных. Для хранилищ данных с типом данных шины можно развернуть дерево, чтобы просмотреть и выбрать элементы шины. В списке отображаются максимальные размерности для каждого элемента в круглых скобках.
Если Enable indexing не выбран, выберите элемент и используйте один из следующих подходов:
Щелкните Select>>, чтобы отобразить этот элемент и все его подэлементы в списке Selected element(s).
Используйте Specify element(s) to assign поле редактирования, чтобы задать подэлементы, которые необходимо выбрать для записи. Затем нажмите Select>>.
Чтобы выбрать несколько элементов, повторите вышеописанную процедуру для каждого элемента.
Также можно выбрать Enable indexing, затем выбрать один элемент и динамически задать подэлементы с помощью параметра Index Option.
Чтобы обновить отображение и отразить изменения массива или шины, используемые в хранилище данных, нажмите кнопку Обновить.
Запрос для этого раздела (Elements in the array или Signals in the bus) зависит от типа данных в хранилище данных.
Параметры блоков: DataStoreElements |
Тип: Вектор символов |
Значения: разделенный фунтами список элементов (См. Спецификация с помощью командной строки.) |
По умолчанию: '' |
Specify element(s) to assign
- выражение MATLAB, определяющее элементы для назначенияВведите выражение 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 |
Тип: Вектор символов |
Значения: разделенный фунтами список элементов (См. Спецификация с помощью командной строки.) |
По умолчанию: '' |
Assigned element(s)
- Список выбранных элементовЭлементы, которые вы выбираете для назначения. Значок Data Store Write блока отображает порт входа для каждого заданного элемента.
Чтобы изменить порядок шины или элементов матрицы в списке, выберите элемент в списке и нажатии кнопки Up или Down. Изменение порядка элементов в списке изменяет порядок портов. Чтобы удалить элемент, нажмите Remove.
Таблица Assigned element(s) появляется, только если Enable indexing не выбран.
Параметры блоков: DataStoreElements |
Тип: Вектор символов |
Значения: разделенный фунтами список элементов (См. Спецификация с помощью командной строки.) |
По умолчанию: '' |
Enable indexing
- Включите индексацию, чтобы задать подэлементы данных элемента хранилища данных для записиВыберите этот параметр, чтобы включить индексацию, подобную используемой блоком Assignment, посредством которой можно динамически задавать индексы подэлементов для записи с помощью одного или нескольких входных портов индекса, а также задавать индексы с помощью диалогового окна блока. Блок Data Store Write может записывать только в один элемент массива хранилища данных (то есть один сигнал в шине), когда этот параметр выбран. Чтобы записать в несколько элементов массива хранилища данных с помощью динамического индексирования, используйте несколько блоков Data Store Write.
Очистите этот параметр, чтобы отключить Assignment индексацию в блочном стиле. Можно выбрать несколько элементов хранилища данных для записи, но можно указать, какие подэлементы записывать, только используя диалоговое окно блока.
Примечание
Не выбирайте Enable indexing, если связанное хранилище данных содержит только один, скалярный элемент.
Параметры блоков: EnableIndexing |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Number of dimensions
- Количество размерностей элемента хранилища данныхКоличество размерностей выбранного элемента хранилища данных. Вы должны явным образом указать этот номер.
Этот параметр включен, только если выбран Enable indexing.
Параметры блоков: NumberOfDimensions |
Тип: Вектор символов |
Значения: positive integer |
По умолчанию: '1' |
Index mode
- ИндексOne-based
(по умолчанию) | Zero-based
Выберите режим индексации. Если One-based
выбран, индекс 1 задает первый элемент входного вектора. Если Zero-based
выбран, индекс 0 задает первый элемент входного вектора.
Этот параметр включен, только если выбран Enable indexing.
Параметр:
IndexMode
|
Тип: Вектор символов |
Значения:
'Zero-based' | 'One-based'
|
По умолчанию:
'One-based'
|
Index Option
- Индексный метод для подэлементовIndex vector (dialog)
(по умолчанию) | Select all
| Index vector (port)
| Starting index (dialog)
| Starting index (port)
Определите по размерности, как индексируются подэлементы выбранного элемента хранилища данных. В списке выберите:
Элемент меню | Действие |
---|---|
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
- Индексы или стартовый индекс подэлементов1
(по умолчанию) | целое число | вектор из целых чиселЕсли Index Option Index vector (dialog)
, введите вектор, содержащий индексы каждого записываемого подэлемента.
Если Index Option Starting index (dialog)
, введите начальный индекс области значений подэлементов для записи.
Этот параметр активируется, только если выбран Enable indexing и Index Option для размерности Index vector (dialog)
или Starting index (dialog)
.
Параметр:
IndexParamArray
|
Тип: Вектор символов |
Значения: массив ячеек |
По умолчанию:
'{ }'
|
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.