主要内容

概述的StateflowAPI.

州流程®应用程序编程接口(API)允许您从MATLAB创建或更改Stateflow图表®命令窗口。通过将状态溢API命令放在Matlab函数或脚本中,您可以:

  • 通过在一个命令中执行几个编辑步骤,自动执行图表修改操作。

  • 通过生成一个可以作为应用程序模板重用的“基础”状态流图表,消除重复的图表创建步骤。

  • 生成您的模型的专门报告。

StateFlow API由代表StateFlow图表的图形和非图形对象的对象组成。例如,API对象Stateflow。状态Stateflow。过渡在Stateflow图表中表示状态和转换。当您修改一个API对象的属性或调用它的一个对象函数时,您将影响Stateflow图表中相应的对象。当您使用状态流编辑器对图表中的对象执行操作时,您会影响相应的API对象。

请注意

您无法通过使用StateFlow API撤消您执行的状态溢编辑器中的任何操作。如果您通过API执行编辑操作,则撤销重做快速访问工具栏中的按钮被禁用。

层次结构StateflowAPI对象

Stateflow API对象组织在一个包含层次结构中。例如,if状态一个包含状态B在StateFlow Chart中,然后是状态的API对象一个包含州的API对象B.Stateflow API层次结构遵循与Stateflow对象层次结构相同的包含规则。例如,图表可以包含状态,但状态不能包含图表。有关更多信息,请参见Stateflow对象概述

此图显示了StateFlow API中对象的层次结构。

图显示了API对象层次结构的四个级别。

层次结构由四个含量的遏制组成:

  • - - -金宝app仿真软件。根对象是所有Stateflow API对象的父对象。它是一个位于Stateflow API层次结构顶部的占位符,它将Stateflow对象与Simulink中的其他对象区分开来金宝app®模型。您将自动创建金宝app仿真软件。根对象,当您添加一个状态流图表时国家过渡表块,A真值表块,或Matlab功能块添加到Simulin金宝appk模型中,或者加载包含这些块之一的模型时。

  • - 从Zerefflow角度来看,Stateflow。机对象等价于Simulink模型。金宝app一个Stateflow。机对象包含表示extendflow图表的对象,国家过渡表块,真值表块,Matlab功能模型中的块。

  • 图表- - - - - -Stateflow。图表Stateflow。状态过渡TableChartStateflow。TruthTableChart, 和Stateflow。EMChart对象表示Stateflow图表,国家过渡表块,真值表块,Matlab功能分别块。此级别的层次结构中的对象可以包含代表状态,函数,框,数据,事件,消息,转换,结,条目和退出端口和注释的对象。

  • 状态,函数和盒子- 该层次的级别包括Stateflow。状态Stateflow。函数, 和Stateflow。盒子分别代表状态,函数和框的对象。这些对象可以包含其他代表状态,函数,框,数据,事件,消息,转换,结,条目和退出端口和注释的对象。嵌套水平可以无限期地继续。

层次结构图显示了存在于容器层次结构之外的两种对象类型:

访问StateflowAPI对象

要使用StateFlow API,请先访问金宝app仿真软件。根对象,它是Stateflow API中所有对象的父对象。您使用金宝app仿真软件。根对象访问模型中的其他API对象。例如:

  1. 通过调用函数创建一金宝app个带有空的Stateflow图表的Simulink模型sfnew

    sfnew

  2. 使用功能sfroot.访问这一点金宝app仿真软件。根目的。

    RT = SFROOT;

  3. 调用寻找函数访问Stateflow。图表对象,该对象对应于模型中的图表。

    ch =查找(RT,'-ISA''stateflow.chart');

  4. 调用Stateflow。状态函数向图表中添加状态。此函数返回Stateflow。状态对应于新状态的对象。

    圣= Stateflow.State (ch);

  5. 在状态流编辑器中显示新状态。

    查看(ST)

有关更多信息,请参见访问状态流图表中的对象使用Stateflow API创建图表

修改API对象的属性

API对象具有与你在状态流编辑器中设置的值相对应的属性。例如,要使用编辑器更改状态的位置,可以单击并拖动该状态。使用Stateflow API,您可以通过修改位置对应的属性Stateflow。状态目的:

st.Position = [10 20 100 80];
有关更多信息,请参见修改状态流对象的属性和调用函数

调用API对象函数

API对象具有与状态流编辑器中的操作对应的函数。例如,要使用编辑器打开转换的属性对话框,您可以右键单击转换并选择属性.使用StateFlow API,您可以通过调用来打开此对话框对话对应的函数Stateflow。过渡目的:

对话框(tr);
有关更多信息,请参见修改状态流对象的属性和调用函数

另请参阅

功能

对象

相关话题