在构建州流之前®在Simulink中的金宝app图表®模型,通过回答以下问题识别系统属性:
你的界面是什么?
系统对您的系统作出反应的事件触发了什么?
系统的输入是什么?
系统的输出是什么?
您的系统是否有任何操作模式?
如果答案是肯定的,操作模式是什么?
您可以转换哪种模式?是否有任何操作模式并行运行?
如果您的系统没有操作模式,则系统是无国籍方式.如果您的系统有运行模式,则系统为莫代尔.
在识别系统属性后,第一步是创建新图表。有关更多信息,请参阅sfnew.
.选择以下状态类型之一:
Classic - 默认的机器类型。为Matlab图表和C图表提供全套语义。
MEALY - 机器类型,输出是输入的功能和州。
摩尔 - 机器类型,输出是状态的函数。
有关更多信息,请参阅StateFlow对象如何在执行期间交互那matlab和c为动作语言语法之间的差异,MEALY和MOORE机器概述.
创建空图表后,回答以下问题:
对于每个状态,您希望执行哪些操作?
您的国家之间转换的规则是什么?如果您的图表没有状态,则流量逻辑分支之间转换的规则是什么?
使用您对这些问题的答案,指定状态操作和转换条件:
绘制状态来表示您的操作模式,如果有的话。看通过使用状态表示操作模式.
通过添加使用相应语法的状态标签来实现状态操作。看states.
绘制转换以表示流逻辑的方向、状态之间或流程图分支之间。看操作模式之间的转换.
通过添加使用适当的语法的转换标签来实现转换条件。看过渡.
在向图表添加状态操作和转换条件后,确定图表是否需要任何本地或持久数据来存储状态变量。如果是这样,请按照下列步骤操作:
将本地数据添加到图表层次结构的相应级别。看添加Stateflow数据.
您还可以使用符号向导将数据添加到图表中。看通过符号向导解析符号.
指定类型,大小,复杂性和其他数据属性。看设置数据属性.
状态行动和转换条件可能是足够复杂的,以便在状态或过渡的内联定义它们是不可行的。在这种情况下,使用以下类型的状态流函数之一表达操作或条件:
流程图 - 封装包含if-thel-else,switch-case的流程图,虽然是或执行else模式。
Matlab - 写入矩阵算法;调用MATLAB函数以进行数据分析和可视化。
金宝appSimulink -调用Simulink函数直接调用子系统来简化设计并提高可读性。
真值表-表示决策应用的组合逻辑,如故障检测和模式切换。
对于状态操作或转换条件中的计算类型,使用最自然的函数格式。有关这四种类型的函数的更多信息,请参阅:
如果四种类型的状态流函数不起作用,则可以编写自己的C或C ++代码以与您的图表集成。有关自定义代码集成的更多信息,请参阅在equenflow图表中重用自定义代码.
您的状态流程图是否完全表达了系统的逻辑或事件驱动组件?
如果答案是肯定的,则完成。
如果答案是否定的,您可以创建一个单独的图表或在当前图表中添加层次结构。
要创建一个新图表,重复这个基本工作流中的所有步骤。
要添加层次结构,请在当前图表的较低级别上重复前三个步骤。