S-Function 控制元件
本文档主要介绍自定义 S-Function 元件的创建和实现方法。为实现该功能,用户需提前准备封装好的二进制模型 .so
文件。本文档也将从白盒模型封装和黑盒模型封装两种实现方式介绍生成 .so
的具体步骤,并通过一个白盒模型实现的案例介绍 S-Function 元件的构建、调试方法。
功能定义
该功能支持将封装的二进制模型导入平台,构建自定义 S-Function 电磁暂态仿真元件。
功能说明
自定义 S-Function 元件具有以下几个功能特点:
-
控制模型构建方便、高效,可降低模型搭建和参数校验的时间成本。
-
控制策略与真实控制器的保持高度一致,仿真结果更接近实际情况。
-
控制器开发者不需要公开具体的控制策略和核心算法,可满足保密需求。
适用模型
需提前准备 Linux 64 位系统环境下编译生成的 .so
文件。
编译来源可以有以下两种:
-
MATLAB/Simulink 子系统编译生成 S-Function 时自动生成的代码文件。
-
用户自定义函数和接口的代码文件。
整体流程
用户 可将 Simulink 白箱模型封装成 S-Function 子系统,利用 MATLAB 的自动代码生成功能,得到 *.c
和 *.h
文件,在 Linux 环境中编译生成 .so
文件;也可以将包含自定义函数和接口的 .c
或 .cpp
、.h
文件,或 .a
二进制文件,在 Linux 环境中编译生成 .so
文件。
用户需要获取 Simulink 子系统或自定义代码文件的全局参数、输入/输出接口信息,并根据信息定义 S-Function 元件的参数和引脚,在平台导入 .so
文件,完成自定义 S-Function 元件的构建。
具体步骤
本文档根据白盒模型封装和黑盒模型封装两种方式介绍自定义 S-Function 元件实现的具体步骤。
若用户需要构建白盒模型的 S-Function 元件,.so
的编译来源为 MATLAB/Simulink 自动生成的代码,请参见白盒模型 S-Function 实现标签。
若用户需要构建黑盒模型的 S-Function 元件,.so
的编译来源为用户自定义的函数和接口代码,请参见黑盒模型 S-Function 实现标签。
- 白盒模型 S-Function 实现
- 黑盒模型 S-Function 实现