将多个信号合并为单个信号。
Merge块将其输入合并为一条输出线,该输出线的值在任何时候都等于其驱动块的最近计算输出。通过设置块的“输入数”参数,可以指定任意数量的输入。
使用“merge”块时,请遵循以下准则:
始终使用有条件执行的子系统来驱动Merge块。
编写控制逻辑,以确保在任何时间步骤中,最多有一个驱动条件执行的子系统执行。
不要将Merge块的多个输入连接到同一个有条件执行的子系统。
始终将merge块连接到至少两个输入信号。
确保所有输入信号具有相同的采样时间。
始终设置merge块的初始输出参数,除非merge块的输出端口连接到另一个merge块。
如果使用“模型配置参数”>“诊断”>“未指定初始化检测参数”的默认设置“经典”,则不要将输入到merge块的信号分支。
对于驱动Merge块的所有有条件执行的子系统Output块,将Output when disabled参数设置为hold。
对于Merge块的每个输入,最上面的非原子和非虚拟源必须是有条件执行的子系统,而不是迭代子系统。
您可以使用Model Advisor 来检查模型中合并块的使用情况。
以下示意图显示了有效的Merge块使用,合并来自两个有条件执行的子系统的信号。
Merge块无法连接到正弦波块,因为正弦波块不是有条件执行的子系统。
Merge块不能连接到for迭代子系统。
Merge块不能连接到分支信号。
不支持单输入合并。每个Merge块必须至少有两个输入。
如下图,是我搭建的模块,merge三个if子系统的输入,同时只会有一路信号通过merge。
输出为2,正确。