exponenta event banner

Слияние

Объединение нескольких сигналов в один сигнал

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

  • Merge block

Описание

Блок объединения объединяет входные данные в один выходной сигнал. Выходное значение в любой момент времени равно последнему вычисленному выходу его управляющих блоков. Укажите количество входов, установив параметр Number of inputs.

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

Рекомендации по использованию блока объединения

При использовании блока «Объединение» следуйте следующим инструкциям.

  • Всегда используйте условно выполненные подсистемы для управления блоками Merge.

  • Убедитесь, что не более одной из управляющих условно выполняемых подсистем выполняется в любой момент времени.

  • Убедитесь, что все входные сигналы имеют одинаковое время выборки.

  • Не ответвляйте сигнал, который вводится в блок объединения, если используется установка по умолчанию Classic для параметров конфигурации модели > Диагностика > Недоопределенный параметр обнаружения инициализации.

  • Для всех условно выполненных блоков Outport подсистемы, которые управляют блоками Merge, установите для параметра Output when disabled значение held.

  • Если выходные данные блока Model поступают из блока MATLAB Function или диаграммы Stateflow ®, не подключайте этот выходной порт к входному порту блока Merge.

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

Следующая диаграмма показывает действительное использование блока Merge, объединяющего сигналы от двух условно выполненных подсистем.

Поддержка шины

Блок слияния является блоком с поддержкой шины. Входы могут быть виртуальными или невиртуальными сигналами шины с учетом следующих ограничений:

  • Количество входов должно быть больше единицы.

  • Начальный выход должен быть нулевым, ненулевым скаляром или конечной числовой структурой.

  • Разрешить неравную ширину порта необходимо отключить.

  • Все входы в слияние должны быть шинами и должны быть эквивалентными (одна и та же иерархия с одинаковыми именами и атрибутами для всех элементов).

Все сигналы на входе невиртуальной шины в блок слияния должны иметь одинаковое время выборки. Можно использовать блок Rate Transition для изменения времени выборки отдельного сигнала или всех сигналов в шине.

Объединение выходных сигналов S-функции

Блок объединения может объединить сигнал из S-функционального блока, только если память, используемая для хранения выходных данных S-функции, является повторно используемой. Программа Simulink ® выводит сообщение об ошибке при попытке обновить или смоделировать модель, соединяющую неиспользуемый порт S-функционального блока с блоком слияния. ПосмотритеssSetOutputPortOptimOpts.

Ограничения

  • Все сигналы, которые подключаются к блоку слияния, функционально одинаковы. Следовательно, они подвергаются ограничению, что данный сигнал может иметь не более одного связанного сигнального объекта. Посмотрите Simulink.Signal для получения дополнительной информации.

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

  • Не устанавливайте для выходов условно выполненных подсистем, которые объединяются, сброс при отключении. Это действие может привести к одновременному обновлению блока несколькими подсистемами. В частности, отключенная подсистема обновляет блок объединения, сбрасывая его выходные данные, в то время как включенная подсистема обновляет блок, вычисляя его выходные данные.

    Чтобы предотвратить такое поведение, установите для параметра Outport block Output, если он отключен, значение held для каждой объединяемой условно выполняемой подсистемы.

    Примечание

    Если используется упрощенный режим инициализации, установите для параметра Outport block Output, если он отключен, значение held.

  • Блок объединения не принимает входные сигналы, элементы которых были переупорядочены или частично выбраны. Кроме того, не следует подключать входные сигналы к блоку, которые были объединены вне условно выполняемой подсистемы.

Массив шин можно использовать в качестве входного сигнала для блока слияния со следующими ограничениями:

  • Разрешить неравную ширину порта - очистить этот параметр.

  • Начальное условие - этот параметр можно задать с помощью:

    • Стоимость 0. В этом случае каждый из отдельных сигналов в массиве шин использует начальное значение 0.

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

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

Порты

Вход

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

Первый входной сигнал слился с другими входными сигналами.

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

nвторой входной сигнал слился с другими входными сигналами.

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

Продукция

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

Выходной сигнал объединяется с входными сигналами.

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

Параметры

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

Укажите количество входных сигналов для объединения. Блок создает порт для каждого входного сигнала.

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

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

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

В упрощенном режиме инициализации для неопределенной (пустой матрицы []) значение Initial output, блок использует исходное значение по умолчанию типа выходных данных. Сведения о исходном значении по умолчанию см. в разделе Инициализация значений сигналов. В классическом режиме инициализации для неопределенной (пустой матрицы []) значение начального выхода, начальный выход блока равен последнему оцененному начальному выходу управляющих блоков. Поскольку порядок инициализации для этих источников может изменяться, инициализация может быть несогласованной для моделирования и генерации кода модели.

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

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

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

max(w1+o1, w2+o2, ... wn+on)

где w1, ... wn - ширина входных сигналов и o1, ... on являются смещениями для входных сигналов.

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

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

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

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

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

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

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

Типы данных

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

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

yes

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

yes

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

no

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

no

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

.

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

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