主要内容

概述的StateflowAPI

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

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

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

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

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

请注意

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

的层次结构StateflowAPI对象

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

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

显示API对象层次结构的四个层次的关系图。

该层次结构由四个级别的包含组成:

  • - - -金宝app仿真软件。根对象是所有statflow API对象的父对象。它是一个位于statflow API层次结构顶部的占位符,用于将statflow对象与Simulink中的其他对象区分开来金宝app®模型。您将自动创建金宝app仿真软件。根对象时,添加状态流图状态转换表块,真值表块,或MATLAB函数块到Simulink模金宝app型中,或者当您加载包含这些块之一的模型时。

  • -从statflow的角度来看,Stateflow。机对象等价于Simulink模型。金宝app一个Stateflow。机对象包含表示状态流图的对象,状态转换表块,真值表块,MATLAB函数模型中的块。

  • 图表- - - - - -Stateflow。图表Stateflow。状态过渡TableChartStateflow。TruthTableChart,Stateflow。EMChart对象表示状态流图,状态转换表块,真值表块,MATLAB函数块,分别。这个层次结构中的对象可以包含表示状态、函数、框、数据、事件、消息、转换、连接和注释的对象。

  • 状态、函数和框-层次结构的这一层包括Stateflow。状态Stateflow。函数,Stateflow。盒子对象,分别表示状态、函数和框。这些对象可以包含表示状态、函数、框、数据、事件、消息、转换、连接和注释的其他对象。嵌套的层次可以无限地继续下去。

层次关系图显示了存在于包含层次结构之外的两种对象类型:

访问StateflowAPI对象

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

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

    sfnew

  2. 使用的函数sfroot访问金宝app仿真软件。根对象。

    rt = sfroot;

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

    ch =找到(rt,“是”“Stateflow。图表的);

  4. 调用Stateflow。状态函数向图表中添加状态。这个函数返回Stateflow。状态对象,该对象对应于新状态。

    圣= Stateflow.State (ch);

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

    视图(圣)

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

修改API对象属性

API对象具有与通常通过statflow Editor为对象设置的值相对应的属性。例如,要更改状态的位置,通常需要单击并拖动状态。使用statflow API,可以通过修改位置对应的性质Stateflow。状态对象:

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

调用API对象函数

API对象具有提供通常由statflow Editor提供的服务的函数。例如,要打开一个转换的属性对话框,通常需要右键单击转换并选择属性.使用statflow API,您可以通过调用对话框对应的函数Stateflow。过渡对象:

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

另请参阅

功能

对象

相关的话题