exponenta event banner

Назначение

Присваивать значения указанным элементам сигнала

  • Библиотека:
  • Операции с симуляцией/математикой

    Кодер HDL/Математические операции

  • Assignment block

Описание

Блок Assignment присваивает значения указанным элементам сигнала. Индексы элементов, которым присваиваются значения, задаются путем ввода индексов в диалоговом окне блока или путем подключения к блоку источника или источников внешних индексов. Сигнал на порте блочных данных, U, указывает значения для назначения Y. Блок заменяет указанные элементы Y с элементами из сигнала данных.

На основе значения, введенного для параметра Количество выходных размеров, отображается таблица параметров индекса. Каждая строка таблицы соответствует одному из выходных измерений в поле Количество выходных измерений. Для каждого размера можно определить элементы сигнала для работы. Укажите векторный сигнал как 1-D сигнал и матричный сигнал как 2-D сигнал. Чтобы включить порт внешнего индекса, в соответствующей строке таблицы установите для параметра Index Option значение Index vector (port).

Например, предположим, что 5-D сигнал имеет режим индекса, основанный на единице. Таблица в диалоговом окне «Блок назначения» будет содержать по одной строке для каждого размера. При определении каждого измерения со следующими записями:

РядПараметр индексаИндекс
1Assign all 
2Index vector (dialog)[1 3 5]
3Starting index (dialog)4
4Starting index (port) 
5Index vector (port) 

Присвоенные значения: Y(1:end,[1 3 5],4:3+size(U,3),Idx4:Idx4+size(U,4)-1,Idx5)=U, где Idx4 и Idx5 являются входными портами для размеров 4 и 5.

При использовании блока Назначение (Assignment) в обычном режиме Simulink ® инициализирует выходные сигналы блока до нуля, даже если модель не инициализирует их явным образом. В режиме ускорителя Simulink преобразует модель в S-функцию. Это предполагает создание кода. Сгенерированный код может не выполнять неявную инициализацию блочных выходов. В таких случаях необходимо явно инициализировать выходные данные модели.

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

В качестве входного сигнала блока назначения можно использовать массив шин.

Блок назначения в условной подсистеме

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

Однако если для условного блока «Outport» подсистемы установлен флажок «Гарантировать, что outport is virtual», такие случаи поддерживаются, и возможна частичная запись в массивы с использованием блоков «Assignment».

Порты

Вход

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

Сигнал инициализации для выходного сигнала. Если элементу не присвоено другое значение, то значение выходного элемента соответствует этому значению входного сигнала.

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

Значение, назначенное элементу вывода, если указано.

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

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

Зависимости

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

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

Продукция

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

Выходной сигнал с заданными значениями для указанных элементов.

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

Параметры

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

Введите количество размеров выходного сигнала.

Информация командной строки

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

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

Информация командной строки

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

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

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

Это значение по умолчанию. Назначены все элементы.

Index vector (dialog)

Включает столбец Index. Введите индексы элементов.

Index vector (port)

Отключает столбец Index. Индексный порт определяет индексы элементов.

Starting index (dialog)

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

Starting index (port)

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

При выборе Index vector (port) или Starting index (port) для любого измерения в таблице можно указать одно из следующих значений параметра Initialize output (Y):

  • Initialize using input port <Y0>

  • Specify size for each dimension in table

В противном случае Y0 всегда инициализирует выходной порт Y.

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

Информация командной строки

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

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

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

Информация командной строки

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

Введите ширину выходного сигнала блока.

Зависимости

Чтобы включить этот столбец, выберите Specify size for each dimension in table для параметра Initialize output (Y).

Информация командной строки

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

Укажите способ инициализации выходного сигнала.

  • Initialize using input port <Y0> - Сигнал на входном порту Y0 инициализирует выходные данные.

  • Specify size for each dimension in table - Требуется указать ширину выходного сигнала блока в параметре «Размер выходного сигнала». Если выходные данные содержат неназначенные элементы, значение этих элементов не определено.

Зависимость

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

Информация командной строки

Параметр: OutputInitialize
Текст: символьный вектор
Значения: 'Initialize using input port <Y0>' | 'Specify size for each dimension in table'
По умолчанию: 'Initialize using input port <Y0>'

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

  • Error - Программа Simulink завершает моделирование и отображает ошибку.

  • Warning - Программа Simulink выводит предупреждение и продолжает моделирование.

  • None - Программное обеспечение Simulink не выполняет никаких действий.

Информация командной строки

Параметр: DiagnosticForDimensions
Текст: символьный вектор
Значения: 'Error' | 'Warning' | 'None'
По умолчанию: 'None'

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

Зависимости

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

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

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

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

Типы данных

Boolean | double | enumerated | fixed point | integer | single

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

yes

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

yes

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

yes

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

no

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

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

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

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

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