模型代码接口
为了生成可以与目标平台服务交互的代码,代码生成器必须了解目标平台接口要求。这样做的第一步是通过包含特定的模型元素来表示顶层模型中所需的接口。例如,您可以使用根级 In Bus Element 或 Inport 模块来建模从目标平台接收方服务读取数据的接口。
该表列出了典型的代码接口以及在顶层模型中表示它们的方法。
代码接口类型 | 模型元素或模式 |
---|---|
基于可赎回利率的入口 | 模块基于速率的模型,该模型配置为单任务或多任务执行,或在 Simulink 计划编辑器中设置为分区 |
可调用导出函数入口 | 使用 Function-Call Subsystem、函数调用 Model、Simulink Function、Message Triggered Subsystem 或 S-Function 模块定义函数的导出函数模型 |
可调用初始化函数入口 | Initialize Function 模块 |
可调用终止函数入口 | Terminate Function 模块 |
调用目标平台接收方服务 | In Bus Element 或 Inport 模块 |
调用目标平台发送方服务 | Out Bus Element 或 Outport 模块 |
调用目标平台数据传输服务 | 连接两个交换模块并导致生成的代码中可调用函数的信号线。可调用函数是目标环境软件可以调用的生成的入口。 |
访问目标平台非易失性内存 | Measurement service interface for persistent data, Initialize Function 和 Terminate Function 模块,或 Simulink Function 和 Function Caller 模块 |
在状态变量和根级输出变量之间重用内存 | 将状态变量建模为信号的函数环回模式或将状态变量建模为 Delay 模块 |
调用目标平台计时器服务以获取绝对时间值或经过的时间值 | 作用域 Simulink Function 模块(用于表示服务)和包含 Function Caller 模块的库模块(用于调用服务),或者对于配置了服务接口的模型(需要),Discrete Time Integrator 或 Weighted Sample Time 模块。 |
消息通信 | Send 模块直接连接到根级 Outport 模块,Receive 模块直接连接到根级 Inport 模块 |
客户端-服务器通信 | Simulink Function 和 Function Caller 模块 |
可调参数和参数参量 | 存储在模型工作区中的参数对象 |
测量数据 | 信号(模块的输出端口)、状态(模块上的状态)和 Datastore Memory 模块 |
自定义服务接口 | 自定义模块 |
这些主题提供了有关不同类型接口的更多信息:
根据您的部署目标以及您如何为代码生成器配置代码接口,建模规范可能会有所帮助。在某些情况下,您可能需要创建涉及创建自定义模块的自定义表示。
有关建模规范的信息,请参阅 建模规范和模块用法、建模规范、生成代码的建模规范 和 Component Deployment Guidelines for Embedded Coder 支持包。
有关创建自定义模块的信息,请参阅自定义模块的代码生成。