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