文档

构建S-自动功能

关于自动构建s函数

在S-功能Builder是一个Simulink的万博1manbetx®块,它根据您提供的规范和C代码构建s函数。在使用s函数的模型中,s函数构建器还充当生成的s函数的包装器。本节解释如何使用S-Function构建器来构建simpleC MEX S函数。

注意

对于使用S-函数生成器生成S-功能的实例,参见C文件S-功能子系统的设置有Simulink产品的S函数的例子。万博1manbetx要显示的例子中,输入sfundemos在MATLAB®命令行(见S-函数示例想要查询更多的信息)。

要建立与S-Function Builder中的S-功能:

  1. 将MATLAB当前文件夹要在其中创建S-功能的文件夹。

    注意

    此文件夹必须在MATLAB的路径。

  2. 如果你希望总线信号连接到S-Function Builder中的输入或输出端口,您必须先创建一个总线对象。你进行交互使用Simulink的总线编辑器这个任务(见万博1manbetx创建总线编辑器总线对象。另外,您也可以使用万博1manbetxSimulink.Bus如下。

    1. 在MATLAB命令窗口中输入:

      A = 万博1manbetxSimulink.Bus

      结果,HeaderFile对于总线默认为空字符矢量:

      一个= 万博1manbetxSimulink.Bus描述: '' HeaderFile: '' 元素:[双为0x1]
    2. 如果你想指定头文件的公交车,然后在MATLAB命令行:

      a.Headerfile = 'Busdef. h”

      如果没有指定一个头文件,Simulink中自动生成万博1manbetxSfunctionname_衬套

    有关如何对总线使用S-Function构建器的演示,请参阅带有总线的s函数构建器例如通过在MATLAB命令行输入以下命令:

    open_system (fullfile (matlabroot ' /工具箱/模万博1manbetx型/ simdemos / simfeatures / ',…“sfbuilder_bususage”))
  3. 创建一个新的Simulin万博1manbetxk模型。

  4. 在S-Function Builder中块的情况下由用户定义的函数库在库浏览器复制到新的模式。

  5. 双击块以打开S-Function Builder对话框(参见函数生成器对话框)。

  6. 使用规范和代码输入窗格上的S-Function Builder中的对话框中输入需要量身定制生成的S-功能到应用程序中的信息和自定义的源代码(见函数生成器对话框)。

  7. 请点击构建在S-Function Builder中启动构建过程。

    S-Function构建器构建一个MEX文件,该文件实现了指定的S-Function,并将文件保存在当前文件夹中(参见在S-Function Builder中如何构建一个S-功能)。

  8. 保存包含S-Function Builder中的块模式。

部署生成的S-功能

要在另一个模型中使用生成的s函数,首先检查以确保包含生成的s函数的文件夹位于MATLAB路径上。然后将用于创建S-Function的模型中的S-Function构建器块复制到目标模型中,并在必要时将其参数设置为目标模型所需的值。

或者,也可以不使用S-功能生成器块或暴露下面的C源文件部署所生成的S-功能。去做这个:

  1. 打开包含s函数的S万博1manbetximulink模型。

  2. 从用户定义的函数库在库浏览器到模型复制S-功能块。

  3. 双击S-Function块。

  4. 在打开的块参数对话框,输入由S-Function Builder中生成到可执行文件的文件名S-函数名编辑字段。

  5. 输入由S-功能需要到任何参数S-功能参数编辑字段。输入它们出现在S-Function Builder中的对话框的命令的参数。

  6. 请点击好吧在s函数块参数对话框上。

您可以使用生成的可执行文件,例如,.mexw32只要可执行文件在MATLAB路径上,则在任意模型的任何S-Function块中。

在S-Function Builder中如何构建一个S-功能

在S-函数生成器如下构建一个S-功能。首先,它产生在当前文件夹下面的源文件:

  • sfun.c

    哪里SFUN是S-功能您在指定的名称S-函数名在S-Function Builder中的对话框的领域。此文件包含所生成的S-函数的标准部分的C源代码表示。

  • sfun_wrapper.c

    此文件包含在S-Function Builder中的对话框中输入自定义代码。

  • sfun.tlc

    该文件允许生成S-函数来在Simulink快速加速器模式下运行,并允许用于代码生成期间内联S-功能。万博1manbetx此外,该文件在加速器模式的S函数生成代码,从而允许该模型来运行得更快。

  • sfun_bus.h

    如果你指定输入端口输出端口作为S-Function生成器对话框的Data Properties窗格中的总线,但不指定头文件,则S-Function生成器将自动生成此头文件。

生成S-function源代码后,S-function构建器使用墨西哥人命令来构建从生成的源代码和任何外部定义源代码和库您指定的S-函数的MEX文件表示。

这个话题有用吗?