主要内容

与Simulink和MATLAB万博1manbetx工作空间共享数据

Stateflow®图表在Simulink中与其他模块接口万博1manbetx®模型:

  • 通过输入和输出连接共享数据。

  • 从MATLAB中导入初始数据值®基本工作空间。

  • 保存最终的数据值到MATLAB基础工作区。

图表还可以访问Simulink参数和数据存储。万博1manbetx有关更多信息,请参见与Simulink和MATLAB工作空间共享万博1manbetx参数从图表中访问数据存储内存

与Simulink共享输入和输出数据万博1manbetx

数据通过输入端口从Simulin万博1manbetxk流到状态流图。数据从状态流图通过输出端口流入Simulink。万博1manbetx

在图表中定义输入或输出数据:

  1. 将数据对象添加到图表中,如添加Stateflow数据

  2. 设置范围属性。

    • 要定义输入数据,请设置范围输入数据.一个输入端口出现在图表块的左侧。

    • 要定义输出数据,请设置范围输出数据.一个输出端口出现在图表块的右侧。

    默认情况下,港口值按照添加数据对象的顺序出现。可以通过修改港口属性。当你改变港口属性用于输入或输出数据对象港口其余输入或输出数据对象的值将自动重新编号。

  3. 设置数据对象的数据类型,如指定状态流数据的类型

  4. 设置数据对象的大小,如指定状态流数据的大小

请注意

您不能设置statflow输入数据的类型或大小来接受来自Simulink的基于帧的数据。万博1manbetx

MATLAB基本工作空间

您可以通过在MATLAB基础工作空间和statflow层次结构中定义数据符号来导入它的初始值。

  1. 在MATLAB基础工作空间中定义和初始化一个变量。

  2. 在statflow层次结构中,定义一个与MATLAB变量同名的数据对象。

  3. 选择允许将初始值解析为参数属性。

当模拟开始时,数据解析发生。在此过程中,statflow数据对象从相关的MATLAB变量中获取其初始值。

一维状态流数组与MATLAB中相同大小的行和列向量兼容。例如,大小的statflow向量5是兼容MATLAB的行向量的大小(1、5)或者列向量的大小(5、1).statflow数组的每个元素初始化为与MATLAB基础工作空间中数组的相应元素相同的值。

初始化时间取决于数据父对象和statflow数据对象的作用域。

数据的父母

范围

初始化时间

本地的,出口

开始模拟

进口

不适用

图表

输入

不适用

输出,当地

作为启用的Simulink子系统的一部分,开始模拟或当图表重新初始化时万博1manbetx

历史交汇状态

当地的

作为启用的Simulink子系统的一部分,开始模拟或当图表重新初始化时万博1manbetx

没有历史交汇的国家

当地的

激活状态

函数(图形、真值表和MATLAB函数)

输入、输出

函数调用的调用

当地的

作为启用的Simulink子系统的一部分,开始模拟或当图表重新初始化时万博1manbetx

将数据保存到MATLAB基本工作空间

在仿真的最后,一个以C语言为动作语言的状态流程图可以将数据对象的最终值保存到MATLAB的基础工作空间中。

  1. 打开Model Explorer。在建模选项卡上,选择模型浏览器

  2. 中的数据对象内容窗格。

  3. 描述窗格中,选择将最终值保存到基础工作区

此选项可用于所有范围的数据符号,除了常数参数

相关的话题