主要内容

与Simulink和MATLAB金宝app工作区共享数据

状态流®图表与Simulink中的其他块接口金宝app®建模人:

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

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

  • 将最终数据值保存到MATLAB基本工作区。

图表还可以访问Simulink参数和数据存储。金宝app有关详细信息,请参阅与Simulink和MATLAB工作区共享参金宝app数从图表访问数据存储内存.

与Simulink共享输入和输出数据金宝app

数据通过输入端口从Simulin金宝appk流入状态流程图。数据通过输出端口从状态流程图流入Simulink。

要在图表中定义输入或输出数据,请执行以下操作:

  1. 将数据对象添加到图表中,如中所述添加状态流数据.

  2. 设定范围数据对象的属性。

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

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

    默认情况下,港口城市值按添加数据对象的顺序显示。您可以通过修改港口城市数据的属性。当你换衣服的时候港口城市输入或输出数据对象的属性港口城市其余输入或输出数据对象的值将自动重新编号。

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

  4. 设置数据对象的大小,如中所述指定Stateflow数据的大小.

笔记

无法将Stateflow输入数据的类型或大小设置为从Simulink接受基于帧的数据。金宝app

从数据库初始化数据MATLAB为基本工作空间

通过在MATLAB基本工作区和Stateflow层次结构中定义数据符号,可以导入数据符号的初始值。

  1. 在MATLAB基本工作空间中定义并初始化变量。

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

  3. 选择允许初始值解析为参数数据对象的属性。

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

一维Stateflow数组与相同大小的MATLAB行向量和列向量兼容。例如,大小为的状态流向量5.与大小为的MATLAB行向量兼容[1,5]或大小的列向量[5,1]. Stateflow数组的每个元素初始化为与MATLAB基本工作区中数组的对应元素相同的值。

初始化时间取决于Stateflow数据对象的数据父对象和范围。

数据父级

范围

初始化时间

图表

输入

不适用

本地输出

开始模拟或当图表作为已启用Simulink子系统的一部分重新初始化时金宝app

州与历史交汇处

地方的

开始模拟或当图表作为已启用Simulink子系统的一部分重新初始化时金宝app

无历史交叉的国家

地方的

国家条目

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

输入、输出

函数调用

地方的

开始模拟或当图表作为已启用Simulink子系统的一部分重新初始化时金宝app

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

在仿真结束时,使用C作为动作语言的状态流程图可以将数据对象的最终值保存到MATLAB基础工作区。

  1. 打开模型管理器。在建模选项卡,选择模型资源管理器.

  2. 双击数据库中的数据对象目录窗玻璃

  3. 描述在“数据属性”对话框的窗格中,选择将最终值保存到基本工作区.

此选项适用于除常数参数.

相关话题