主要内容

出口Stateflow功能重用

您可以在statflow中扩展图表级函数的范围®图表到Simulink中的其他模块金宝app®通过导出函数进行建模。您可以导出:

  • 图形化功能

  • MATLAB®功能

  • 真值表

当您导出图表级函数时,您可以在其他状态流图表中调用它们金宝app动态仿真模块调用者块。

  • 导出可以通过使用限定表示法调用的图表级函数,例如chartNamefunctionName,选择导出图表级功能图表属性,如为状态流图指定属性

  • 要导出可以不使用限定符号调用的图表级函数,请选择导出图表级功能,然后选择将导出的函数视为全局可见的.不能导出同名的函数。

跨状态流图共享函数

这个示例演示了如何从Simulink模型中的其他图表中调用导出的函数。金宝app该模型包含一个主状态流程图,mainChart,以及两张辅助图库图,lib1Chartlib2Chart.每个图表都包含一个图表级图形函数,并具有导出图表级功能将导出的函数视为全局可见的图表属性启用。

主图包含两个数据对象,xy,初始值为01,分别。当您模拟模型时,此图表中的默认转换将调用该函数lib1_func使用这些值作为参数。

这个函数lib1_func是在库图中定义的吗lib1Chart.函数读取其输入参数并将它们传递给函数lib2_func

这个函数lib2_func是在库图中定义的吗lib2Chart.函数读取其输入参数并将它们传递给函数main_func

这个函数main_func的定义在主图中。函数添加其输入参数并返回结果。主图将此结果存储为输出数据x.函数调用的顺序在模拟的每个时间步骤中重复。Scope块显示了的值x在模拟过程中递增。

导出图表级函数的指南

不导出包含不支持的输入或输出的图表级函数金宝app

当输入或输出具有以下属性时,不能导出图表级函数:

  • 字长大于32位的定点数据类型

  • 变量的大小

不出口金宝app功能

如果您启用导出图表级功能如果在包含图表级Simulink函数的图表中使用chart属性,则会发生运行时错误。金宝app若要解决此错误,请禁用导出图表级功能或将Simulink函数移动到图表层次结构中的较低级别金宝app。

或者,您可以通过在Simulink画布中使用金宝app金宝app仿真软件的功能(金宝app模型)块。有关更多信息,请参见在Simulink和statflow中共享函数金宝app

不能跨模型引用边界导出函数

不能从引用的模型导出函数,也不能从父模型调用函数。

在生成代码时,结合输出和更新函数

如果您为使用导出的图表级函数的模型生成代码,请启用模型配置参数单输出/更新功能(金宝app仿真软件编码器)确保模拟和代码生成之间的一致行为。

相关的话题