我在运行simulink的块回调时遇到了很多麻烦,而且文档严重不足且杂乱无章。似乎我误解了Simulink如何编译模型的多个要点,但由于StackOverflow不喜欢多部分问题,我会一次发布一个。
情况:我有一个组件库,每个组件都是一个虚拟子系统,其参数是通过掩码定义的。阻止A
具有参数a
,使用' assignin'}将其发送到基础工作区。命令。
接下来,块B
具有参数b
,该参数在掩码的“初始化”选项卡中初始化。
最后,块B
的StartFcn回调运行脚本,需要引用a
和b
来计算c
。在脚本中,我将a
简称为a
,因为它位于' base'工作区,我使用b
引用get_param(gcb,'b')
。
现在,当参数b
是用户输入时,这最后一个命令有效(因此它是一个常量值)。但在我的情况下,使用“初始化”选项卡中的其他参数计算此b
。由于某种原因,在脚本中,此参数始终为零。
我在块B
中添加了一个显示,以查看这些值是什么,它们显然不为零。
有人可以解释为什么剧本似乎无法获得区域外的区域的真正价值吗?