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

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

3天内不再提示

关于导出函数的相关分析和介绍

MATLAB 来源:djl 作者:Guy Rouleau 2019-09-16 16:46 次阅读

生成代码

我们拿下面这个模型作为一个例子。它有一个 Bias 和一个 Unit Delay 模块,每 0.001s 运行一次,另外有一个 Math Function 模块,每 0.01s 运行一次。

关于导出函数的相关分析和介绍

就像你们知道的那样,Embedded Coder 可以把 Simulink 模型生成 C 代码。这里使用 Embedded 默认的系统目标文件配置(tlc文件),所生成的代码像下面这样:

关于导出函数的相关分析和介绍

如你所见,代码里有一个 Initialize 函数以及一个 Step 函数。Step 函数将以模型的基础采样率调用,在这里是 0.001s。最好是把这个代码放在单任务环境里运行。

如果你需要的话,也可以让 Simulink 把每个离散采样率归到一个单独的任务。

关于导出函数的相关分析和介绍

在这所生成的代码里,每一个采样时间的部分都单独生成一个函数。这样,你就可以用你实现的调度器,来任意调用各个采样率的部分。

关于导出函数的相关分析和介绍

导出函数

各个采样率的部分都能生成一个单独的函数还挺有用的,但是,如果你想更随心所欲的控制代码的执行,该怎么做呢?比如说,把某个采样率的部分拆成若干个任务,然后指定每个任务不同的优先级。

为此,Embedded Coder 提供了导出函数(export functions)的功能。这个功能可以直接控制某个部分单独生成函数,另外还可以仿真它们的调度和优先级。

为了匹配导出函数这个目的,你的模型必须以特定的方式来搭建。需要导出的函数顶层必须只包含 Function Call 子系统,输入以及输出端口。这样的话,每一个子系统会生成一个函数。

比如,我们刚才那个模型,重新按照下面这个方式来实现:

关于导出函数的相关分析和介绍

对于仿真来说,不同任务的调度必须显示指定出来,比如像上图那样,使用 Stateflow 来实现。要生成代码的时候,你可以在这个子系统上右键,然后导出这个函数。

关于导出函数的相关分析和介绍

得到的代码就像下面这样:

关于导出函数的相关分析和介绍

你就可以把这些代码集成到你手写的调度器里去了。就像我之前提到的,通过这种方式,你可以将一个速率的部分拆分成多个函数或者任务。

导出函数模型

对于更大型的项目,你也可以将导出函数构造为单独的模型(Export Function Models)。

在这里,顶层的模型只是用于仿真,被引用子模型要生成代码。 Simulink 会自动识别这个模型是用于导出函数的,它所生成的代码也会跟上面的那个子系统类似。

关于导出函数的相关分析和介绍

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

    关注

    3

    文章

    4299

    浏览量

    62352
  • 代码
    +关注

    关注

    30

    文章

    4733

    浏览量

    68277
收藏 人收藏

    评论

    相关推荐

    SUMIF函数在数据分析中的应用

    在商业和科学研究中,数据分析是一项基本且关键的技能。Excel作为最常用的数据分析工具之一,提供了多种函数来帮助用户处理和分析数据。SUMIF函数
    的头像 发表于 11-11 09:14 183次阅读

    SUMIF函数的应用场景分析

    SUMIF函数在Excel中是一个强大的数据分析工具,特别适用于需要对数据进行条件筛选并求和的场景。以下是对SUMIF函数应用场景的分析: 1. 财务数据
    的头像 发表于 10-30 09:55 161次阅读

    函数信号发生器按键介绍

    函数信号发生器是电子测试领域中不可或缺的重要工具,它能够模拟产生各种波形信号,如正弦波、方波、三角波等,广泛应用于电路测试、信号模拟、科学研究等多个领域。函数信号发生器的按键设计是其功能实现的重要组成部分,本文将对函数信号发生器
    的头像 发表于 05-15 16:14 1597次阅读

    函数信号发生器的常见故障及原因分析

    的应用价值。然而,随着使用时间的增长,函数信号发生器可能会出现各种故障,影响其正常工作。本文将对函数信号发生器进行详细介绍,并分析其常见故障及原因。
    的头像 发表于 05-10 16:13 1188次阅读

    典型环节的传递函数介绍

    电子发烧友网站提供《典型环节的传递函数介绍.pdf》资料免费下载
    发表于 03-01 10:28 2次下载

    arcmap怎么导出矢量数据

    ArcMap 是一款功能强大的地理信息系统软件,可用于导出矢量数据。下面是一个详细的步骤指南,以帮助你了解如何使用 ArcMap 导出矢量数据。 第一步:打开 ArcMap 首先,打开 ArcMap
    的头像 发表于 02-25 15:13 3046次阅读

    通过新的ONNX导出器简化模型导出流程

    大家好。我叫Manav Dalal,今天我将讲解如何通过新的ONNX导出器简化模型导出流程。如果你还没有听说过ONNX,它是一种用于表示机器学习模型的开放格式。它定义了一套通用的运算符,机器学习
    的头像 发表于 01-10 09:45 823次阅读
    通过新的ONNX<b class='flag-5'>导出</b>器简化模型<b class='flag-5'>导出</b>流程

    ADS导入导出数据的方法介绍

    直接导出是不行的,图形可以直接copy出去复制,但数据要采用Palette里的List,不是Rectangular Plot,生成后可以选中然后右键,就可以使用Export了。CSV格式就和Excel差不多了,很好处理。
    的头像 发表于 12-01 15:49 9912次阅读
    ADS导入<b class='flag-5'>导出</b>数据的方法<b class='flag-5'>介绍</b>

    wps的vlookup函数的使用方法及实例

    WPS Office是一款功能全面的办公软件,其中的VLOOKUP函数在数据分析和处理中非常常用。在本文中,我们将详细介绍WPS Office中VLOOKUP函数的使用方法,并提供一些
    的头像 发表于 12-01 10:58 3724次阅读

    IF和ISNA和Vlookup函数一起使用

    IF、ISNA和VLOOKUP是Excel中常用的三个函数,它们在数据处理和分析中扮演着重要的角色。通过结合使用这三个函数,我们可以根据特定的条件查询和处理数据,提高我们的工作效率。本文将详细
    的头像 发表于 11-30 16:25 4562次阅读

    sigmastudio的导出文件,图形化编程导出文件的地址是如何定义的?

    关于sigmastdio的导出文件(用来控制单片机)中,对于修改寄存器的地址是数据手册可查的,但是发现关于图形化编程的导出文件的地址不是固定的,请问后者的地址是如何定义的?有没有办法提
    发表于 11-29 06:10

    博图的导入/导出设置介绍

    TIA Portal 设置可导出为一个文件。在导入这些设置时,将同时应用这些设置。通过该功能,可将设置发送给其他用户。与此类似,可统一设定系统设置,为多个工程组态 PC 设置统一的操作环境。
    的头像 发表于 11-27 11:45 6110次阅读
    博图的导入/<b class='flag-5'>导出</b>设置<b class='flag-5'>介绍</b>

    c语言中函数函数体用什么符号括起来

    函数 是指将一组能完成一个功能或多个功能的语句放在一起的 代码结构 。 在 C语言程序 中,至少会包含一个函数,及主函数main()。本文将详细讲解关于
    的头像 发表于 11-24 15:52 659次阅读
    c语言中<b class='flag-5'>函数</b>的<b class='flag-5'>函数</b>体用什么符号括起来

    MySQL导出的步骤

    MySQL是一种常用的关系型数据库管理系统,用于存储和管理大量的结构化数据。在实际应用中,我们经常需要将MySQL数据库中的数据导出到其他地方,如备份数据、数据迁移、数据分析等。下面是使用MySQL
    的头像 发表于 11-21 10:58 746次阅读

    navicat怎么导出数据库文件

    导出数据库文件是数据库管理中的一个重要操作,而Navicat是一款流行的数据库管理工具,具有强大的导出功能。在本文中,我将详细介绍如何使用Navicat导出数据库文件,并在步骤中提供所
    的头像 发表于 11-21 10:53 7813次阅读