我正在使用Simulink从我创建的代表排序步骤,缓冲区等的多个掩码块中建立垃圾回收工厂。每个模块(即掩码块)具有失败概率,使用离散事件建模。如果发生故障事件,触发子系统会调用解释的Matlab函数(simulink的“外部”)。这个函数应该设置代表失败模块的掩码块的参数status
以及上游模块的status
为0(因为很明显,上游的所有内容都必须停止或材料堆积)。获取调用解释的Matlab函数的块的句柄
`set_param(gcb, 'status', num2str(status));
PortConnectivity = get_param(gcb,'PortConnectivity');
sources = PortConnectivity.SrcBlock;`
基本上,这将循环,直到我到达没有自己的源块的块。 这一切都工作得很好,除了一个问题:gcb
命令为我提供了手动加亮的最后一个块的块路径,而不是调用解释的Matlab函数的块。有没有办法获得调用块的句柄(我将使用它的Parents
参数来访问Mask的status
)? (类似的问题已被要求here,没有结果...)
我希望你得到我的问题 - 我会很乐意详细说明,如果有什么不清楚的;我不是自称是Simulink的专家,所以很抱歉可能会使用错误的术语。
非常感谢的队友!完美的作品。 – Ade