主要内容

FunctionPortSpecification

查询和配置C Caller块属性

描述

查询和配置C调用者块函数定义和返回参数。配置C调用者以编程方式阻塞输入参数。

创建

myCCallerObj = get_param(gcb, 'FunctionPortSpecification')创建一个C调用者块配置对象C调用者块。

属性

全部展开

控件的C函数输入的映射C调用者块在模型中。不能使用命令行编辑此属性。要编辑C函数映射,请编辑C调用者块。

例子:real_T add(real_T u1, real_T u2);

数据类型:字符

类中的函数输入参数列表FunctionArgument对象

返回标量或空值FunctionArgument对象

数据类型:字符

返回标量或空值FunctionArgument对象

数据类型:字符

FunctionArgument对象

FunctionArgument类是否携带端口规范信息C调用者块以编程方式。的FunctionArgument对象具有以下属性:

  1. 的名字-源代码中变量的名称,指定为字符向量。此属性是只读的。

  2. PortNumber—端口InputArgument已被编辑,指定为uint32.此属性是只读的。

  3. 大小- Simulink的大小金宝app®端口尺寸指定为字符向量。如果函数定义中允许,则可以编辑此属性。

  4. 类型—指金宝app定端口的Simulink数据类型,指定为字符向量。如果函数定义中允许,则可以编辑此属性。

  5. 标签—指定为字符向量的Simulink块上的金宝app端口标签。您可以通过编程方式更改端口标签,例如:

    myCCallerObj.my_CCaller.InputArguments(1)。标签=“inputport1”
    my_CCallerObj =带有属性的FunctionPortSpecification: CPrototype: 'real_T add(real_T u1, real_T u2);' InputArguments: [1×2 Simulink.Cus金宝apptomCode。FunctionArgument] ReturnArgument: [1×1 金宝appSimulink.CustomCode.]FunctionArgument] GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]

  6. 作用域-将Simulink作用域映射到指定为字金宝app符向量的输入参数。如果变量定义为常量限定符,则实参可以是输入或形参。如果不存在常量限定符,则可以将输出参数更改为输入输入输出,或到参数.如果你的范围适合上面的任何场景,你可以通过编程改变它:

    my_CCallerObj.InputArguments(1)。范围=“参数”
    my_CCallerObj =带有属性的FunctionPortSpecification: CPrototype: 'extern real_T add(real_T u1, real_T u2);' InputArguments: [1×2 Simulink.Cus金宝apptomCode。FunctionArgument] ReturnArgument: [1×1 金宝appSimulink.CustomCode.]FunctionArgument] GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]

对象的功能

getGlobalArg 在C Caller块中获取全局变量的对象定义

例子

创建一个C调用者配置对象

此示例创建一个C调用者配置对象。“slexCCallerExample”演示模型。

my_CCallerObj = get_param(“slexCCallerExample / C调用者”“FunctionPortSpecification”
my_CCallerObj =带有属性的FunctionPortSpecification: CPrototype: 'real_T add(real_T u1, real_T u2);' InputArguments: [1×2 Simulink.Cus金宝apptomCode。FunctionArgument] ReturnArgument: [1×1 金宝appSimulink.CustomCode.]FunctionArgument] GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]
创建一个FunctionArgument对象的第一个输入端口:
inargone = my_CCallerObj.InputArguments(1)
inargone =带有属性的函数参数:名称:'u1' PortNumber: 1大小:'1'类型:'double'标签:'u1'作用域:'参数'
更改第一个输入端口的标签:
inargone。标签=“inputport1”
inargone =带有属性的函数参数:名称:'u1' PortNumber: 1大小:'1'类型:'double'标签:'inputport1'作用域:'参数'

版本历史

R2019b引入