主要内容

万博1manbetxSimulink.importExternalCTypes

生成万博1manbetxC或c++代码定义的自定义数据类型的表示

描述

实例

importInfo= 万博1manbetxSimulink.importExternalCTypes (headerFiles)解析C或c++头文件(.h. hpp确认的)headerFiles类型定义,结构体,枚举类型定义,并生成Simulink万博1manbetx®类型的表示。输出,importInfo,标识成功导入和未导入的类型。

你可以使用Simulink表示:万博1manbetx

默认情况下,函数:

  • 通过生成派生枚举类的脚本文件导入枚举类型万博1manbetx仿真软件。在tEnumType,如定义Simul万博1manbetxink枚举.如果有必要,您可以编辑类定义来自定义它(例如,通过实现addClassNameToEnumNames方法)。

  • 类型导入结构类型万博1manbetx仿真软件。公共汽车对象在基本工作区中。

  • 进口原始类型定义通过生成万博1manbetx仿真软件。AliasType对象在基本工作区中。

  • 解释泛型C数据类型,例如int,根据您的主机的字长。例如,对于大多数现代机器来说,int具有32位字长,因此该函数表示int结构字段作为使用Simulink数据类型的总线元素万博1manbetxint32

    要覆盖此默认行为,请使用硬件实现对参数。

有关默认行为的其他信息,请参见提示

实例

importInfo= 万博1manbetxSimulink.importExternalCTypes (modelName)通过分析您所识别的模万博1manbetx型,生成定制C数据类型的Simulink表示modelName.当你使用模拟目标配置模型中的参数,以识别模拟过程中要包含的头文件,使用此语法导入类型,以便在主机上模拟模型。该函数根据主机的字长解释一般的C数据类型。

在使用此语法时,不要使用pair参数,例如硬件实现,这可能与目标模型的配置参数冲突。当您使用这种语法的pair参数时,函数会生成一个警告。

实例

importInfo= 万博1manbetxSimulink.importExternalCTypes (___、名称、值)使用一个或多个名称-值对参数指定其他选项。你可以使用这个语法:

  • 属性指定要导入的类型的名称的名字对参数。

  • 控制Simulink存储导入类型的方式,例万博1manbetx如,在Simulink数据字典中生成类型。使用MATFileDataDictionary对参数。

  • 控制函数解释泛型C数据类型的方式硬件实现对参数。

  • 通过再次尝试导入更新的C代码定义,保持C代码定义与Simulink表示之间的同步。您可以选择是否覆盖现有Simuli万博1manbetxnk表达。使用覆盖详细的对参数。

例子

全部折叠

此示例演示如何生成C结构类型的Simulink表示(万博1manbetx结构体)及经点算的枚举)的数据类型。

  1. 在当前文件夹中,创建该文件ex_cc_simpleTypes.h

    typedef enum {PWR_LOSS = 0, /*默认值*/ OVERSPD, PRESS_LOW,} fault_T;Typedef struct {double coeff;双初始化;} params_T;

  2. 通过调用生成类型的万博1manbetxSimulink表示万博1manbetxSimulink.importExternalCTypes

    万博1manbetxSimulink.importExternalCTypes (“ex_cc_simpleTypes.h”);

    该函数创建一个万博1manbetx仿真软件。公共汽车对象,params_T,在基本工作区中。

  3. 要检查对象的属性,请打开总线编辑器。

    buseditor

    每个总线元素使用一个名称和一个数据类型(中的对应结构字段ex_cc_simpleTypes.h

  4. 在当前文件夹中,检查生成的文件,fault_T.m,它定义枚举类型fault_T作为枚举类。

    您可以使用总线对象和枚举类来设置Simulink模型中的信号和参数数据类型。万博1manbetx

这个示例展示了如何生成一个结构类型的Simulink表示,该结构类型的字段万博1manbetx使用自定义数据类型(类型定义).

创建文件ex_整数_别名。h在当前文件夹中。

typedef int sint_32;Typedef unsigned short uint_16;

创建文件ex_cc_struct_alias.h在当前文件夹中。

#include "ex_integer_aliases.h" typedef struct {sint_32 accum;uint_16指数;} my_ints_T;

将结构类型导入Simulink作为万博1manbetx万博1manbetx仿真软件。公共汽车对象在基本工作区中。导入类型定义语句是万博1manbetx仿真软件。AliasType对象。

万博1manbetxSimulink.importExternalCTypes (“ex_cc_struct_alias.h”);

检查总线对象中总线元素的数据类型。例如,检查数据类型属性,该属性对应于结构字段accum

my_ints_T.Elements (1)
ans = BusElement with properties: Name: 'accum' Complexity: 'real' Dimensions: 1 DataType: 'sint_32' Min: [] Max: [] dimension mode: 'Fixed' SampleTime: -1单位:" Description: "

这个万博1manbetxSimulink.importExternalCTypes函数使用生成的万博1manbetx仿真软件。AliasType对象来设置总线元素的数据类型。

检查万博1manbetx仿真软件。AliasType对象。例如,命名为sint_32对应于类型定义语句ex_整数_别名。h

sint_32
DataScope: 'Imported' HeaderFile: 'ex_integer_alias .h' BaseType: 'int32'

对于大多数主机(默认情况下该函数以其为目标),的字长为int是32位,字长为无符号短是16位。函数映射int无符号短到Simuli万博1manbetxnk类型int32uint16

如果您有Embedded Coder,则可以使用从模型生成的代码sint_32uint_16不使用标准的数据类型名称,int32_Tuint16_T

这个例子展示了如何在Simulink数据字典中存储导入的数据类型。万博1manbetx数据字典存储一个或多个Simulink模型的数据规范(如信号和块参数值)、数据类型和其他设计数据。万博1manbetx

在当前文件夹中,创建该文件ex_cc_simpleTypes.h

typedef enum {PWR_LOSS = 0, /*默认值*/ OVERSPD, PRESS_LOW,} fault_T;Typedef struct {double coeff;双初始化;} params_T;

创建一个名为myDictionaries

mkdir (“myDictionaries”)

通过调用生成类型的万博1manbetxSimulink表示万博1manbetxSimulink.importExternalCTypes。通过创建新的数据字典永久存储类型定义,ex_cc_myTypes.sldd,在新子文件夹中。

万博1manbetxSimulink.importExternalCTypes (“ex_cc_simpleTypes.h”,...“DataDictionary”,“ex_cc_myTypes.sldd”,...“OutputDir”,“myDictionaries”);

若要检查字典的内容,请将当前文件夹设置为myDictionaries然后双击字典文件。

要在字典中使用Simu万博1manbetxlink表示,必须将一个或多个模型链接到字典。看到迁移模型以使用Simulink数据字典万博1manbetx

这个示例展示了如何仅为通过名称标识的枚举数据类型和结构数据类型生成Si万博1manbetxmulink表示。

在当前文件夹中,创建该文件ex_cc_manySimpleTypes.h.该文件定义了三种结构类型:params_T,信号,states_T

Typedef struct {double coeff;双初始化;} params_T;Typedef struct {double flow_rate;双steam_press;} signals_T;Typedef struct {double accum;双误差;} states_T;

仅为以下对象生成S万博1manbetximulink表示:params_T信号

万博1manbetxSimulink.importExternalCTypes (“ex_cc_manySimpleTypes.h”,...“名字”, {“params_T”,“signals_T”});

这个万博1manbetx仿真软件。公共汽车对象,params_T信号,显示在基本工作区中。

默认情况下,万博1manbetxSimulink.importExternalCTypes通过创建派生自内置类的枚举类来表示枚举数据类型万博1manbetx仿真软件。在tEnumType. 当您从使用生成的类的模型模拟或生成代码时,您为模型选择的配置参数(例如,在硬件实现窗格)确定的特定整数长度万博1manbetx仿真软件。在tEnumType和枚举类所使用的。

默认情况下,函数解释泛型、原语C数据类型,例如int,根据主机的字长。例如,表示int结构字段,函数通常应用32位数据类型int32到相应的总线元素。当您想为主机以外的硬件模拟和生成代码时,请使用硬件实现参数Pair用于标识目标硬件,并可扩展为硬件的字长度。

这个示例展示了如何从打算在16位硬件上使用的代码中导入数据类型。对于这个板,int具有16位长度,枚举数据的每个项(枚举)消耗16位。

在当前文件夹中,创建该文件ex_cc_intTypes.h

typedef enum {PWR_LOSS = 0, /*默认值*/ OVERSPD, PRESS_LOW,} fault_T;Typedef struct {int coeff;int初始化;} params_T;

该代码定义了枚举数据类型和结构类型,其字段使用泛型C数据类型int

要生成结构类型的准确Simulink表示,首先打万博1manbetx开一个现有模型或创建一个新模型。对于本例,创建一个名为ex_hdwImpl_16bit

在新的模型中,设置>硬件实现>设备厂商爱特梅尔公司.集设备类型AVR的

或者,在命令提示符处,使用以下命令来创建和配置模型:

新系统(“ex_hdwImpl_16bit”,“模型”);set_param (“ex_hdwImpl_16bit”,“ProdHWDeviceType”,爱特梅尔公司- > AVR的)

生成类型的Simu万博1manbetxlink表示。要指定目标16位硬件的字长,请提取模型配置参数(包括硬件实现设置)万博1manbetx仿真软件。ConfigSet对象。

configSet = getActiveConfigSet (“ex_hdwImpl_16bit”);S万博1manbetximulink.ImportTexternalTypes(“ex_cc_intTypes.h”,“HardwareImplementation”, configSet);

这个万博1manbetx仿真软件。公共汽车对象params_T出现在基本工作区中。总线元素,例如多项式系数,使用Simulin万博1manbetxk数据类型int16

params_T.Elements (1)
ans = BusElement with properties: Name: 'coeff' Complexity: 'real' Dimensions: 1 DataType: 'int16' Min: [] Max: [] dimension mode: 'Fixed' Unit: " Description: "

在当前文件夹中,该文件fault_T.m定义枚举类fault_T.这个课程源于万博1manbetx仿真软件。在tEnumType,因此必须使用模型配置参数来标识目标硬件,并通过扩展确定正确的本地整数长度。

创建文件ex_cc_fixpt_struct.h在当前文件夹中。

Typedef struct {int coeff;/*单词长度16,二进制分数长度7 */ int init;/*单词长度16,二进制分数长度3 */}

该文件定义了一个结构类型,其字段使用定点数据类型。例如,结构存储字段多项式系数在有符号的16位整数数据类型中。长度为的二进制分数7.将存储的整数值与实际值关联。

假设这段代码在16位硬件上操作(例如泛型C数据类型int具有16位的字长)。要生成该类型的Simulin万博1manbetxk表示,首先创建编码器。硬件实现对象,该对象标识硬件。

hdw=编码器.硬件实现;hdw.产品硬件设备类型=爱特梅尔公司- > AVR的

生成结构类型的Simu万博1manbetxlink表示。

万博1manbetxSimulink.importExternalCTypes (“ex_cc_fixpt_struct.h”,...“HardwareImplementation”,hdw);

这个万博1manbetx仿真软件。公共汽车对象,params_T,显示在基本工作区中。每个总线元素,如多项式系数,使用数据类型int16

params_T.Elements (1)
ans = BusElement with properties: Name: 'coeff' Complexity: 'real' Dimensions: 1 DataType: 'int16' Min: [] Max: [] dimension mode: 'Fixed' Unit: " Description: "

万博1manbetxSimulink.importExternalCTypes无法从C代码推断定点缩放(二进制分数长度)。必须手动指定总线元素的数据类型。若要在命令提示下指定数据类型,请使用fixdt函数。

参数元素(1).数据类型=“fixdt(7) 1, 16日”;params_T.Elements(2)。数据类型=“fixdt(3) 1, 16日”

要以交互方式指定数据类型(通过使用数据类型助手),请使用总线编辑器。

buseditor

这个例子展示了如何维护C数据类型的Simulink表示,您可以在建模项目的生命万博1manbetx周期中修改这些数据类型的定义。

导入自定义C类型

创建文件ex_cc_myTypes_rec.h在当前文件夹中。该文件定义了一个自定义结构类型。

Typedef struct{双流;双总统;双tqe;} sigStructType;

生成一个万博1manbetx仿真软件。公共汽车对象,该对象表示该类型。

万博1manbetxSimulink.importExternalCTypes (“ex_cc_myTypes_rec.h”);

修改C代码中的类型定义

ex_cc_myTypes_rec.h,添加一个名为社会民主党sigStructType

在同一个文件中,创建一个新的结构类型,stateStructType

Typedef struct{双流;双总统;双tqe;双社民党;} sigStructType;Typedef struct {double err;双读;双写;} stateStructType;

再次尝试导入类型

尝试生成表示类型的总线对象。

importInfo = 万博1manbetxSimulink.importExternalCTypes (“ex_cc_myTypes_rec.h”);

该函数在命令提示下生成警告。您可以检查输出,而不是依赖于警告,importInfo,以确定函数是否未能导入任何类型。

导入信息失败导入总线
ans = 1×1 cell array {'sigStructType'}

函数没有导入sigStructType.基本工作区中相应的总线对象仍然只有三个总线元素。来确定函数没有导入的原因sigStructType,检查报告领域的importInfo

进口sigStructType一次。这一次,覆盖现有的总线对象。

importInfo = 万博1manbetxSimulink.importExternalCTypes (“ex_cc_myTypes_rec.h”,...“名字”importInfo.failedToImport.Bus,“覆盖”,“上”);

当您重写现有的Simulink表示时,您对Simulin万博1manbetxk表示所做的任何定制(例如总线元素的定点数据类型应用程序)都会被重写。

输入参数

全部折叠

要解析的头文件的名称和路径,指定为字符向量、字符向量的单元数组、字符串或字符串数组。包括.h. hpp文件扩展名。

如果您使用包含的层次结构(# include)头文件来定义类型,当指定HeaderFiles,您只需要识别入口点文件。该函数解析包含的文件以及识别的入口点文件。如果所包含的文件与相应的入口点文件不在同一个文件夹中,则使用IncludeDirs参数Pair以标识其他文件夹。

例子:“myHeader.h”

例子:{'thishheader.hpp','thathheader.hpp'}

数据类型:字符|细胞|字符串

要为其导入类型的已加载Simuli万博1manbetxnk模型的名称,指定为字符向量或字符串标量。例如,如果打开模型或使用load_system函数。当你使用这个参数时,函数:

  • 搜索自定义头文件的模型配置参数,并解析这些头文件以获取要导入的数据类型。只有配置参数模拟目标窗格影响此搜索。

    例如,如果在你设置的模型中配置参数>模拟目标>在生成的代码中插入定制的C代码>头文件#包括“myTypes.h”,函数解析myTypes.h用于导入类型。

  • 解释泛型C数据类型,例如int根据主机的字长。不要使用硬件实现配对参数以覆盖此解释。

例子:“myModel”

数据类型:字符|字符串

名称值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:万博1manbetxSimulink.importExternalCTypes(“myHdr.h”、“DataDictionary”、“myDictionary.sldd”)

要创建用于存储生成的mat文件的名称和(可选)路径万博1manbetx仿真软件。公共汽车万博1manbetx仿真软件。AliasType对象,指定为字符向量或字符串。如果你不使用MATFile,默认情况下,该函数在基本工作区中生成对象。

该函数不会在mat文件中生成枚举定义。

如果你进口一些结构体类型和原始类型定义语句的使用MATFile然后使用MATFile,该函数将用一个新文件完全替换旧的MAT-file。该函数将丢弃您对旧mat文件内容所做的任何更改。

你不能使用MATFileDataDictionary同时对参数。

例子:“myMat.mat”

例子:“myMat”

例子:fullfile(“文件夹”、“myMat”)

数据类型:字符|字符串

要使用或创建的Simulink数据字典的名称和(可选)路径,以存储生万博1manbetx成的枚举和对象,指定为字符向量或字符串。当使用pair参数时,函数将枚举类型导入为万博1manbetxSimulink.data.dictionary.EnumTypeDefinition对象,并存储这些对象(以及万博1manbetx仿真软件。公共汽车对象和万博1manbetx仿真软件。AliasType对象)在目标字典中。

有关数据字典的信息,请参见什么是数据字典?

您可以选择指定.sldd扩展。

你不能使用DataDictionaryMATFile同时对参数。

例子:“myDict.sldd”

例子:“myDict”

例子:fullfile(“文件夹”、“myDict.sldd”)

数据类型:字符|字符串

要导入的类型名称,指定为字符向量、字符向量的单元格数组、字符串或字符串数组。默认情况下,如果不使用的名字,该函数尝试导入标识的头文件定义的所有自定义类型。

要用单个字符向量匹配多个类型名,请使用星号(*).

例子:“myEnumType”

例子:{“myEnumType”、“myStructType”}

例子:“我的*类型”

数据类型:字符|细胞|字符串

用于定义影响C类型定义(指定为字符向量或字符串标量)的宏的编译器选项。例如,如果将定义括在# ifdef块,检查宏是否已定义。

使用定义了指定通过编译器选项(例如)定义的宏定义- d

例子:“SIGSTRUCT = 1”

例子:'SIGSTRUCT=1枚举=1'

数据类型:字符|字符串

用于删除影响C类型定义(指定为字符向量或字符串标量)的宏的编译器选项。例如,如果将定义括在# ifdef块,检查宏是否已定义。

使用未赋值指定通过编译器选项(例如)定义的宏删除- u

例子:“SIGSTRUCT”

例子:“SIGSTRUCT ENUM”

数据类型:字符|字符串

包含下级的文件夹,包括(# include)头文件,指定为字符向量、字符向量的单元格数组、字符串或字符串数组。使用pair参数使函数能够定位和解析主头文件(用headerFiles参数)。

如果你使用modelName语法而不是headerFiles语法,在目标模型中,您可以使用模拟目标指定包含路径的配置参数。在这种情况下,不需要使用IncludeDirs对参数。

例子:“myHeaders”

例子:fullfile('。',' myHeaders ')

例子:{fullfile(“。”,“myHeaders”),fullfile(“。”,“myOtherHeaders”)}

数据类型:字符|细胞|字符串

文件夹,用于存储生成的文件,指定为字符向量或字符串。该函数放置生成的文件,例如classdef脚本文件和数据字典文件,在这个文件夹中。

在使用函数之前,您指定的文件夹必须已经存在。

例子:“myDictionaries”

例子:完整文件('myProject','myDictionaries')

数据类型:字符|字符串

解析和导入C和c++头文件兼容的数据类型。如果指定包含c++特性的头文件,则指定语言“c++”导入兼容的C数据类型。

当从扩展名为hpp的头文件导入数据类型时,如果语言未指定或设置为“汽车”,“c++”来解析头文件。c++类和c++结构类型被忽略。空结构不会被导入。

如果从已加载的模型中导入头文件语言未指定或设置为“汽车”这个语言设置继承自模型的自定义设置。如果导入的模型已经有语言设置在配置参数>模拟目标,此设置被导入的模型设置遮蔽。

用于解释泛型、原语C数据类型的字长,指定为万博1manbetx仿真软件。ConfigSet编码器。硬件实现(MATLAB编码器)对象。

  • 使用一个万博1manbetx仿真软件。ConfigSet对象时,可以使用如下函数从模型提取配置集getConfigSetgetActiveConfigSet.此技术使您能够使用“配置参数”对话框来标识目标硬件(通过硬件实现配置参数)。

  • 使用一个编码器。硬件实现对象(以编程方式创建和配置),指定对象的属性,例如ProdHWDeviceType,以确定目标硬件。对象然后设置其他属性,例如ProdBitPerInt,它反映硬件的本地整数大小。

该函数检查对象,以确定在解释泛型C数据类型时使用哪一种Simulink整数数据类型,例如万博1manbetxint.例如,如果您创建编码器。硬件实现对象来识别16位硬件,然后使用该函数导入其字段使用C数据类型的结构类型int,函数生成一个总线对象,该对象的总线元素使用Simulink数据类型万博1manbetxint16.该功能使用生产硬件设置,而不是测试硬件设置。

有关Simulink模型的硬件实现设置的更多信息,请参见万博1manbetx配置运行时环境选项(万博1manbetx仿真软件编码器)

重写现有Simulink表示的规范,指定为万博1manbetx“上”“关闭”.如果导入的类型在Simulink中已经有表示:万博1manbetx

  • 如果您指定“关闭”或者如果您没有指定覆盖,函数不导入类型。在输出参数中,importInfo这个failedToImport字段标识类型。

  • 如果您指定“上”,函数将覆盖现有的Simulink表示。万博1manbetx

如果您使用该函数将某些类型导入到基本工作空间或数据字典中,并在稍后定制生成的Simulink表示,当您再次使用该函数并设置时万博1manbetx覆盖“上”,该函数不保留您的自定义。这些定制包括:

  • 在枚举类定义中,实现额外的方法或修改生成的方法,如getDataScope(见自定义模型枚举万博1manbetx).

  • 修改生成的属性万博1manbetx仿真软件。公共汽车万博1manbetx仿真软件。AliasType对象(例如,手动将总线元素的数据类型设置为定点数据类型)。

为成功导入操作生成消息的规范,指定为“上”“关闭”

  • 如果您指定“关闭”或者如果您没有指定详细的,函数将静默地导入类型。消息不会出现在命令窗口中,除非函数不能导入类型。

  • 如果您指定“上”,该函数会在命令窗口中为导入过程中的每个操作生成一条消息。

输出参数

全部折叠

关于已导入和未导入类型的信息,作为带有这些字段的结构返回。

已导入和未导入类型的描述,作为字符向量返回。检查该字段的值,以确定函数无法导入类型的原因。

未导入的类型,作为带有这些字段的结构返回。

字段名 字段值 目的
公共汽车 字符向量的单元格数组 建筑物名称(结构体未导入的类型。
枚举 字符向量的单元格数组 枚举类型的名称(枚举)。
AliasType 字符向量的单元格数组 原始的名字类型定义未导入的语句。

已成功导入的类型,作为带有这些字段的结构返回。

字段名 字段值 目的
公共汽车 字符向量的单元格数组 建筑物名称(结构体)类型。生成的万博1manbetx仿真软件。公共汽车对象使用这些名称。
枚举 字符向量的单元格数组 枚举类型的名称(枚举)。生成的枚举类或万博1manbetxSimulink.data.dictionary.EnumTypeDefinition对象使用这些名称。
AliasType 字符向量的单元格数组 原始的名字类型定义已导入的语句。生成的万博1manbetx仿真软件。AliasType对象使用这些名称。

限制

  • 该函数不支持:万博1manbetx

    • 与Simulink支持的类型不对应的C数据类型。例如,Simulink无法识别万博1manbetx万博1manbetx长两倍.有关Simulink支持的数据类型的信息,请参见万博1manbetx万博1manbetxSimulink支持的万博1manbetx数据类型万博1manbetx

    • 指针类型,例如定义值为指针或指针的字段的结构类型定义基类型是指针类型的语句。

    • 定义值具有多个维度的字段的结构。

      如果字段值是一维数组,则该函数将创建表示向量而不是矩阵的总线元素。

    • 工会。

  • 如果结构字段表示定点数据,或者类型定义语句映射到定点基类型时,函数设置相应总线元素的数据类型或万博1manbetx仿真软件。AliasType对象设置为相关的Simulink整数类型(例如万博1manbetxint16).导入器无法通过解析C代码来确定定点缩放。函数使用后,必须手动指定总线元素的数据类型或万博1manbetx仿真软件。AliasType对象的fixdt函数。

提示

  • 如果一个MATLAB函数块或Stateflow®图表使用导入的枚举或结构类型,将模型配置参数配置为包括(# include)从外部头文件的类型定义。看到控制导入总线和枚举类型定义(MATLAB函数块),访问状态流图中的自定义代码变量和函数(状态流)在状态流图中集成自定义结构(状态流)(图表)。

  • 默认情况下:

    • 对于导入的枚举,因为Simulink枚举类派生自万博1manbetx万博1manbetx仿真软件。在tEnumType,从模型模拟或生成代码时,枚举将使用目标硬件固有的整数大小。您可以使用模型配置参数(如)指定目标硬件的特征生产设备供应商和类型生产硬件中的本地字大小

    • 对于导入的结构类型:

      • 仅当结构字段使用其中一个对应的万博1manbetx仿真软件编码器结构类型作为数据类型。例如,如果外部代码中的结构字段使用数据类型cint8_T,该函数将该字段导入为总线元素(万博1manbetx仿真软件。公共汽车Element对象),其数据类型为int8和谁的复杂性属性设置为“复杂”

      • 对于嵌套结构,该函数为每个唯一的结构类型生成一个总线对象。

    • 对于导入的结构或枚举类型,如果外部代码使用类型定义语句来命名类型,则生成的总线对象或Simulink枚举类的名称与万博1manbetx类型定义的名字。如果您的代码没有使用类型定义语句来命名类型,对象或类的名称就是类型的标记名称,除非该名称与定义在类型定义语句,在这种情况下,类型不会导入到Simulink。万博1manbetx如果没有指定标记名或应用类型定义,则Simu万博1manbetxlink会为对象或类生成一个任意的名称。

      笔记

      要导入没有在类型定义语句,模型配置参数导入自定义代码必须选择。

    • 该函数将生成的Simulink表示配置为为了模拟和代码生成而导入的。万博1manbetx例如,对于总线对象,函数设置DataScope财产“进口”HeaderFile属性设置为外部头文件的名称。要从使用这些Simulink表示形式之一的模型中模拟或生成代码,您必须使您的头文件对模型可用。万博1manbetx

  • 当您指定文件万博1manbetxSimulink.importExternalCTypes使用或生成,例如,通过使用DataDictionary对论点:

    • 如果要使用的现有文件位于当前文件夹或MATLAB路径中,则不需要指定文件路径。您可以自行指定文件名。

    • 要控制生成文件的文件夹位置,可以指定路径和文件名。你也可以用theOutputDir对参数。

R2017a中引入