主要内容

金宝app仿真软件。CodeImporter类

包:金宝app

导入自定义C/ c++代码金宝app

描述

使用金宝app仿真软件。CodeImporter类将自定义C/ c++代码导入Simulink金宝app®用于建模、验证和验证。该类的实例用于指定要导入到Simulink中的自定义代码。金宝app

金宝app仿真软件。CodeImporter类是一个处理类。

创建

描述

obj = 金宝appSimulink.CodeImporter()属性的实例CodeImporterLibraryFileName属性设置为《无题》

obj = 金宝appSimulink。CodeImporter (库名,在那里库名是由用户选择并指定为字符串或字符向量的文件名,则创建CodeImporterLibraryFileName属性设置为库名

属性

全部展开

为导入的代码创建金宝app的Simulink库文件和生成工件的名称,指定为字符串或字符向量。名称必须是有效的MATLAB®变量的名字。对于导入代码时生成的数据字典和其他构件,使用相同的文件名,但扩展名不同。

例子:“pumpController”

数据类型:字符串|特征向量

生成的库文件和生成的工件的位置,指定为字符串或字符向量。如果为空,则使用当前MATLAB文件夹。

文件位置的一部分CustomCode属性可以相对于此文件夹指定。

例子:“C: \热泵\控制器”

数据类型:字符串|特征向量

C或c++代码文件和要导入的相关属性,指定为类的对象金宝appSimulink.CodeImporter.CustomCode.使用此属性可指定代码导入选项,如源文件和头文件、文件夹路径、库以及编译器和链接器标志。有关信息,请参见金宝appSimulink.CodeImporter.CustomCode

例子:

创建代码导入器对象obj = 金宝appSimulink.CodeImporter;%%设置导入的自定义代码obj.CustomCode.InterfaceHeaders = [“pumpController.h”];obj.CustomCode.IncludePaths = [”。/包括“];obj.CustomCode.SourceFiles = [“src / pumpController.c”“src / utils.c”];obj。CustomCode
ans = CustomCode with properties: SourceFiles: ["src/pumpController.c" "src/utils.c"] InterfaceHeaders: "pumpController.h" IncludePaths: "。/include"库:[1×0字符串]定义:[1×0字符串]语言:"C" CompilerFlags: [1×0字符串]LinkerFlags: [1×0字符串]GlobalVariableInterface: 0 FunctionArrayLayout: NotSpecified

关于已解析的自定义代码的信息,指定为类的对象金宝appSimulink.CodeImporter.ParseInfo.此属性是只读的。解析必须成功才能获得有关自定义代码的信息。有关信息,请参见金宝appSimulink.CodeImporter.ParseInfo

例子:

S = obj.parse;obj。ParseInfo
ans = ParseInfo属性:Success: 1 AvailableFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] EntryFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] AvailableTypes: "pump_control_bus" Errors: []

代码导入器在库创建导入过程中使用的附加选项,作为类的对象指定金宝appSimulink.CodeImporter.Options.使用此对象可更改函数指针传递的参数大小的默认值,以及Simulink库浏览器名称。金宝app有关信息,请参见金宝appSimulink.CodeImporter.Options

例子:

> > obj。选项
ans =选项与属性:PassByPointerDefaultSize: "-1" CreateTestHarness: 0 LibraryBrowserName: "" SimulateInSeparateProcess: 0 UndefinedFunctionHandling: "FilterOut"
>> obj.Options.LibraryBrowserName =“控制器库”;> > obj。选项
ans =选项与属性:PassByPointerDefaultSize: "-1" CreateTestHarness: 0 LibraryBrowserName: "Controller Library" SimulateInSeparateProcess: 0 UndefinedFunctionHandling: "FilterOut"

方法

全部展开

例子

进口自定义代码

为自定义代码指定位置和选项。

创建代码导入器对象obj = 金宝appSimulink。CodeImporter (“PumpController”);%%设置导入的自定义代码obj.CustomCode.InterfaceHeaders = [“pumpController.h”];obj.CustomCode.IncludePaths = [”。/包括“];obj.CustomCode.SourceFiles = [“src / pumpController.c”“src / utils.c”];指定库浏览器的名称obj.Options.LibraryBrowserName =“控制器库”

解析自定义代码并检查结果。

解析自定义代码S = obj.parse;obj。ParseInfo
ans = ParseInfo属性:Success: 1 AvailableFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] EntryFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] AvailableTypes: "pump_control_bus" Errors: []

将解析后的代码导入Simulink金宝app

导入代码S = obj.import;

版本历史

R2021a中引入