Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

S-Function

在模型中包含 S-Function

  • S-Function block

库:
Simulink / User-Defined Functions

描述

通过 S-Function 模块,可以从模块图中访问 S-Function。由 S-Function 名称参数指定的 S-Function 可以是 1 级或 2 级 C MEX S-Function(有关如何创建 S-Function 的信息,请参阅MATLAB S-Function 基础知识)。

注意

使用 Level-2 MATLAB S-Function 模块,在模块图中包含一个 2 级 MATLAB® S-Function。

S-Function 模块显示指定的 S-Function 的名称,以及该 S-Function 指定的输入和输出端口的数量。连接输入端口的信号必须具有 S-Function 为输入端口指定的维度。

示例

端口

输入

全部展开

您可以使用 mdlInitializeSizes 回调函数来配置输入端口。使用 mdlInitializeSizes 函数指定输入端口的数量、输入信号的维度、每个端口的采样时间以及端口是否为直接馈通。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

输出

全部展开

您可以使用 mdlInitializeSizes 回调函数来配置输出端口。使用 mdlInitializeSizes 函数指定输出端口的数量、输出信号的维度以及每个端口的采样时间。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

参数

全部展开

使用此参数指定 S-Function 的名称。

编程用法

模块参数FunctionName
类型:字符向量
值:S-Function 的名称
默认值:'system'

指定其他 S-Function 参数。

函数参数可以指定为 MATLAB 表达式或以逗号分隔的变量。例如,

A, B, C, D, [eye(2,2);zeros(2,2)]

请注意,尽管单个参数可以用括号括起来,但参数列表一定不能用括号括起来。

编程用法

模块参数Parameters
类型:字符向量
值:S-Function 参数
默认值:' '

仅当此模块代表 C MEX S-Function,并且您打算使用 Simulink® Coder™ 软件从包含该模块的模型中生成代码时,此参数才适用。如果您使用此参数,当您准备好生成代码时,必须按照Control Regeneration of Top Model Code (Simulink Coder)中所述,强制代码生成器重新生成顶层模型。

有关使用此参数的详细信息,请参阅为 S-Function 指定其他源文件 (Simulink Coder)

编程用法

模块参数SFunctionModules
类型:字符向量
值:文件名字符向量
默认值:' '

模块特性

数据类型

Booleana | busa | doublea | fixed pointba | halfa | integera | singlea | stringa

直接馈通

a

多维信号

a

可变大小信号

a

过零检测

a

a 实际支持的数据类型或功能取决于模块实施。

b 有关在 S-Function 中使用定点数据类型的详细信息,请参阅 "编写定点 S-Function"。

扩展功能

版本历史记录

在 R2006a 之前推出