Assignment

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

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

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

  • Assignment block

Описание

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

На основе значения вы вводите для параметра Number of output dimensions, таблица опций индекса отображена. Каждая строка таблицы соответствует одной из выходных размерностей в Number of output dimensions. Для каждой размерности можно задать элементы сигнала работать с. Задайте векторный сигнал как 1D сигнал и матричный сигнал как 2D сигнал. Чтобы включить внешний порт индекса, в соответствующей строке таблицы, устанавливают 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 в условный блок подсистемы, скрытый буфер сигнала (который эквивалентен блоку Signal Copy), вставляется во многих случаях, и слияние сигналов от блоков 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
Ввод: символьный вектор
Значения: cellArray
Значение по умолчанию: '{ }'

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

Зависимости

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

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

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

Задайте, как инициализировать выходной сигнал.

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

  • Specify size for each dimension in table – Требует, чтобы вы задали ширину выходного сигнала блока в параметре Output Size. Если выход отменил присвоение элементов, значение тех элементов не определено.

Зависимость

Enabled, когда вы устанавливаете 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++ с помощью Simulink® Coder™.

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

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

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