我的simulink模板中有一个参数:refName
。在Mask Initialization选项卡中,我首先将其初始化为类型为double
的1 x 300向量。我必须这样做,因为这个向量进一步传播到C ++ S函数,其中数组不能(很容易)具有可变大小。
在此之后,在相同的初始化选项卡中,将根据用户输入的另一个参数refType
为其分配值。因此,例如,如果refType是'R32',则refName可能是[1 2 3](并非所有300个单元格都被使用),如果refType是R410A,refName可能是[4 5 6],依此类推。
我遇到的问题是在模拟开始之前尝试将此变量发送到工作区(作为变量refNameU
)。我尝试在CloseFcn,InitFcn 和 LoadFcn块回调中设置refNameU = get_param(gcb,'refName')
,但由于某种原因,无论从哪个回调调用,工作空间中的值始终为零。而不是一个大小为300且全零的向量,但只是零。
作为参考,我检查了refName参数的'Evaluate','Enable Parameter'和'Tunable'选项。有人可以向我解释我做错了什么以及如何解决这个问题?提前谢谢。