exponenta event banner

Чтение хранилища данных

Считывание данных из хранилища данных

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

  • Data Store Read block

Описание

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

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

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

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

Порты

Вход

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

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

Зависимости

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

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

Продукция

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

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

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

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

Параметры

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

Выбор элемента

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

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

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

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

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

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

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

Зависимости

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

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

Параметр блока: 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 vector (dialog)

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

Index vector (port)

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

Starting index (dialog)

Включает столбцы Index и Output Size. Введите начальный индекс и размер диапазона считываемых подэлементов.

Starting index (port)

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

Столбцы «Index» и «Output Size» отображаются соответствующим образом.

Зависимости

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

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

Параметр: 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
Текст: символьный вектор
Значения: массив ячеек
По умолчанию: '{ }'

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

Зависимости

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

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

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

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

Типы данных

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

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

no

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

yes

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

no

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

no

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

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

.

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

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