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

    文章

    4327

    浏览量

    62573
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68525
  • 结构体
    +关注

    关注

    1

    文章

    130

    浏览量

    10840
收藏 人收藏

    评论

    相关推荐

    Simulink与 Simscape的结合使用

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

    Simulink模型仿真与分析技巧

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

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

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

    从零到一:搭建属于自己的海外IP代理池

    从零到一搭建属于自己的海外IP代理池是一个复杂但具有挑战性的任务,它涉及多个步骤和考虑因素。
    的头像 发表于 11-15 08:15 347次阅读

    如何训练自己的LLM模型

    训练自己的大型语言模型(LLM)是一个复杂且资源密集的过程,涉及到大量的数据、计算资源和专业知识。以下是训练LLM模型的一般步骤,以及一些关键考虑因素: 定义目标和需求 : 确定的L
    的头像 发表于 11-08 09:30 507次阅读

    Matlab/Simulink/Stateflow建模开发及仿真测试

    matlab 模拟仿真 熟悉Matlab/Simulink/Stateflow建模开发及仿真测试,熟悉V模型开发流程。 熟悉自动代码生成,能够编写或者配置自动
    发表于 10-24 17:23

    如何训练自己的AI大模型

    训练自己的AI大模型是一个复杂且耗时的过程,涉及多个关键步骤。以下是一个详细的训练流程: 一、明确需求和目标 首先,需要明确自己的需求和目标。不同的任务和应用领域需要不同类型的AI模型
    的头像 发表于 10-23 15:07 1286次阅读

    新的 MathWorks 硬件支持包支持从 MATLAB 和 Simulink 模型到高通 Hexagon 神经处理单元架构的自动化代码生成

    ® 和 Simulink® 模型的自动化代码生成流程。在提高数据准确度和标准合规性的同时,也提升开发人员的工作流效率。使用 MathWorks 软件和基于模型的设计,工程师能够
    的头像 发表于 09-23 11:59 265次阅读

    UNet模型属于哪种神经网络

    U-Net模型属于卷积神经网络(Convolutional Neural Network, CNN)的一种特殊形式 。它最初由德国弗莱堡大学计算机科学系的研究人员在2015年提出,专为生物医学图像
    的头像 发表于 07-24 10:59 2458次阅读

    maixcam如何无脑运行运行别人的模型(以安全帽模型为例)

    =333.999.0.0 该模型整个的压缩包在该文件附件中 如何修改为自己模型应用 从主函数代码可以看到我导入了sipeed退出图片,使用了ts.read()去读取触摸坐标,再次感谢
    发表于 04-25 14:51

    Vivado 使用Simulink设计FIR滤波器

    。就好像模型自己代码完成的一样。 2、以IP核形式生成IP。添加IP信息,生成IP核。用户以IP核的形式直接调用。 3、Synthesized Checkpoint形式生成网表文件(推荐)。选择此项
    发表于 04-17 17:29

    Simulink自动生成代码现阶段的学习笔记

    在车载控制器的软件开发中,simulink的身影几乎随处可见,主要是在控制算法和控制逻辑的实现。平时看同事点点点就生成代码了,看起来很简单,但是实际操作起来确各种磕磕绊绊。 下面记录了一下步骤作为现阶段的学习笔记吧。
    的头像 发表于 04-17 10:56 3862次阅读
    <b class='flag-5'>Simulink</b>自动生成<b class='flag-5'>代码</b>现阶段的学习笔记

    电路仿真软件simulink的工作原理

    Simulink是MATLAB的一个模块,它采用图形化的方式来创建动态系统模型并进行仿真分析。Simulink的工作原理主要基于模块化的建模和仿真方式。
    的头像 发表于 03-29 15:21 1638次阅读

    TPT的Dashboard 仪表盘功能便捷实现Simulink模型的手动测试#simulink

    Simulinksimulink模块
    北汇信息POLELINK
    发布于 :2024年03月06日 11:36:23

    如何快速打造属于自己的工业物联网云平台

    如何快速打造属于自己的工业物联网云平台 工业物联网云平台是工业4.0的核心,是实现智能制造、智能物流、智能工厂的重要手段。在快速发展的信息化时代,如何快速打造属于自己的工业物联网云平台
    的头像 发表于 01-25 16:51 652次阅读
    如何快速打造<b class='flag-5'>属于</b><b class='flag-5'>自己</b>的工业物联网云平台