Merge

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

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

  • Merge block

Описание

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

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

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

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

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

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

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

  • Не переходите сигнал, который вводит с блоком Merge.

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

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

  • Поддержки блока Merge, объединяющие сигналы в различных задачах с корневым блоком Outport.

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

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

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

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

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

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

  • Флажок Allow unequal port widths должен быть снят.

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

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

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

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

Работавший в многозадачном режиме корень Выходные параметры

Блок Merge, соединенный с корневым блоком Outport, позволяет объединять сигналы в различных задачах путем разрешения тем сигналам записать в корневой блок Outport одновременно. Шаг расчета Объединения источников присвоен блоку Merge.

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

Ограничения

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

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

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

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

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

    Simulink block diagram including 2 enabled subsystems, each of whose outputs is connected to a Selector block. The outputs of both Selector blocks are connected to a Merge block. One Selector block reorders its input signal before passing it to the Merge block, and the other Selector block selects a subset of its input signal before passing it to the Merge block.

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

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

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

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

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

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

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

Порты

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

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

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

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

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

Типы данных: 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, блок использует начальное значение по умолчанию типа выходных данных. Для получения информации о начальном значении по умолчанию смотрите, Инициализируют Значения сигналов. В Классическом Режиме Инициализации, для незаданного (пустой матричный []) значение Initial output, начальный выход блока равняется последний раз оцененному начальному выходу ведущих блоков. Поскольку упорядоченное расположение инициализации для этих источников может варьироваться, инициализация может быть противоречивой для симуляции и генерации кода модели.

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

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

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

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

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

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

Примечание

Не выбирайте этот параметр, если ваша модель не использует Классический Режим Инициализации.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите Allow unequal port widths.

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

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

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

Типы данных

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

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

yes

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

yes

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

no

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

no

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

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

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