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

    文章

    4423

    浏览量

    68001
  • 代码
    +关注

    关注

    30

    文章

    4981

    浏览量

    74514
  • 结构体
    +关注

    关注

    1

    文章

    131

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    集成Simulink 与 NXP S32 Design Studio (S32DS)使用基于模型的设计工具箱,关于版本兼容性的疑问求解

    我正在努力集成Simulink 与 NXP S32 Design Studio (S32DS)使用基于模型的设计工具箱 (MBDT 1.6.0 版本),我正在为版本兼容性而苦苦挣扎。 这是我的情况
    发表于 04-16 07:41

    如何在 S32 配置工具中添加 ADC 并在 Simulink 中使用?

    对于 S32K3,如何在 S32 配置工具中添加 ADC 并在 Simulink 中使用?
    发表于 04-07 07:09

    S32K344如何配置 MCAL 和应用层模型

    我想使用 S32DS 配置工具 simulink(MBD) 开发 CAN Receive 项目S32K344。我在 MBDT 中尝试了这个例子,但经过编程,它并没有实现我想要的功能。您能否建议我应该如何配置 MCAL 和应用层
    发表于 04-01 06:38

    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

    Simulink模型测试典型问题分享——模型库管理问题

    典型测试问题分享-模型库管理问题 问题描述: 相同信号名称模型不同位置重复出现,导致编译异常报错(模型运行正常)。 名称存在逻辑冲突,例如右侧扭矩计算,但是名称为LeftTorqueControl。 信号名称频繁变更且缺乏
    的头像 发表于 09-21 23:22 1440次阅读
    <b class='flag-5'>Simulink</b><b class='flag-5'>模型</b>测试典型问题分享——<b class='flag-5'>模型</b>库管理问题

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

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

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

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

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

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

    三相异步电机在SIMULINK下的建模与仿真

    坐标系(M-T)下三相异步电机的数学模型、应用SIMULINK建立了仿真模型及其中的电压转换模块、电流转换模块、U/1转换模块.仿真实例验证了仿真模型的有效性。 纯分享帖,需要者可点击
    发表于 06-16 21:48

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

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

    从FA模型切换到Stage模型时:module的切换说明

    module的切换 从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异
    发表于 06-05 08:16