产生金宝app由C或C ++代码定义的自定义数据类型的表示
解析C或c++头文件(importInfo
= 金宝appsimulink.importexternalctypes(headerFiles
)。H
或者.HPP.
确认的)headerFiles
为了类型定义
那塑造
, 和枚举
类型定义,并生成Simulink金宝app®类型的表示。输出,importInfo
,标识成功导入和未导入的类型。
您可以使用Simulink表示来金宝app:
重用您现有的算法C代码,并通过模拟,测试它与您的Simulink控制算法的交互。金宝app有关如何使用遗留代码工具的示例,请参见集成C函数,其参数是指向结构体的指针.
生成代码(金宝app仿真软件编码器™)重用现有代码定义的类型和数据。然后,您可以将生成的和现有代码集成并编译为单个应用程序。例如,看到在生成和外部代码之间交换结构化和枚举数据(嵌入式编码)。
通过使用组织在C代码中定义的标准数据类型创建和组织模型中的数据(信号,参数和状态)。
要在Simulink中创建信号结构,请使用非虚拟总线。金宝app看开始使用公交车.
使用MATLAB创建参数结构®结构和金宝appSimulink.Parameter.
对象。看组织结构中的相关块参数定义.
要创建枚举数据,请参见在Simulink模型中使用枚举数据金宝app.
匹配一个原始类型定义
声明中,使用一个金宝appsimulink.aliaStype.
对象来设置模型中的参数和信号数据类型。
默认情况下,函数:
通过生成从中源自枚举类的脚本文件来导入枚举类型金宝app仿真软件。在tEnumType
,如定义Simul金宝appink枚举.如果需要,您可以编辑类定义以自定义它(例如,通过实现addclassnametoenumnames.
方法)。
类型导入结构类型金宝appsimulink.bus.
基础工作区中的对象。
进口原语类型定义
通过生成一个声明金宝appsimulink.aliaStype.
基础工作区中的对象。
解释泛型C数据类型,例如int
或者短
,根据主计算机的单词长度。例如,对于大多数现代机器,int
具有32位字长度,所以该函数表示一个int
结构字段作为使用Simulink数据类型的总线元素金宝appint32
.
要覆盖此默认行为,请使用该默认行为识别目标硬件板硬件可执行
对论证。
有关默认行为的其他信息,请参阅提示.
通过分析您识别的模型金宝app来生成自定义C数据类型的Simulink表示importInfo
= 金宝appsimulink.importexternalctypes(型号名称
)型号名称
.当你使用模拟目标配置模型中的参数,以识别模拟过程中要包含的头文件,使用此语法导入类型,以便在主机上模拟模型。该函数根据主机的字长解释一般的C数据类型。
当您使用此语法时,请勿使用对参数,例如硬件可执行
,这可能与目标模型的配置参数冲突。当您使用这种语法的pair参数时,函数会生成一个警告。
使用一个或多个名称值对参数指定其他选项。您可以使用此语法:importInfo
= 金宝appsimulink.importexternalctypes(___、名称、值)
该函数不支持:金宝app
C不对应于Simulink支持的类型的数据类型。金宝app金宝app例如,Simulink无法金宝app识别等效物长两倍
.有关Simulink支持的数据类型的信息,请参阅金宝app金宝appSimulink支持的金宝app数据类型金宝app.
指针类型,例如定义该字段的结构,其值是指针或一个字段类型定义
声明,其基本类型是指针类型。
定义其值具有多个维度的字段的结构。
如果字段值是1-D阵列,则该函数创建表示向量的总线元素,而不是矩阵。
工会。
如果结构字段代表固定点数据,或者如果是类型定义
语句映射到固定点基本类型,该函数设置相应总线元素的数据类型或金宝appsimulink.aliaStype.
对象到相关的Simulink整数类型(例如金宝appint16
)。导入器无法通过解析C代码来确定定点缩放。使用该函数后,必须手动指定总线元素的数据类型或基本类型金宝appsimulink.aliaStype.
对象的fixdt
功能。
如果一个Matlab功能块或州流®模型中的图表使用导入的枚举或结构类型,配置模型配置参数以包含(#包括
)来自外部头文件中的类型定义。看控制导入总线和枚举类型定义(为一个Matlab功能块)和访问状态流图中的自定义代码变量和函数(Stateflow)和将自定义结构集成在状态溢图中(stateflow)(图表)。
默认情况下:
对于导入的枚举,因为Simulink枚举类来自金宝app金宝app仿真软件。在tEnumType
,当您从模型中模拟或生成代码时,枚举使用本机的整数大小为目标硬件。您使用模型配置参数指定目标硬件的特性,例如生产设备供应商和类型和生产硬件中的原始字大小.
对于导入的结构类型:
只有当该字段使用相应的字段之一时,该函数才将结构字段作为数字复杂的金宝app仿真软件编码器结构类型作为数据类型。例如,如果外部代码中的结构字段使用数据类型cint8_T
,该函数将该字段导入为总线元素(金宝appsimulink.bus.Element
对象)其数据类型是INT8.
谁复杂
属性设置为'复杂的'
.
对于嵌套结构,该函数为每个唯一的结构类型生成一个总线对象。
对于导入的结构类型或枚举,如果外部代码使用类型定义
语句要命名类型,生成的总线对象或Simulink枚举类的名称匹配金宝app类型定义
姓名。如果您的代码不使用a类型定义
语句,对象或类的名称是塑造_
或者类型
enum_
在哪里类型
类型
是类型的标签名称。如果您未指定标记名称或应用a类型定义
名称,Sim金宝appulink为对象或类生成任意名称。
该函数将生成的SIMULINK表示作为仿真和代码生成的目的配置为导入。金宝app例如,对于总线对象,该函数设置datascope.
财产“进口”
和标题文件
属性到外部标题文件的名称。要从使用这些Simulink表示之一的模型模拟或生成代码,您必须使您的头文件可用于模型。金宝app
当您指定文件时金宝appsimulink.importexternalctypes.
例如,使用或生成通过使用DataDictionary
对论证:
如果要使用的现有文件在您当前的文件夹中或在MATLAB路径上,则无需指定文件路径。您可以自己指定文件名。
要控制生成文件的文件夹位置,可以指定路径以及文件名。你也可以使用OutputDir
对论证。
金宝appsimulink.aliaStype.
|金宝appsimulink.bus.
|枚举