Assignment

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

  • Библиотека:
  • Simulink/Математические операции

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

  • Assignment block

Описание

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

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

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

РядОпция индексаИндекс
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 в режиме normal mode, Simulink® инициализирует выходы блоков в нуле, даже если модель не инициализирует их явным образом. В режиме Accelerator Simulink преобразует модель в S-Функцию. Это включает генерацию кода. Сгенерированный код может не делать неявной инициализации выходов блоков. В таких случаях необходимо явно инициализировать выходы модели.

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

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

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

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

Однако, если установить флажок Ensure outport is virtual для условной подсистемы Outport блока, такие случаи поддерживаются и возможны частичные записи в массивы, использующие блоки 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 Option равным 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 Option Index vector (dialog)введите индекс каждого интересующего элемента.

Если Index Option 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 - Требует, чтобы вы задали ширину выходного сигнала блока в параметре Output Size. Если у выход есть неназначенные элементы, значение этих элементов не определено.

Зависимость

Включено, когда вы задаете Index Option 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++ с помощью Coder™ Simulink ®

.

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

.

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

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