的Stateflow®应用程序编程接口(API)允许您从MATLAB创建或更改状态流图®命令窗口。通过在MATLAB函数或脚本中放置statflow API命令,您可以:
通过在单个命令中执行多个编辑步骤,自动化图表修改操作。
通过生成可以重用为应用程序模板的“基础”状态流程图,消除重复的图表创建步骤。
为您的模型生成一份专门的报告。
statflow API由表示statflow图表的图形化和非图形化对象的对象组成。例如,API对象Stateflow。状态
和Stateflow。过渡
表示状态流图中的状态和转换。当您修改一个API对象的属性或调用它的一个对象函数时,您将影响状态流图中相应的对象。当您使用statflow Editor对图表中的对象执行操作时,您将影响相应的API对象。
请注意
您不能撤消通过使用statflow API在statflow Editor中执行的任何操作。如果您通过API执行编辑操作,则撤销和重做快速访问工具栏中的按钮被禁用。
状态流API对象组织在一个包含层次结构中。例如,if状态一个
包含状态B
在状态流图中,然后是状态的API对象一个
包含用于状态的API对象B
.statflow API层次结构遵循与statflow对象层次结构相同的包含规则。例如,图表可以包含状态,但是状态不能包含图表。有关更多信息,请参见状态流对象概述.
此图显示了statflow API中对象的层次结构。
该层次结构由四个级别的包含组成:
根- - -金宝app仿真软件。根
对象是所有statflow API对象的父对象。它是一个位于statflow API层次结构顶部的占位符,用于将statflow对象与Simulink中的其他对象区分开来金宝app®模型。您将自动创建金宝app仿真软件。根
对象时,添加状态流图状态转换表块,真值表块,或MATLAB函数块到Simulink模金宝app型中,或者当您加载包含这些块之一的模型时。
机-从statflow的角度来看,Stateflow。机
对象等价于Simulink模型。金宝app一个Stateflow。机
对象包含表示状态流图的对象,状态转换表块,真值表块,MATLAB函数模型中的块。
图表- - - - - -Stateflow。图表
,Stateflow。状态过渡TableChart
,Stateflow。TruthTableChart
,Stateflow。EMChart
对象表示状态流图,状态转换表块,真值表块,MATLAB函数块,分别。这个层次结构中的对象可以包含表示状态、函数、框、数据、事件、消息、转换、连接和注释的对象。
状态、函数和框-层次结构的这一层包括Stateflow。状态
,Stateflow。函数
,Stateflow。盒子
对象,分别表示状态、函数和框。这些对象可以包含表示状态、函数、框、数据、事件、消息、转换、连接和注释的其他对象。嵌套的层次可以无限地继续下去。
层次关系图显示了存在于包含层次结构之外的两种对象类型:
编辑器- - - - - -Stateflow。编辑器
对象提供对图表和状态转换表的图形化方面的访问。为每一个Stateflow。图表
或Stateflow。状态过渡TableChart
对象,有一个Stateflow。编辑器
对象,可用于控制状态流编辑器的位置、大小和放大级别。有关更多信息,请参见放大状态流程图,缩小状态流程图,设置缩放因子.
剪贴板- - -Stateflow。剪贴板
对象有两个函数,复制
和pasteTo
,它们使用剪贴板作为暂存区,在statflow API中实现复制粘贴功能。有关更多信息,请参见复制和粘贴分组和复制和粘贴对象数组.
要使用statflow API,首先要访问金宝app仿真软件。根
对象,它是statflow API中所有对象的父对象。您使用金宝app仿真软件。根
对象来访问模型中的其他API对象。例如:
通过调用函数创建一金宝app个带有空状态流程图的Simulink模型sfnew
.
sfnew
使用的函数sfroot
访问金宝app仿真软件。根
对象。
rt = sfroot;
调用找到
函数访问Stateflow。图表
对象,该对象与模型中的图表相对应。
ch =找到(rt,“是”,“Stateflow。图表的);
调用Stateflow。状态
函数向图表中添加状态。这个函数返回Stateflow。状态
对象,该对象对应于新状态。
圣= Stateflow.State (ch);
在状态流编辑器中显示新状态。
视图(圣)
有关更多信息,请参见访问状态流程图中的对象和使用Stateflow API创建图表.
API对象具有与通常通过statflow Editor为对象设置的值相对应的属性。例如,要更改状态的位置,通常需要单击并拖动状态。使用statflow API,可以通过修改位置
对应的性质Stateflow。状态
对象:
st.Position = [10 20 100 80];
API对象具有提供通常由statflow Editor提供的服务的函数。例如,要打开一个转换的属性对话框,通常需要右键单击转换并选择属性.使用statflow API,您可以通过调用对话框
对应的函数Stateflow。过渡
对象:
对话框(tr);
Stateflow。盒子
|Stateflow。图表
|Stateflow。剪贴板
|Stateflow。编辑器
|Stateflow。EMChart
|Stateflow。函数
|Stateflow。机
|Stateflow。状态
|Stateflow。状态过渡TableChart
|Stateflow。过渡
|Stateflow。TruthTableChart