2 个总线信号上的 Simulink 数学运算

Simulink math operations on 2 bus signals

我需要制作一个 Simulink 块,它接收多个总线信号的串联,并对每对后续总线的总线中包含的信号执行相同的数学运算。总线信号属于同一类型并且是非虚拟的。

为了这个问题,我们假设有 4 条简单总线的串联,每条总线包含一个 x 和一个 y 字段。由 a=x1+x2b=y1-y2 组成的信号总线需要由总线输入 1,2 和 3,4 组成。因此,块的输出应该是 2 条总线的串联,第一个包含来自第一对输入总线的信息,第二个包含来自第二对输入总线的信息。

以下是一种难以扩展的方法。

是否有任何内置的总线数学运算可能性,或更好的方法来实现它?我在 Mathworks 文档中找不到任何内容,简单的操作块会生成不兼容错误。

您需要使用 For Each Subsystem 块。如本例所示。请注意,我调用了总线 BusTest 并使信号的维度和数据类型可见:

现在将该块的 Signal Width 参数设置为 2,以便将输入数组分成长度为 2 的块:

然后将您的逻辑移动到该块中: