主要内容

金宝appSimulink函数:Simulink函数块,导出Stateflow图形和MATLAB函数

金宝app®与编程语言类似,函数有一个带有输入和输出参数的接口。您可以使用以下方法为Simulink函数创建函数定义:金宝app

  • 金宝appSimulink块中的一个金宝app仿真软件的功能

  • Stateflow®从状态流程图导出的图形函数中的状态转换。

  • MATLAB®从状态流图导出的MATLAB函数中的代码。

下面的部分将展示如何为该函数创建一个Simulink函数金宝appy = timestwo (x).函数乘一个值(x)2,然后发送计算值(y)回复来电者。要调用该函数,请参见金宝appSimulink函数调用器:函数调用器块,MATLAB函数块,状态流图

要使用Simulink函数和函数调用程序打开完整的模型,请金宝app参见ex_金宝appsimulink_functions_and_function_callers

使用Simulin金宝appk函数块创建Simulink函数

建立了一个金宝app仿真软件的功能块通过函数调用方的输入参数接收数据,然后通过输出参数将计算值传递回。

  1. 添加一个金宝app仿真软件的功能靠近你的模型。

  2. 在块面上,输入函数原型。

    y = timestwo (x)

  3. 双击该块以打开定义函数算法的子系统。

  4. 添加一个获得块,并设置获得参数2

使用从状态流图导出金宝app的图形函数创建Simulink函数

在Stateflow图表中设置图形函数,通过函数调用者的输入参数接收数据,并通过输出参数将计算值传回。设置图表参数,将功能导出到Simulink模型中。金宝app

在状态流图中定义图形函数

在状态流图中创建图形函数。定义函数接口和函数定义。

  1. 向Simulink模型中添加状态流图。金宝app双击Simulink框图。金宝app在搜索框中输入图表,然后从搜索结果中选择图表

  2. 双击打开图表。

  3. 添加图形功能。在左侧工具栏中,单击并拖动图形化功能图标到图上。

  4. 定义函数接口。2 .在信息展示区更换?功能接口y = timestwo (x)

  5. 定义函数算法。单击转换箭头并替换?{y = 2 * x}

测试图形功能。在导出到Simulink模型之前,在状态流图中测试图形功能。金宝app

  1. 在图表中添加用于测试功能的默认转换。从左侧工具栏中,单击并拖动一个默认的转换箭头到图上。

  2. 双击箭头并替换?{日元= timestwo (x1)}

  3. 向图表添加输入端口。打开模型资源管理器。在左窗格中,选择图表.从菜单中选择添加>数据.集的名字x1而且范围输入

  4. 向图表添加输出端口。从菜单中选择添加>数据.集的名字日元而且范围输出

  5. 添加一个正弦波块来为输入提供测试数据,添加一个Scope块来查看来自输出的结果。

  6. 运行一个仿真。

为图形函数设置参数

指定函数输入和输出参数的大小、复杂性和类型。图表只能导出具有完全指定原型的函数。

  1. 打开模型资源管理器。在建模选项卡和设计部分中,选择模型浏览器

  2. 在左窗格中,选择图形函数。

  3. 列视图列表中,选择Stateflow.选择过滤器图标,然后从切换列表中选择所有Stateflow对象.从中间窗格表中选择一个输入或输出参数。

  4. 在右窗格中,将Size设置为1(标量),set复杂性(实数),并设置类型

  5. 重复步骤2而且3.使用输出函数参数y

设置图形功能导出参数

设置参数,以便在模拟过程中从状态流图将图形函数导出到Simulink模型。金宝app

  1. 打开模型资源管理器。

  2. 在左窗格中,选择包含图形函数的图表。

  3. 在右侧的属性对话框中,选择导出图表级别功能复选框,单击应用按钮,然后选择将导出的函数视为全局可见的复选框。

    如果从另一个Stateflow图表(不是导出图形函数的图表)调用导出的图形函数,则不需要选择将导出的函数视为全局可见的复选框。

使用从状态流程图导金宝app出的MATLAB函数创建Simulink函数

在状态流图中设置一个MATLAB函数,通过函数调用者的输入参数接收数据,然后通过输出参数将计算值传回。设置图表参数,将功能导出到Simulink模型中。金宝app

在状态流图中定义一个MATLAB函数

在状态流程图中创建一个MATLAB函数。定义函数接口和函数定义。

  1. 向Simulink模型中添加状态流图。金宝app双击框图。在搜索框中输入图表,然后从搜索结果中选择图表

  2. 打开图表。

  3. 添加一个MATLAB函数。在左侧工具栏中,单击并拖动图形化功能图标到图上。

  4. 定义函数接口。2 .在信息展示区更换?功能接口y = timestwo (x)

  5. 双击函数框,打开MATLAB代码编辑器。用MATLAB代码定义函数算法。

测试MATLAB函数。在导出到Simulink模型之前,在状态流图中测试MATLAB函数。金宝app

  1. 在图表中添加用于测试功能的默认转换。从左侧工具栏中,单击并拖动一个默认的转换箭头到图上。

  2. 双击箭头并替换?{日元= timestwo (x1)}

  3. 向图表添加输入端口。打开模型资源管理器。在左窗格中,选择图表.从菜单中选择添加>数据.集的名字x1而且范围输入

  4. 向图表添加输出端口。从菜单中选择添加>数据.集的名字日元而且范围输出

  5. 添加一个正弦波块来为输入提供测试数据,添加一个Scope块来查看来自输出的结果。

  6. 运行一个仿真。

为MATLAB函数设置参数

指定函数输入和输出参数的大小、复杂性和类型。图表只能导出具有完全指定原型的函数。

  1. 打开模型资源管理器。在建模选项卡和设计部分中,选择模型浏览器

  2. 在左侧窗格中,选择MATLAB函数。

  3. 列视图列表中,选择Stateflow.选择过滤器图标,然后从切换列表中选择所有Stateflow对象.从中间窗格表中选择一个输入或输出参数。

  4. 在右窗格中,设置大小到1(标量),设置复杂性(实数),并设置类型

  5. 重复步骤2而且3.使用输出函数参数y

为MATLAB函数设置导出函数参数

设置参数,以便在模拟过程中从状态流图导出MATLAB函数。

  1. 打开模型资源管理器。

  2. 从左侧窗格中,选择包含MATLAB函数的图表。

  3. 在右侧的属性对话框中,选择导出图表级别功能复选框,单击应用按钮,然后选择将导出的函数视为全局可见的复选框。

    如果从另一个状态流图(不是导出MATLAB函数的图表)调用导出的MATLAB函数,则不需要选择将导出的函数视为全局可见的复选框。

另请参阅

相关的话题