0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

配置Simulink模型,调皮属于你自己的代码

MATLAB 来源:djl 作者:柚籽 2019-09-16 17:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在默认配置下,Simulink 模型自动生成的 C 代码的函数原型都是 void model_step(void) 的形式。但是,集成代码时,函数原型通常都需要满足指定的形式。

如何配置 Simulink 模型

才能使生成代码满足指定的函数原型?

点击末尾的 “阅读原文” 下载本文的案例模型

设置模型自动生成的代码的函数原型

要得到:

double myFun(double u1[10], double u2, double *y1)。

return y2

怎么做:

通过代码生成的接口配置界面 Interface 的 Configure Model Functions 来自定义 Simulink 模型所生成的 C 代码的函数原型。

举个例子

1. 模型

使用上一篇的模型:

配置Simulink模型,调皮属于你自己的代码

默认配置生成代码的函数原型如下,数据传递都使用全局变量:

配置Simulink模型,调皮属于你自己的代码

2. 配置

端口数据类型都设置为指定的 double:

配置Simulink模型,调皮属于你自己的代码

接着配置函数原型为指定形式,如下图:

配置Simulink模型,调皮属于你自己的代码

根据菜单设置,配置所需要的函数原型,最后使用Validate按钮来帮助检查:

配置Simulink模型,调皮属于你自己的代码

如 Validate 后下方的红色文字所示,需要把 Base Workspace 里输入输出信号对象的 Storage Class 设置为 Auto。

另外,只能设置 return 一个变量。如果一定要返回多个值,可以考虑设置成结构体的形式。

因为模型里的 u1 是一个数组,所以在菜单里不能如上图设置为 Value。

3. 结果

最后得到的代码的函数原型:

配置Simulink模型,调皮属于你自己的代码

总结

通过代码生成的接口配置界面 Interface 的 Configure Model Functions 页面来自定义模型代码的函数原型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66841
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73151
  • 结构体
    +关注

    关注

    1

    文章

    131

    浏览量

    11300
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    matlab的算法部署在simulink

    有没有哪位大佬能提供一下思路,遇到一个问题matlab得不到神经网络fitcnet模型的权重参数,所以simulink没办法部署,那遇到这种情况该如何处理
    发表于 12-08 15:27

    在以下嵌入式软件设计模型中,属于数据流模型的是,哪里有设计模型的介绍?

    在以下嵌入式软件设计模型中,属于数据流模型的是()。A. CCSB. CSPC. FSMD. Petri Net
    发表于 11-24 15:55

    MXAM常见问题解答:从配置到报告生成#simulink模型测试 #simulink

    Simulink
    北汇信息POLELINK
    发布于 :2025年11月14日 11:48:38

    小白必看:模型静态测试效率翻倍——MXAM详解#simulink #Siumlink模型测试

    模型
    北汇信息POLELINK
    发布于 :2025年10月24日 18:03:11

    使用Simulink自动生成浮点运算HDL代码(Part 1)

    引言 想要实现浮点运算功能,如果自己写Verilog代码,需要花费较多的时间和精力。好在Simulink HDL Coder工具箱提供了自动代码生成技术。下图展示了HDL Coder如
    发表于 10-22 06:48

    汽车HIL测试系统,欧美标充电模型Simulink模型,开发,有偿

    提供一个欧美标充电模型,交付物为白盒Simulink模型
    发表于 09-04 16:23

    AI的未来,属于那些既能写代码,又能焊电路的“双栖人才”

    的信号:AI真正的未来,不只属于“算法天才”,更属于那些既能写代码,又能焊电路的“双栖工程师”。无论是在AI芯片、智能终端、机器人、边缘计算还是大模型下沉的讨论中,我们不断听到同一个问
    发表于 07-30 16:15

    如何打造一个属于自己的手势识别应用

    上一期小编给大家介绍了和MediaPipe的相遇之路,本期小编将带着大家一起来动手,如何打造一个属于自己的手势识别应用。
    的头像 发表于 07-29 10:12 964次阅读
    如何打造一个<b class='flag-5'>属于</b><b class='flag-5'>自己</b>的手势识别应用

    FA模型卡片和Stage模型卡片切换

    卡片切换 卡片切换主要包含如下三部分: 卡片页面布局:FA模型卡片和Stage模型卡片的布局都采用类web范式开发可以直接复用。 卡片配置文件:FA模型的卡片
    发表于 06-06 08:10

    模型部署到S32K3xx EVB时出现“下载失败”错误的原因?如何解决?

    否与 Simulink 模型或 MATLAB 设置中缺少配置有关? 2- 我是否需要将任何特定的固件更新应用于 OpenSDA 或 J-Link 调试器以支持 S32K3xx? 请让我知道尽快解决问题的解决方案,谢谢。
    发表于 04-11 06:27

    如何实现MC33774IC在Simulink环境中使用基于模型的设计?

    我想熟悉如何实现MC33774IC 在 Simulink 环境中使用基于模型的设计。 尽管 MATLAB 提供了一些示例文件,但它们似乎是最终版本。要更深入地了解如何配置MC33774,我正在寻找一个教程,该教程解释了如何从头开
    发表于 04-10 08:05

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件实现自动化代码编程!

    。结合 Visual Studio Code(VSCode)的 Cline 插件,开发者可以实现高效的自动化代码编程。本文将详细介绍如何配置和使用 QWQ:32B 模型与 Cline 插件,以提升编程
    的头像 发表于 03-21 18:12 1078次阅读
    使用 QWQ:32B <b class='flag-5'>模型</b>搭配 VSCode 的 Cline 插件实现自动化<b class='flag-5'>代码</b>编程!

    Simulink与 Simscape的结合使用

    。用户可以利用 Simulink 进行系统建模、仿真、测试和验证,以及生成代码。 Simscape 简介 Simscape 是一个用于创建基于物理的模型的仿真环境。它提供了一个库,包含各种物理组件,如机械、电气、液压和热力系统等
    的头像 发表于 12-12 09:31 2693次阅读

    Simulink模型仿真与分析技巧

    1. 模型构建基础 1.1 理解系统需求 在开始构建模型之前,明确系统的需求和目标是至关重要的。这包括了解系统的动态特性、输入输出关系以及预期的性能指标。 1.2 选择合适的模块 Simulink
    的头像 发表于 12-12 09:23 3373次阅读

    Simulink自定义模块开发教程 Simulink 在控制系统中的应用

    在控制系统的设计和分析中,Simulink 提供了一个强大的工具集,允许工程师通过图形化界面快速构建和测试复杂的系统模型。然而,Simulink 的标准库可能不包含所有特定的功能,这时就需要开发
    的头像 发表于 12-12 09:21 3116次阅读