如何为包含导出函数子模型的 Simulink 模型生成代码?

问题描述

我正在使用 matlab 2019b 构建此 Simulink 模型:函数调用生成器调用导出函数子模型。

TopModel

导出函数模型是具有函数调用输入的模型。

SubModel

我可以使用嵌入式编码器为子模型生成代码,以及运行顶级模型的仿真。但是为顶级模型生成代码会给出以下错误消息:

模型“main”包含设置为多实例导出函数的参考模型“main/Model”,但模型“main”不遵循导出函数规则。 其中“main”是顶级模型名称。

导出函数模型文档https://www.mathworks.com/help/simulink/ug/export-function-models.html写道:

对于函数调用模型模块,引用模型的周期性采样时间约束设置为确保采样时间独立

遵循此规则会引发另一个错误。如果顶层模型的周期性采样时间约束改变,则错误为:

此模型不会继承采样时间,因为块“main/Model”不允许这样做。如果此模型不需要继承采样时间,请将“配置参数”对话框的“求解器”选项卡上的“周期性采样时间约束”更改为“确保采样时间独立”以外的其他内容。

而如果子模型的周期性采样时间约束发生变化,则错误为:

模型“实例”的当前诊断设置无效,因为该模型包含输出函数调用信号的根级 Inport 模块“实例/f”。有关详细信息,请参阅下面报告的错误。 引起的: 在导出函数模型“实例”中,“配置参数”>“求解器”>“任务和采样时间选项”中的参数“周期采样时间约束”必须设置为“无约束”。 建议的行动 在“实例”中将“周期采样时间约束”设置为“无约束”。

如何为顶级模型生成代码?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)