1

我们有一个 S-Function 不支持 Simulink 中的总线信号,因此我试图以编程方式找到一种方法来确定输入/输出端口的信号类型是否来自/正在去往总线,以便我可以解复用和复用根据需要自动发出信号。不幸的是,我能找到的唯一能可靠地判断端口是来自还是去往总线的块属性是它是否继承了总线的属性,这可能并非在所有情况下都是正确的。关于如何解决这个问题的任何想法?

4

1 回答 1

1

好吧,我从 Matlab 支持那里得到了答案,我已经尝试过并测试过它并且它有效,唯一的事情是 Mathworks 建议使用总线选择器而不是 DEMUX 块。简而言之,这就是你要做的:

  1. 找到模型中所有信号线的手柄。
  2. 如果需要,请获取名称,但是,我使用句柄进行了此操作,并且效果很好。
  3. 编译模型以创建“CompildBusType”属性。
  4. 获取模型中每条信号线的“CompildBusType”属性。然后终止模型的编译模式。

“CompildBusType”返回“NOT_BUS”、“VIRTUAL_BUS”和“NON_VIRTUAL_BUS”。

希望这个问题对其他人有所帮助,不得不等待一个星期让 Matlab 回复我。

于 2011-05-27T16:31:23.120 回答