主要内容

Stateflow编辑运营

Stateflow编辑

使用StateFlow.®编辑器绘制,缩放,修改,打印和保存窗口中显示的图表。

打开StateFlow Chart将显示StateFlow编辑器中的图表。

要在extenflow编辑器中打开新的StateFlow图表:

  1. 在Matlab.®命令提示符,输入:

    命令 结果
    sfnew
    使用默认动作语言创建图表。有关更多信息,请参见sfnew
    sfnew -matlab.
    用MATLAB创建一个空图表作为动作语言。
    sfnew -c.
    创建一个空的C图表。
    stateflow
    使用默认操作语言创建一个空图表,并显示StateFlow块库。

    Simu金宝applink.®编辑器打开,带有空图表。

  2. 双击图表对象。

    打开状态流编辑器。

StateFlow Editor窗口包含以下部分:

  • 标题栏

    中显示完整的图表名称模型名称/图表名称*格式。的*字符显示在图表名称的末尾,以获取新创建的图表或已编辑但未保存的现有图表。

  • 工具架

    大多数编辑器命令都可以从ToolStrip获得。您可以通过将指针放置在其上识别工具栏的每个工具,直到出现识别工具提示。

  • 对象调色板

    显示一组用于绘制状态,转换和其他图表对象的工具。要添加一个对象,可以使用调色板:

    • 单击对象的图标,将光标移动到要放置对象的绘图区域中的位置。

    • 将对象的图标拖到绘图区域中。

    • 双击图标,然后在绘图区域中多次单击以制作对象的副本。

  • 探险家酒吧

    面包屑显示了您在编辑器中打开的系统。单击面包屑中的系统以显示该系统。其中还包含用于导航图表层次结构的按钮(参见导航子图文)。

  • 模型浏览器

    单击双箭头在左下角,在编辑器中打开或关闭模型的树状结构视图。

  • 绘图区域-此区域显示图表的可编辑副本。

  • 上下文菜单(快捷菜单)-当你右键单击一个对象时,这些菜单会从绘图区域弹出。它们显示只应用于该对象的命令。如果右键单击图表的空白区域,则上下文菜单将应用于图表对象。

  • 状态信息- 靠近编辑器的顶部,您可以看到(并重置)模拟时间和仿真模式。底部状态栏显示状态流处理,工具提示,缩放系数和求解器的状态。

撤消和重做编辑器操作

您可以撤消和重做您在图表中执行的操作。当您撤消一个操作时,您将撤消上次执行的编辑操作。在撤销图表中的操作后,还可以一次重做一个操作。

  • 要撤销图表中的操作,请按Ctrl + Z

  • 要重做图表中的操作,请按Ctrl + Y

您可以在“符号”窗格或“属性检查器”中撤销和重做在“状态流”对象上完成的许多操作。

撤消的例外

您可以撤消或重做所有编辑器操作,但有以下例外情况:

  • 您不能撤消对以前已标注的状态关闭子标注的操作。

    要理解分图表,请参见使用子图封装模态逻辑

  • 您无法撤消超级特朗的图形或现有转换的分裂。

    对现有转换的拆分指的是对作为超转换一部分的转换段的源或目标的重定向。有关超跃迁的描述,请参阅将超级传输到子图文从子剖面中绘制超级特朗

  • 您无法使用StateFlow API撤消对图表所做的任何更改。

    有关statflow API的描述,请参见StateFlow Programmatic接口

    请注意

    执行上述操作中的一个时,撤消和重做按钮禁止撤消和重做任何先前的操作。

在图表中指定颜色和字体

您可以更改equaryflow显示图表的单个元素或指定整个图表中使用的全局显示选项。

更改单个元素的大小

要在图表中更改单个元素的显示大小,请右键单击该元素,然后选择一个新的格式选项中的选项菜单。可用的选项取决于您选择的元素。

选项 转换 交界处 注释 其他元素
字体大小 可用的 可用的 无法使用 可用的 可用的
箭头大小 可用的 可用的 可用的 无法使用 无法使用
连接尺寸 无法使用 无法使用 可用的 无法使用 无法使用
字体样式 无法使用 无法使用 无法使用 可用的 无法使用
影子 无法使用 无法使用 无法使用 可用的 无法使用
文本对齐 无法使用 无法使用 无法使用 可用的 无法使用

更改全局显示选项

通过颜色和字体对话框中,您可以为图表指定颜色方案,或为图表中不同类型的对象指定颜色和标签字体。打开颜色和字体对话框中格式选项卡上,单击风格

在里面颜色和字体对话框中,绘图区域显示由图表当前颜色方案指定的颜色和标签字体的示例。你可以选择不同的配色方案计划菜单。若要修改单一类型图表元素的显示选项,请将指针放在示例对象上。

  • 要更改元素的颜色,请单击示例对象并在对话框中选择一个新的颜色。

  • 要更改元素的字体,请右键单击“样本对象”,然后在对话框中选择新的字体,样式或大小。

若要将该方案应用于图表,请单击应用。若要应用方案并关闭对话框,请单击好的

要使方案所有图表的默认方案,请选择选项>制作“默认”方案

若要保存对默认配色方案的更改,请选择选项>将默认值保存到磁盘。如果修改后的方案不是默认方案,请选择将默认值保存到磁盘没有效果。

stateflow对象的内容预览

关闭图表时,可以在Simulink中预览状态溢图的内容。金宝app您可以看到图表内容的轮廓。在仿真期间,您可以看到图表动画。打开图表时,可以预览子片和Simulink函数的内容。金宝app

例如,时态逻辑图使用内容预览。没有时序逻辑的图表则没有。

要打开StateFlow图表和子区的内容预览,请右键单击图表并选择格式>内容预览。对于Si金宝appmulink功能,右键单击该函数并选择内容预览。有关Simulink中的内容预览的详细信息,请参阅金宝app预览模型组件的内容

请注意

为了查看内容预览,您可能需要放大状态流程图或对象。

智能标签补全Stateflow图表

StateFlow选项卡完成提供上下文相关的编辑帮助。选项卡完成有助于您避免印刷错误。它还可以帮助您快速为关键字,数据,事件,邮件和函数名称选择合适的选项,而无需导航模型资源管理器。在StateFlow Chart中,完成条目:

  1. 键入您想要的单词的前几个字符。

  2. 新闻标签查看可能匹配的列表。

  3. 使用箭头键选择一个单词。

  4. 新闻标签做出选择。

此外,您可以:

  • 关闭列表而不通过按下任何内容退出钥匙。

  • 在原始术语上键入其他字符以缩小可能匹配的列表。

如果你按下标签如果没有单词被列出,那么当前单词是唯一可能的匹配。

区分动作语言语法的要素

您可以使用颜色突出显示来区分以下语法元素:

  • 关键词

  • 评论

  • 事件

  • 信息

  • 功能

  • 字符串

  • 数量

语法高亮显示是用户首选项,而不是模型首选项。

默认语法突出显示

下图演示了语言元素的默认高亮显示。

图建模砰砰控制器。关键字、函数名和数字以不同的颜色显示。

如果解析器无法解析语法元素,则该图表将显示默认文本颜色中的元素。

编辑语法高亮显示

  1. 在状态流编辑器中格式选项卡上,单击风格>语法突出显示

    出现“语法高亮显示首选项”对话框。

  2. 单击要更改的颜色,从调色板中选择可选颜色,然后单击应用

  3. 点击好的要关闭语法突出显示首选项对话框。

启用和禁用语法突出显示

  1. 在状态流编辑器中格式选项卡上,单击风格>语法突出显示

    出现“语法高亮显示首选项”对话框。

  2. 选择或清除支持语法高亮显示然后点击好的

选择和取消选择图形对象

一旦对象在绘图区域中,要为该对象进行任何更改或添加,请选择它。

  • 要选择一个对象,请单击对象内部的任何位置。

  • 若要选择多个相邻对象,请单击并拖动选择框,使选择框包含或触摸要选择的对象,然后释放鼠标按钮。

    选中框内的所有对象或部分对象。

  • 要选择多个单独的对象,请同时按下转变键并单击一个对象或一组对象框。

    此步骤将对象添加到已选项对象的列表中,除非已选择对象,在这种情况下,取消选择对象。这种类型的多个对象选择对于在不选择状态本身的情况下选择状态的对象是有用的。

  • 要取消选择所有选定的对象,请单击绘图区域,但不在对象上。

当一个对象被选中时,它在颜色设置中突出显示为选择颜色(默认为蓝色;看到在图表中指定颜色和字体的更多信息)。

剪切和粘贴图形对象

您可以从绘图区域切割对象或切割,然后按照您的喜好粘贴它们。您可以将对象从一个图表剪切和粘贴到另一个图表。该图表保留了最近切割对象的选择列表。对象粘贴在最靠近当前指针位置的绘图区域位置。

  • 要切割一个对象,右键单击该对象并选择减少从上下文菜单中。

  • 要粘贴最近切割的对象选择,请右键单击图表并选择粘贴从上下文菜单中。

复制图形对象

要在绘图区域中复制和粘贴对象,请选择对象并右键单击并将其拖动到绘图区域中的所需位置。此操作还更新图表剪贴板。

请注意

如果你在图表中复制并粘贴一个状态,这些规则适用:

  • 如果原始状态使用默认状态标签,然后新状态保留该标签。

  • 如果原始状态不使用默认状态标签,然后为新状态生成一个惟一名称。

或者,要从一个图表复制到另一个图表,请选择复制然后粘贴从右键单击上下文菜单中。

注释出对象

要注释掉一个statflow对象,右键单击选中的对象并选择注释出。有关更多信息,请参见在图表中评论状态流对象

格式化图表对象

为了提高图表中对象的可读性,在■■■■中可以使用命令格式选项卡。这些命令包括以下选项:

  • 对齐

  • 分配

  • 调整大小

您可以对齐,分发或调整这些图表对象的大小:

  • 功能

  • 盒子

  • 交界处

其中一些选项只有在选择图表中的元素后才会出现。

对齐、分发和调整图表对象的大小

对齐、分布或调整图表对象大小的基本步骤类似。

  1. 如果图表包括从单个源的并行状态或传出转换,请确保图表使用显式排序。

    若要设置显式排序,请在“图表属性”对话框中选择用户指定的状态/转换执行顺序

    请注意

    如果图表使用隐式排序来确定并行状态的执行顺序或输出转换的评估顺序,则排序可以在对齐,分发或调整图表对象之后更改。使用显式排序可防止发生这种更改。有关更多信息,请参见并行状态的执行顺序评价秩序的过渡

  2. 选择要对齐、分布或调整大小的图表对象。

    您可以在任何顺序中选择对象,也可以选择对象或绘制周围的框。

  3. 确定要用作锚点的对象以使其分配或调整其他图表对象的锚点。此对象是引用对象。

    要将对象设置为引用,请右键单击该对象。括号在参考对象周围出现。在以下示例中,运动状态被选择,并且国家是参考。

    请注意

    如果您选择一个逐个对象,则选择的最后一个对象充当参考。

  4. 中选择一个选项格式标签以对齐,分发或调整所选对象的大小。

    有关图表对象分布选项的更多信息,请参见分发图表对象的选项

分发图表对象的选项

选项 描述
水平分布

任意两个对象之间的中心到中心水平距离是相同的。

请注意

分布的水平空间是最偏移物体左边缘和最右侧对象的右边缘之间的距离。如果您选择的对象的总宽度超过可用水平空间,则对象在分发后可以重叠。

垂直分发

任意两个对象之间的中心到中心垂直距离是相同的。

请注意

用于分配的垂直空间是最高物体顶部边缘和最低物体的底部边缘之间的距离。如果您选择的对象的总高度超出可用的垂直空间,则对象可以在分发后重叠。

甚至水平空隙

任何两个物体之间的水平空白是相同的。

请注意

空间限制水平分布适用。

甚至垂直空白

任何两个物体之间的垂直空白是相同的。

请注意

空间限制垂直分发适用。

对齐图表对象的例子

假设您打开sf_pool模型并查看具有多个MATLAB功能的图表。

将三个MATLAB函数对齐到右侧:

  1. 打开sf_pool模型。双击Pool块以打开图表。

    提示

    展开StateFlow编辑器以查看整个图表。

  2. 单击函数isAnyBallGoingToStop

  3. 转移 - 单击函数isAnyBallNewlyPocketed

  4. 转移 - 单击函数getBallInteraction

    该对象是用于对齐三个功能的参考(或锚点)。括号出现在功能周围。

  5. 在格式选项卡中,单击“右对齐”。

    这一步将基于的右边缘对齐三个函数的右边缘getBallInteraction

分配图表对象的例子

假设您打开sf_frame_sync_controller.模型并查看三个州的图表。

垂直分发三个州:

  1. 打开sf_frame_sync_controller.模型。

    提示

    双击帧同步控制器块打开图表。

  2. 以任意顺序选择这三个状态。

    转移 - 单击以选择多个状态。

    请注意

    当您以任何顺序选择这三种状态时,您的引用对象可能与显示的不同。这种差异并不影响垂直空白的分布。

  3. 在里面格式选项卡上,单击甚至垂直空白

    此步骤确保任意两个状态之间的垂直空间是相同的。

调整图表对象大小的示例

假设您打开sf_clutch_enabled_subsystems.模型并查看具有不同大小的图形功能的图表。

要调整图形功能的大小,以使它们都匹配大小detectSlip

  1. 打开sf_clutch_enabled_subsystems.模型。

  2. 在摩擦模式图表中,通过在三个图形函数周围画一个框来选择它们。

  3. detectSlip作为用于调整大小的参考对象。

    右击函数,用括号标记它。

  4. 在里面格式选项卡上,单击匹配大小

    这个步骤确保三个函数的大小相同。

  5. 调整功能框,使格式正确:

    1. 在里面格式选项卡上,单击左边对齐

    2. 在里面格式选项卡上,单击甚至垂直空白

自动图表格式

通过自动排列,statflow将你的图表排列为:

  • 展开状态和转换以适应它们的标签字符串。

  • 将类似的状态调整为相同的大小。

  • 对齐状态,如果它们稍微不对齐。

  • 拉直过渡。

  • 将水平转换标签重新定位到中点。

在里面格式选项卡上,单击自动排列

在这个例子中,图表有:

  1. 国家A外部的国家行动A.

  2. 重叠状态B的过渡条件。

  3. 不是水平的过渡。

布局自动安排后:

  1. 国家行动包含在州A之内。

  2. 过渡条件不会重叠到状态B.

  3. 较低的过渡是水平的。

生成模型报告

打印细节报表是打印细节报告在Simulink模型窗金宝app口。它提供了一个statflow和Simulink对象的报告,相对于当前视图中选金宝app择报告的图表。

要生成图表对象的模型报告:

  1. 打开要为其提供报表的图表或子图表。

  2. 在里面模拟选项卡,选择打印>打印细节

    将出现“打印详细信息”对话框。

  3. 输入报表文件的目标目录,并选择选项来指定报表中出现的对象。

    中设置字段的详细信息文件位置/命名选项部分,参见打印模型报告。有关您收到的报告的详细信息,请参见系统报告选项报告格式

  4. 点击打印

将出现“打印详细信息”对话框并跟踪报表生成。看打印模型报告有关此窗口的详细信息。

HTML报告显示在默认浏览器中。

提示

如果你有金宝app仿真软件报告生成器™安装了,您可以生成有关系统的详细报告。这样做,在建模选项卡,在设计中,选择系统设计报告。有关更多信息,请参见系统设计描述(金宝app仿真软件报告生成器)

系统报告选项

当前状态流图的报告随您选择的系统报告选项字段:

  • 当前的-报告当前编辑器窗口中的图表或子图表及其直接的父Simulink系统。金宝app

  • 目前以上- 此选项呈灰色,可用于打印图表详细信息。

  • 当前和下- 报告当前编辑器窗口中的图表或子区以及层次结构较低级别的所有内容以及直接Simulink系统。金宝app

  • 整个模型-报告整个模型,包括所有图表和所有Simulink系统。金宝app

    如果选择此选项,则可以根据以下修改报告:

    • 看看面具对话框-在报告中包含屏蔽子系统的内容。

    • 展开唯一的库链接—在报表中包含作为子系统的库块的内容。

      报告只包含一个库子系统一次,即使它出现在模型的多个地方。

报告格式

一般的自上而下格式打印细节报告如下:

  • 该报告在Simulink模型中显示系统的标题,其中包含当前视图中的图表或子图表。金宝app

  • 下面是包含系统及其子系统的Simulin金宝appk层次结构的表示。层次结构中的每个子系统都链接到其状态流程图的报告。

  • 每个系统或子系统的状态流程图的报告部分从一个关于系统或子系统的小报告开始,然后是包含的每个图表的报告。

  • 每个图表报告包括其图表的复制,其中包含具有自己报告的子图表州的链接。

  • 附录列出了报告中涉及的statflow和Simulink对象。金宝app