条件执行
我们都知道,在仿真软件总是有多种方式来万博1manbetx实现功能。一个情况我经常犹豫在选择的实现是有条件执行。
我将分享一些可能的选项通常认为,想知道你如何选择一个与另一个。
启用子系统
也许是因为它是第一个方法我学到了当我开始使用仿真软件很久以前,但我喜欢万博1manbetx启用子系统。
使用这种方法,您可以使用仿真软件模块为每个子系统生成一万博1manbetx个逻辑信号。这个方法是有用的,当你有一个小数量的互斥系统和激活逻辑是相对简单的。
开关和多端口切换
根据赛斯解释说以前的文章,开关和多端口切换块可用于实现条件执行。
如果你使条件分支执行优化,仿真软件执行只计算所需万博1manbetx的模块控制输入和选择的数据输入控制输入。
我通常使用这种方法只有当我需要2很简单的选项之间切换,由几个directfeedthrough无状态块。
行动子系统
如果行动子系统和切换实例操作子系统特别设计的模型if - else和切换实例控制流。
在这种方法中,您定义的条件对话框的if - else或切换实例。
这种方法需要注意的一件事是,所有在一个行动子系统由一个如果或切换实例块必须运行在相同的速度驾驶。
Stateflow和仿真软件万博1manbetx功能
对于复杂的激活逻辑,我建议使用Stateflow。在图表,您可以将里面的算法被有条件地执行仿真软件功能。万博1manbetx
我喜欢用这种技术特别是当模型函数的多个位置图表。万博1manbetx
Stafeflow和函数调用子系统
我不得不承认,当我把一个大型或重要的算法在Stateflow仿真软件功能,我觉得如果我隐藏它。万博1manbetx这就是为什么有时我宁愿从图表生成函数调用。
Stafeflow、枚举和子系统切换实例操作
一种使它明显,有且只有一个子系统是主动一次生成一个枚举类型的Stateflow切换实例构造图和使用它。
结论
所有这些方法有其各自的优点和缺点。我认为重要的是阅读和理解的文档选择适合您的用例。
有疑问时,可读性。试着选择一个你认为会使它尽可能容易理解的功能模型。
现在轮到你了
我会非常有兴趣听到你在选择一个与另一个标准。
让我们知道你的意见这里的评论。
评论
留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。