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