主要内容

功能端口规范

查询和配置C调用程序块属性

描述

查询并配置C呼叫者块函数定义和返回参数。配置C呼叫者以编程方式阻止输入参数。

创造

myCCallerObj=get_参数(gcb,‘FunctionPortSpecification’)创建一个C呼叫者选定对象的块配置对象C呼叫者

性质

全部展开

显示C函数输入到C呼叫者模型中的块。不能使用命令行编辑此属性。要编辑C函数映射,请编辑C呼叫者

例子:实数加法(实数u1,实数u2);

数据类型:烧焦

返回函数中函数输入参数的列表功能推理对象.

返回标量或空值功能推理对象.

数据类型:烧焦

返回标量或空值功能推理对象.

数据类型:烧焦

功能论证对象

这个功能论证是一个类,它承载C呼叫者以编程方式阻止功能论证对象具有以下属性:

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

  2. 端口号-服务器的端口号输入辩论已编辑的,指定为uint32. 此属性是只读的。

  3. 大小-Simulink的大小万博1manbetx®指定为字符向量的端口维度。如果函数定义中允许,则可以编辑此属性。

  4. 类型-指万博1manbetx定为字符向量的指定端口的Simulink数据类型。如果函数定义中允许,则可以编辑此属性。

  5. 标签-Simulink块上指定为字符向量的端万博1manbetx口标签。您可以通过编程方式更改端口标签,例如:

    myCCallerObj.my_CCaller.InputArguments(1).标签=“输入端口1”
    my_CCallerObj=FunctionPortSpecification,属性为:CPrototype:'real_T add(real_T u1,real_T u2);'InputArguments:[1×2 Simulink.CustomCode万博1manbetx.FunctionArgument]返回参数:[1×1 Simulink.CustomCode.FunctionArguments]全局参数:[1×0 Simulink.CustomCode.FunctionArgument]

  6. Scope—Simulink作用域到指定为字符万博1manbetx向量的输入参数的映射。如果变量定义为常量限定符,则参数可以是输入或参数。如果不存在常量限定符,则可以将输出参数更改为输入,产出,或参数. 如果您的范围符合上述任何场景,您可以通过编程方式对其进行更改:

    my_CCallerObj.输入参数(1).范围=“参数”
    my_CCallerObj=FunctionPortSpecification with properties:CPrototype:'extern real_T add(real_T u1,real_T u2);'InputArguments:[1×2 Simulin万博1manbetxk.CustomCode.FunctionArguments]返回参数:[1×1 Simulink.CustomCode.FunctionArguments]全局Arguments:[1×0 Simulink.CustomCode.FunctionArguments]

目标函数

格特环球酒店 获取C调用程序块中全局变量的对象定义

例子

创建一个C呼叫者配置对象

此示例创建了一个C呼叫者使用“SLEXCALLEREXAMPLE”演示模型。

my_CCallerObj=获取参数(“SLEXCallerExample/C调用者”,“功能端口规范”)
my_CCallerObj=FunctionPortSpecification,属性为:CPrototype:'real_T add(real_T u1,real_T u2);'InputArguments:[1×2 Simulink.CustomCode万博1manbetx.FunctionArgument]返回参数:[1×1 Simulink.CustomCode.FunctionArguments]全局参数:[1×0 Simulink.CustomCode.FunctionArgument]
创建一个功能论证第一个输入端口的对象:
inargone=my_CCallerObj.输入参数(1)
inargone=FunctionArgument,属性:名称:“u1”端口号:1大小:“1”类型:“double”标签:“u1”作用域:“参数”
更改第一个输入端口的标签:
不见了。标签=“输入端口1”
inargone=FunctionArgument,属性:名称:“u1”端口号:1大小:“1”类型:“double”标签:“inputport1”作用域:“参数”

在R2019b中引入