主要内容

图表

用有限状态机实现控制逻辑

  • 库:
  • Stateflow

  • 图块

描述

图表块是基于状态转换图的有限状态机的图形表示。在状态流中®图表、状态和过渡构成了顺序逻辑系统的基本构建模块。状态对应于操作模式,转换表示状态之间的路径。有关更多信息,请参见使用状态流图建模有限状态机

为了实现控制逻辑,状态流图可以使用MATLAB®或C作为动作语言。有关更多信息,请参见作为动作语言的MATLAB和C的语法差异

图表属性指定状态流图表与Simulink的接口方式金宝app®模型。中修改图表属性属性检查器、“模型资源管理器”或“图表属性”对话框。有关更多信息,请参见为状态流图指定属性.或者,您也可以通过使用Stateflow。图表对象。有关Stateflow编程接口的更多信息,请参见Stateflow API概述

港口

输入

全部展开

中创建输入数据时符号窗格中,Stateflow创建输入端口。创建的输入数据有一个相应的输入端口,该端口在创建数据后出现。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|字符串

输出

全部展开

中创建输出数据时符号窗格中,Stateflow创建输出端口。创建的输出数据有一个对应的输出端口,该端口在创建数据后出现。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车|字符串

参数

全部展开

“代码生成”选项卡上的参数要求金宝app仿真软件编码器™或嵌入式编码器®

主要

控件上显示端口标签的方式图表块图标。

没有一个

不要显示端口标签。

FromPortIcon

如果对应的端口图标上有信号名称,请在图表块。否则,显示端口块名称。

FromPortBlockName

接口上显示相应端口块的名称图表块。

SignalName

如果存在信号名称,则显示接口上连接的信号名称图表块。否则,显示对应端口块的名称。

编程使用

参数ShowPortLabels
类型:字符串标量或字符向量
价值“没有”“FromPortIcon”|“FromPortBlockName”|“SignalName”
默认的“FromPortIcon”

控制用户对图表内容的访问。

读写

启用打开和修改图表内容。

只读的

启用打开图表,但不启用修改图表。如果图表位于块库中,则可以创建和打开指向图表的链接,并可以制作和修改图表的本地副本,但不能更改权限或修改原始库实例的内容。

NoReadOrWrite

禁止打开或修改图表。如果图表位于库中,则可以在模型中创建指向图表的链接,但不能打开、修改、更改权限或创建图表的本地副本。

编程使用

参数权限
类型:字符串标量或字符向量
价值“读写”|“ReadOnly”|“NoReadOrWrite”
默认的“读写”

不要试图消除任何包含原子子图的人工代数循环。

尽量消除包含原子子图的任何人工代数循环。

编程使用

参数MinAlgLoopOccurrences
类型:字符串标量或字符向量
价值“关闭”|“上”
默认的“关闭”

指定此图表中的所有块是否必须以相同的速率运行或可以以不同的速率运行。

  • 如果图表中的块可以以不同的速率运行,则将图表采样时间指定为继承(-1).

  • 如果所有块必须以相同的速率运行,则指定与此速率对应的采样时间作为样品时间参数。

  • 如果图表中的任何块指定不同的采样时间(除了-1),当金宝app您更新或模拟模型时,Simulink会显示一个错误消息。例如,假设图表中的所有块都必须运行5乘以一秒。为了保证这个时间,将图表的采样时间指定为0.2.在本例中,如果图表中的任何块指定的采样时间不是0.2-1,或,当金宝app您更新或模拟模型时,Simulink将显示错误。

-1

指定继承的样本时间。如果图表中的块可以以不同的速率运行,则使用此示例时间。

(Ts 0)

指定周期采样时间。

编程使用

参数SystemSampleTime
类型:字符串标量或字符向量
价值“1”|“[Ts 0]”
默认的“1”

代码生成

为原子(非虚)子图选择生成的代码格式。

汽车

金宝app仿真软件编码器根据模型中存在的图表实例的类型和数量为系统选择最佳格式。

内联

金宝app仿真软件编码器无条件内联图表。

那种一次性的功能

金宝app仿真软件编码器显式地在单独的文件中生成单独的函数。具有此设置的图表生成的函数可能具有参数函数接口(金宝app模型)参数设置。您可以使用参数为生成的函数和文件命名函数名(金宝app模型)而且文件名(无扩展名)(金宝app模型).这些函数是不可重入的。

可重用的功能

金宝app仿真软件编码器生成具有参数的函数,当模型包含图表的多个实例时,该函数允许重用图表代码。

该选项生成一个带有参数的函数,该函数允许在模型引用层次结构的生成代码中重用图表代码,该模型引用层次结构包含跨引用模型的图表的多个实例。在这种情况下,图表必须在库中。

提示

  • 当您希望一个图表的多个实例表示为一个可重用函数时,您可以将其中的每个实例指定为汽车或者是可重用的功能.最好使用一个函数,因为同时使用两个函数会创建两个可重用函数,每个函数对应一个名称。只有当重用不可能时,这些选择的结果才会不同。选择汽车不允许对图表代码的函数或文件名进行控制。

  • 可重用的功能而且汽车选项都确定一个图表的多个实例是否存在,以及代码是否可以重用。当无法重用代码时,选项的行为会有所不同。在这种情况下,汽车生成内联代码,如果环境禁止内联,则为每个图表实例生成单独的函数。

  • 如果您选择可重用的功能当生成的代码处于源代码控制之下时,设置文件名选项使用子系统名称使用函数名,或用户指定的.否则,每当您修改模型时,代码文件的名称就会更改,这就阻止了对文件的源代码控制。

依赖

  • 此参数需要金宝app仿真软件编码器

  • 将此参数设置为那种一次性的功能可重用的功能启用以下参数:

    • 函数名选项

    • 文件名选项

    • 用于初始化/终止函数的内存部分(需要嵌入式编码器和基于ert的系统目标文件)

    • 用于执行函数的内存部分(需要嵌入式编码器和基于ert的系统目标文件)

  • 将此参数设置为那种一次性的功能使使用独立数据的函数(需要嵌入式Coder许可证和基于ert的系统目标文件)。

编程使用

参数RTWSystemCode
类型:字符串标量或字符向量
价值“汽车”|“内联”|“那种一次性功能”|“可重用函数”
默认的“汽车”

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app

定点转换
使用定点设计器设计和模拟定点系统。

版本历史

R2006a之前介绍过