Объедините несколько сигналов в один сигнал
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, чтобы изменить шаг расчета отдельного сигнала, или всех сигналов в шине.
Блок 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
.
Массив структур, который задает начальное условие для каждого из отдельных сигналов в массиве шин.
Одна скалярная структура, которая задает начальное условие для каждого из элементов, которые задает тип шины. Используйте этот метод, чтобы задать те же начальные условия для каждой из шин в массиве.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|