matlab实现rte接口_配置生成的代码中的数据接口

本文档详细介绍了如何在MATLAB中实现RTE接口,通过数据声明、存储类和数据类型控制代码生成。使用数据对象来配置信号、参数和总线的属性,如数据类型、存储类、初始值等。示例中展示了如何创建、配置数据对象,并通过Embedded Coder控制代码生成,包括参数和常量定义的文件放置,以及如何在生成的代码中启用信号数据对象。
摘要由CSDN通过智能技术生成

打开示例模型

open_system('rtwdemo_PCG_Eval_P2')

bc571049fc8ce15efdd77cce3c5c8ea7.png

数据声明

大多数编程语言要求您在使用数据和函数之前先声明它们。在声明中指定:

范围:程序可以访问的数据范围

持续时间:数据在内存中存在的期间

数据类型:为数据分配的内存量

初始化:值、指向内存的指针或 NULL

范围和持续时间的组合即为存储类。如果不提供初始值,大多数编译器会赋予一个零值或一个空指针。

支持的数据类型包括:

double:双精度浮点

single:单精度浮点

int8:有符号 8 位整数

uint8:无符号 8 位整数

int16:有符号 16 位整数

uint16:无符号 16 位整数

int32:有符号 32 位整数

uint32:无符号 32 位整数

定点:8 位、16 位、32 位字长

使用存储类,您可以:

生成具有自定义名称的导出文件,其中包含全局变量声明和定义。

导入自定义头文件,其中包含全局变量声明。

在声明中生成 const 或 volatile 类型限定符。

将参数表示为宏(#define 或编译器选项)。

将信号或参数打包到平面结构体或位字段中。

控制 Simulink® 和 Stateflow® 中的数据

此示例使用数据对象来指定数据的代码生成设置。您也可以使用对话框存储模型中的设置。这两种方法都可以完全控制数据类型和存储类。您可以在一个模型中同时使用这两种方法。

此示例重点介绍以下类型的数据对象:

信号

参数

总线

代码生成器使用来自 MATLAB 基础工作区或 Simulink 数据字典中的对象。您可以在命令提示符下使用命令来创建和检查对象,也可以在 Model Data Editor 或 Model Explorer 中创建和检查对象。

例如,检查模型在基础工作区中创建的 Simulink.Signal 对象 pos_cmd_one 的定义:

打开 Embedded Coder App。

在 Modeling 选项卡上,点击 Model Data Editor。

在 Model Data Editor 中,检查 Signals 选项卡。

点击 Show/refresh additional information 按钮。

将 Change view 下拉列表设置为 Code。

在 Filter contents 框旁边,切换 Filter using selection 按钮。

在模型中,选择 pos_cmd_one 信号线。现在,数据表包含两行:一行对应于模型中的信号线,另一行对应于基础工作区中的信号对象。对于与信号线对应的行,Resolve 复选框处于选中状态,这意味着该信号线从信号对象中获取设置。

(可选)要检查信号对象的其他属性,请调整 Change view 下拉列表的设置。

在 Model Data Editor 中,切换 Filter using selection button。现在,数据表显示下列信号线和信号对象:

pos_cmd_one:Top-level output、Double、Exported Global

pos_rqst:Top-level input、Double、Imported Extern Pointer

P_InErrMap:Calibration parameter、Auto、Constant

ThrotComm:Top-level output structure、Auto、Exported Global

ThrotComm 是总线信号,它是 Simul

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值