我在Simulink遇到了问题,我有一个变量" k"作为常量块(起始值k = 1),我想增加" k"每次我点击"模拟按钮"直到" k"是4然后它将再次重置为1。
我已经尝试了这个(参见附图1),但是在这种情况下,k它将在模拟时间结束之前进行如此长时间的墨水检测(见图2),这不是我想要的。
enter image description here enter image description here
我会感谢任何帮助,非常感谢杰伊
答案 0 :(得分:3)
如果您只想在每次运行模拟时更新值,最好的选择是在InitFcn
回调中添加一些代码。
这是一个(可选的)代码块,每次初始化模型时都会运行。为此,请导航File > Model Properties > Model Properties
选择Callbacks选项卡,然后选择左侧的InitFcn
回调。以下代码将检查工作空间中是否存在k
,如果不存在则设置它,如果是,则增加它。如果你把它放在回调中,然后将常量块值设置为k
,你应该得到你想要的行为。
if ~exist('k', 'var')
k = 1;
else
k = k + 1;
end
if k>4
k = 1;
end