主要内容

从组件模型生成 C 服务接口代码

此示例说明如何生成使用服务代码接口的 C 代码。对于 C 组件部署,服务代码接口提供以下好处:

  • 自定义的接口代码,包括用于维护执行期外和执行期间数据通信的数据一致性的内置保护措施

  • 函数执行之外(之前和之后)函数之间数据传输的自定义代码

  • 支持在任务中访问时间值

  • 灵活的调度

  • 将模型元素映射到完整的接口抽象,而不是存储类和特定属性设置

有关服务或数据代码接口之间的比较以及有关服务接口的详细信息的链接,请参阅选择用于代码生成的代码接口

如果您刚开始使用 Embedded Coder® 或您的应用程序代码自定义要求很少,则您可以使用图形工具和默认代码配置设置来快速生成生产级的代码。您可以生成满足代码规范和标准以与现有外部代码集成的自定义代码。可以使用工具来配置代码生成器以满足对接、代码外观、打包和优化方面的要求。

就像使用 Embedded Coder 快速向导准备用于代码生成的模型一样,生成和查看用于部署到嵌入式系统的代码可以很简单。然后,使用可从 Embedded Coder 访问的代码工具,您可以配置代码接口、启动代码生成以及查看生成的代码。

示例模型

本教程使用示例模型 ComponentDeploymentFcn

打开模型 ComponentDeploymentFcn

open_system('ComponentDeploymentFcn')

此导出函数模型包括:

  • Initialize Function 模块,它从非易失性内存读取值,并使用该值对状态变量进行初始化。

  • 触发函数调用子系统,用于对积分算法进行建模。该子系统应用前向积分方法,对状态变量应用 1.25 的增益值,并将其输出发送到累加器子系统。积分器子系统会非周期性地执行。

  • 周期函数调用子系统,它从积分器子系统接收状态变量的值,将值增加一,并应用增益值(该值在执行期间可调)。累加器函数周期性地每 1 秒钟执行一次,并保留状态变量的最新值。

  • Terminate Function 模块,它在累加器算法停止执行后,将累加器子系统的输出写入非易失性内存。

您将学习如何:

  1. 使用 Embedded Coder 快速向导工具生成代码。

  2. 配置服务接口。

  3. 将模型参数配置为全局变量,用于在运行时进行调优。

  4. 通过使用示例测试框架模型 ComponentDeploymentFcnHarness.,比较模型仿真和生成的代码结果以了解数值等效性。

  5. 部署生成的代码。

要开始本教程,请参阅Generate Code by Using Embedded Coder Quick Start