Simulink块回调:如何在StartFcn中访问块参数?

时间:2014-03-20 18:30:11

标签: matlab simulink

我有一个带有一堆参数的虚拟子系统。我想使用这些参数来计算块的其他属性。这需要在模拟开始之前完成,但之后块已初始化。

我创建了一个可以进行计算的脚本,并尝试从StartFcn块回调中运行它。但是脚本无法访问回调中的参数(用户通过掩码输入的参数)。我猜这是因为这些参数在Matlab工作空间中不可用,只在块内。

有没有办法通过StartFcn访问这些参数?如果失败了,还有另一种方法,而不是StartFcn,通过它我可以在模拟开始之前执行一些计算吗?

为了澄清,我不能在块的掩码中使用Initialization选项卡,因为脚本也需要来自其他块的数据(在模拟开始时工作区中可用)。

1 个答案:

答案 0 :(得分:1)

您的猜测是正确的,在基础工作区中评估块回调,但掩码参数是掩码的私有工作区的一部分。要访问它们,请在回调函数中使用get_paramgcb

value = get_param(gcb, 'my_param_name');