Merge

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

  • Библиотека:
  • Simulink / Маршрутизация Сигнала

Описание

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

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

Инструкции для Использования блока слияния

Когда вы используете блок Merge, следуете этим инструкциям:

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

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

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

  • Не переходите сигнал, который вводит с блоком Merge, если вы используете настройку по умолчанию Classic для Model Configuration Parameters> Diagnostics> параметр Underspecified initialization detection.

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

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

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

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

Соедините шиной поддержку

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

  • Количество входных параметров должно быть больше того.

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

  • Allow unequal port widths должен быть отключен.

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

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

Слияние S-функции Выходные параметры

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

Ограничения

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

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

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

    Чтобы предотвратить это поведение, установите параметры блоков Выходного порта Output when disabled на held для каждой условно выполняемой объединяемой подсистемы.

    Примечание

    Если вы используете Упрощенный Режим Инициализации, установите параметры блоков Выходного порта Output when disabled на held.

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

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

  • Allow unequal port widths — Очистите этот параметр.

  • Initial condition — Можно задать это использование параметра:

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

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

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

Порты

Входной параметр

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

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

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

nвходной сигнал th объединен с другими входными сигналами.

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

Вывод

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы данных

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

Прямое сквозное соединение

yes

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

yes

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

no

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

no

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

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

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