主要内容

图表

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

  • 库:
  • Stateflow

  • 图块

描述

一个有限状态机是事件驱动(响应式)系统的表示。在事件驱动的系统中,系统通过从一种状态(模式)转换到另一种状态(模式)来响应事件。如果定义更改的条件为真,则会发生此转换。

一个Stateflow®图表是有限状态机的图形表示。转换构成系统的基本要素。您还可以表示无状态流程图。

例如,您可以使用statflow图表来控制物理工厂以响应诸如温度和压力传感器、时钟和用户驱动事件等事件。

您还可以使用状态机来表示汽车的自动变速器。变速器有以下工作状态:停车、倒车、空挡、驱动和低档。当驾驶员从一个位置切换到另一个位置时,系统就会从一种状态切换到另一种状态,例如,从停车到倒车。

状态流程图可以用MATLAB或C语言作为动作语言来实现控制逻辑。

港口

输入

全部展开

当您在Symbols窗格中创建输入数据时,statflow创建输入端口。创建的输入数据有一个相应的输入端口,一旦创建数据,该端口就会出现。

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

输出

全部展开

当您在Symbols窗格中创建输出数据时,statflow创建输出端口。创建的输出数据有一个相应的输出端口,该端口在创建数据后出现。

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

参数

全部展开

代码生成选项卡上的参数需要金宝app®编码器™或者嵌入式编码器®

主要

选择端口标签显示方式图表块图标。

没有一个

不要显示端口标签。

FromPortIcon

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

FromPortBlockName

接口上对应端口块的名称图表块。

SignalName

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

编程使用

参数ShowPortLabels
类型:特征向量
价值“FromPortIcon”|“FromPortBlockName”|“SignalName”
默认的“FromPortIcon”

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

读写

允许打开和修改图表内容。

只读的

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

NoReadOrWrite

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

编程使用

参数权限
类型:特征向量
价值“读写”|“只读”|“NoReadOrWrite”
默认的“读写”

当确定块方法的执行顺序时,使Simulink将图表作为一个单元来处理。金宝app

在确定块方法执行顺序时,将图中的所有块视为与图在模型层次结构中的相同级别。这种层次结构处理可能导致图表中块的方法的执行与图表外块的方法的执行交错。

在确定块方法的执行顺序时,将图视为一个单元。例如,当Simulink需要计算图表金宝app的输出时,Simulink会先调用图表中所有块的输出方法,然后再调用与图表块同级的其他块的输出方法。

依赖

选择此参数,表示启用最小化代数循环的发生,样品时间,函数包装参数。函数包装要求金宝app仿真软件编码器软件

编程使用

参数TreatAsAtomicUnit
类型:特征向量
价值“关闭”|“上”
默认的“关闭”

另请参阅

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

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

依赖

要启用该参数,请选择当作原子单位对待参数。

编程使用

参数MinAlgLoopOccurrences
类型:特征向量
价值“关闭”|“上”
默认的“关闭”

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

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

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

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

-1

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

(Ts 0)

指定周期采样时间。

依赖

要启用该参数,请选择当作原子单位对待参数。

编程使用

参数SystemSampleTime
类型:特征向量
价值' 1 '|“(Ts 0)”
默认的' 1 '

当从变异来源块或变体水槽块,使Simulink将图表作金宝app为一个单元来处理。

金宝appSimulink将图表作为一个单元来传播变量条件变异来源块或变体水槽块。例如,当Simulink计算图表的可金宝app变条件时,它将该条件传播到图表中的所有块。

金宝app在确定图表的变体条件时,Simulink将图表中的所有块视为与图表本身在模型层次结构中的同一层。

编程使用

参数TreatAsGroupedWhenPropagatingVariantConditions
类型:特征向量
价值“上”|“关闭”
默认的“上”

代码生成

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

汽车

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

内联

金宝app仿真软件编码器无条件地插入图表。

那种一次性的功能

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

可重用的功能

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

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

提示

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

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

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

依赖

  • 这个参数要求金宝app仿真软件编码器

  • 要启用该参数,请选择当作原子单位对待

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

    • 函数名的选择

    • 文件名称选项

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

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

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

编程使用

参数RTWSystemCode
类型:特征向量
价值“汽车”|“内联”|“那种一次性函数”|“可重用函数”
默认的“汽车”

扩展功能

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

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

定点转换
使用fixed-point Designer™设计和模拟定点系统。

之前介绍过的R2006a