概述的StateflowAPI
的Stateflow®应用程序编程接口(API)允许您创建或修改Stateflow MATLAB的图表®命令窗口。通过将Stateflow API命令一个MATLAB函数或脚本,您可以:
自动化你的图表修改操作执行几个编辑步骤在一个单一的命令。
消除重复图表创建步骤通过产生一个“基地”Stateflow图表,您可以重用作为您的应用程序的模板。
你的模型的产生专业报告。
Stateflow API包含对象表示的图形和nongraphical对象Stateflow图表。例如,API的对象Stateflow.State
和Stateflow.Transition
代表Stateflow图的状态和转换。当你修改一个API对象的属性或调用一个对象的函数,你影响Stateflow图中相应的对象。当你使用Stateflow编辑器上执行一个操作一个对象的图表,你会影响相应的API对象。
请注意
你不能撤消Stateflow编辑器,您执行的任何操作通过使用Stateflow API。如果你通过API执行编辑操作,撤销和重做快速访问工具栏中按钮禁用。
的层次结构StateflowAPI对象
Stateflow API对象组织在一个容器层次结构。例如,如果状态一个
包含状态B
在Stateflow图表,然后API对象的状态一个
包含API对象的状态B
。Stateflow API层次结构遵循相同的规则遏制Stateflow对象层次结构。例如,图可以包含状态,但不能包含图表。有关更多信息,请参见Stateflow对象的概述。
这个图表显示了Stateflow API中对象的层次结构。
容器层次结构包括四个层次:
根- - -
万博1manbetxSimulink.Root
是所有Stateflow API对象的父对象。它的顶部是一个占位符Stateflow API层次区分Stateflow对象与其他对象的仿真软件万博1manbetx®模型。你自动创建万博1manbetxSimulink.Root
对象添加一个Stateflow图表时,一个状态转换表块,真值表块,或MATLAB函数块一个仿真软件模型,或万博1manbetx当你的负载模型,其中包含一个街区。机——从Stateflow的角度来看,
Stateflow.Machine
对象是相当于仿真软件模型。万博1manbetx一个Stateflow.Machine
对象包含对象代表Stateflow图表,状态转换表块,真值表块,MATLAB函数块模型。图表- - - - - -
Stateflow.Chart
,Stateflow.StateTransitionTableChart
,Stateflow.TruthTableChart
,Stateflow.EMChart
对象代表Stateflow图表,状态转换表块,真值表块,MATLAB函数块,分别。对象在这个层次可以包含对象代表州,功能,盒、数据、事件、消息、转换、连接、出入境口岸、和注释。州、函数和盒子——这个层次包括
Stateflow.State
,Stateflow.Function
,Stateflow.Box
代表国家的对象、函数和框,分别。这些对象可以包含其他对象代表州,功能,盒、数据、事件、消息、转换、连接、出入境口岸、和注释。嵌套的水平可以继续下去。
层次结构关系图显示了两个对象类型存在以外的容器层次结构:
编辑器- - - - - -
Stateflow.Editor
对象提供图形方面的图表和状态转换表。为每一个Stateflow.Chart
或Stateflow.StateTransitionTableChart
对象,有一个Stateflow.Editor
对象,您可以使用它们来控制位置,大小和放大Stateflow编辑器的水平。有关更多信息,请参见放大Stateflow图表,缩小Stateflow图表上,设置缩放因子。剪贴板- - -
Stateflow.Clipboard
对象有两个函数,复制
和pasteTo
,使用剪贴板作为暂存区域在Stateflow API实现复制粘贴功能。有关更多信息,请参见复制和粘贴的分组和复制和粘贴的对象数组。
访问StateflowAPI对象
使用Stateflow API,你首先访问万博1manbetxSimulink.Root
对象,该对象的父Stateflow中的所有对象的API。您使用万博1manbetxSimulink.Root
对象来访问其他API对象模型中。例如:
创建一个仿真软件模万博1manbetx型与一个空Stateflow图通过调用函数
sfnew
。sfnew
使用的函数
sfroot
访问万博1manbetxSimulink.Root
对象。rt = sfroot;
调用
找到
函数来访问Stateflow.Chart
对象模型中对应的图表。ch =找到(rt,“是”,“Stateflow.Chart”);
调用
Stateflow.State
向图表添加一个状态函数。这个函数返回一个Stateflow.State
对象对应于这个新国家。圣= Stateflow.State (ch);
显示Stateflow编辑器的新状态。
视图(圣)
有关更多信息,请参见访问对象在你Stateflow图表和通过使用Stateflow API创建图表。
修改API对象的属性
API对象有属性,对应在Stateflow编辑器中设置的值。例如,使用编辑器来改变一个国家的位置,单击并拖动。Stateflow API,你改变的位置通过修改状态位置
相应的属性Stateflow.State
对象:
st.Position = (10 100 80);
调用API对象函数
API对象函数对应行动Stateflow编辑器。例如,使用编辑器打开属性对话框的过渡,你右击并选择的过渡属性。与Stateflow API,您通过调用打开此对话框对话框
相应的函数Stateflow.Transition
对象:
对话框(tr);
另请参阅
功能
对象
Stateflow.Box
|Stateflow.Chart
|Stateflow.Clipboard
|Stateflow.Editor
|Stateflow.EMChart
|Stateflow.Function
|Stateflow.Machine
|Stateflow.State
|Stateflow.StateTransitionTableChart
|Stateflow.Transition
|Stateflow.TruthTableChart