主要内容

概述的StateflowAPI

的Stateflow®应用程序编程接口(API)允许您创建或修改Stateflow MATLAB的图表®命令窗口。通过将Stateflow API命令一个MATLAB函数或脚本,您可以:

  • 自动化你的图表修改操作执行几个编辑步骤在一个单一的命令。

  • 消除重复图表创建步骤通过产生一个“基地”Stateflow图表,您可以重用作为您的应用程序的模板。

  • 你的模型的产生专业报告。

Stateflow API包含对象表示的图形和nongraphical对象Stateflow图表。例如,API的对象Stateflow.StateStateflow.Transition代表Stateflow图的状态和转换。当你修改一个API对象的属性或调用一个对象的函数,你影响Stateflow图中相应的对象。当你使用Stateflow编辑器上执行一个操作一个对象的图表,你会影响相应的API对象。

请注意

你不能撤消Stateflow编辑器,您执行的任何操作通过使用Stateflow API。如果你通过API执行编辑操作,撤销重做快速访问工具栏中按钮禁用。

的层次结构StateflowAPI对象

Stateflow API对象组织在一个容器层次结构。例如,如果状态一个包含状态B在Stateflow图表,然后API对象的状态一个包含API对象的状态B。Stateflow API层次结构遵循相同的规则遏制Stateflow对象层次结构。例如,图可以包含状态,但不能包含图表。有关更多信息,请参见Stateflow对象的概述

这个图表显示了Stateflow API中对象的层次结构。

图显示了四个层次的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代表国家的对象、函数和框,分别。这些对象可以包含其他对象代表州,功能,盒、数据、事件、消息、转换、连接、出入境口岸、和注释。嵌套的水平可以继续下去。

层次结构关系图显示了两个对象类型存在以外的容器层次结构:

访问StateflowAPI对象

使用Stateflow API,你首先访问万博1manbetxSimulink.Root对象,该对象的父Stateflow中的所有对象的API。您使用万博1manbetxSimulink.Root对象来访问其他API对象模型中。例如:

  1. 创建一个仿真软件模万博1manbetx型与一个空Stateflow图通过调用函数sfnew

    sfnew

  2. 使用的函数sfroot访问万博1manbetxSimulink.Root对象。

    rt = sfroot;

  3. 调用找到函数来访问Stateflow.Chart对象模型中对应的图表。

    ch =找到(rt,“是”,“Stateflow.Chart”);

  4. 调用Stateflow.State向图表添加一个状态函数。这个函数返回一个Stateflow.State对象对应于这个新国家。

    圣= Stateflow.State (ch);

  5. 显示Stateflow编辑器的新状态。

    视图(圣)

有关更多信息,请参见访问对象在你Stateflow图表通过使用Stateflow API创建图表

修改API对象的属性

API对象有属性,对应在Stateflow编辑器中设置的值。例如,使用编辑器来改变一个国家的位置,单击并拖动。Stateflow API,你改变的位置通过修改状态位置相应的属性Stateflow.State对象:

st.Position = (10 100 80);
有关更多信息,请参见修改Stateflow对象的属性和调用函数

调用API对象函数

API对象函数对应行动Stateflow编辑器。例如,使用编辑器打开属性对话框的过渡,你右击并选择的过渡属性。与Stateflow API,您通过调用打开此对话框对话框相应的函数Stateflow.Transition对象:

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

另请参阅

功能

对象

相关的话题