0

问题:

在我的 simulink 模型中,我有一个总线创建器,它将所有信号发送到一个模块。块的目的是根据索引动态地进行选择器和开关。示例:我有 3 个对象,每个对象都有一个位置和一个速度信号,我想获取 3 个对象的位置,所以 3 个信号(这意味着总线选择器将有 3 个输出,而多功能开关将有 4 个(一个对于索引))。该块工作正常,在回调中调用了一个递归函数脚本,它检查总线是否有所有可能的信号并计算对象的数量,并相应地修改总线选择器和开关。问题是这个块链接到一个库,所以我必须禁用链接才能使回调脚本工作。

问题:

  1. 为了避免禁用链接,我应该更改什么?
  2. 是否有另一种进行动态布线且不使用回调脚本的方法?
4

2 回答 2

0

使用MATLAB Function模块进行选择的想法很好,但我会尝试使用总线输入以保留使用总线的优势,而不是转换为向量并返回。因此,不要将您的代码作为对总线选择器块的回调,我的建议是在具有总线输入和用于在总线中进行选择的信号输入的 MATLAB Function 块中实现它,并将输出仍然定义为一个总线对象。

于 2013-07-05T10:17:16.230 回答
0

我建议使用向量连接块而不是总线创建器加上一个matlab 功能块来选择。这是模型

在此处输入图像描述

这是matlab函数中的代码:

在此处输入图像描述

这样库中的块就不需要每次都改变了。此外,如果您必须保留您的总线,您可以使用总线到矢量块将它们转换为矢量。

于 2013-07-04T15:00:28.107 回答