Объедините несколько сигналов в один сигнал
Simulink / Маршрутизация Сигнала
Блок 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, чтобы изменить шаг расчета отдельного сигнала, или всех сигналов в шине.
Блок 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 не принимает входные сигналы, элементы которых были переупорядочены или частично выбраны, как показано в следующей схеме.
Не соединяйте входные сигналы с блоком, которые были объединены за пределами условно выполняемой подсистемы.
Можно использовать массив шин как входной сигнал с блоком Merge с этими ограничениями:
Allow unequal port widths — Очистите этот параметр.
Initial condition — Можно задать это использование параметра:
Значение 0
. В этом случае, каждый из отдельных сигналов в массиве шин используют начальное значение 0
.
Массив структур, который задает начальное условие для каждого из отдельных сигналов в массиве шин.
Одна скалярная структура, которая задает начальное условие для каждого из элементов, которые задает тип шины. Используйте этот метод, чтобы задать те же начальные условия для каждой из шин в массиве.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|