文档

构建S-Functions自动

关于自动生成s -功能

S-Function Builder是一个Simulin金宝appk®代码块集成了C/ c++代码,根据您提供的规范和C代码构建s -函数。S-Function Builder还可以作为使用S-Function的模型中生成的S-Function的包装器。本节解释如何使用S-Function Builder来构建简单C墨西哥人S-functions。

请注意

关于使用S-Function Builder构建S-Function的示例,请参见Simulink产品提供的S-Function示例的C文件S-functions子系统。金宝app要显示示例,输入sfundemos在MATLAB®命令行(见s函数的例子的更多信息)。

使用S-function Builder构建一个S-function:

  1. 将MATLAB当前文件夹设置为要创建s函数的文件夹。

    请注意

    这个文件夹必须在MATLAB路径上。

  2. 如果您希望将总线信号连接到S-Function Builder的输入或输出端口,则必须首先创建一个总线对象。您可以使用Simulink总线编辑器以交互方式执行此任务(参见金宝app创建和指定总线对象.或者,您可以使用金宝app仿真软件。公共汽车如下。

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

      一个=仿金宝app真软件。公共汽车

      因此,HeaderFileFor总线默认为空字符向量:

      一个=仿金宝app真软件。公共汽车Description: '' HeaderFile: '' Elements: [0x1 double]
    2. 如果你想指定总线的头文件,那么在MATLAB命令行中:

      a.Headerfile = 'Busdef. h”

      如果不指定头文件,Simulink会自动生成金宝appSfunctionname_bus.h

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

    open_system (fullfile (matlabroot ' /工具箱/模金宝app型/ simdemos / simfeatures / ',…“sfbuilder_bususage”))
  3. 创建一个新的Simulin金宝appk模型。

  4. 将库浏览器中的用户定义函数库中的S-Function Builder块实例复制到新模型中。

  5. 双击该块以打开S-Function Builder对话框(参见s功能构建器对话框).

  6. 使用S-Function Builder对话框上的规范和代码输入窗格来输入信息和自定义源代码,以便根据应用程序定制生成的S-Function(请参阅s功能构建器对话框).

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

    S-Function Builder构建一个实现指定S-Function的MEX文件,并将该文件保存在当前文件夹中(参见s函数生成器如何构建一个s函数).

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

部署生成的S-Function

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

或者,您可以部署生成的S-function,而不使用S-function Builder块或公开底层C源文件。要做到这一点:

  1. 打开包含s函数的S金宝appimulink模型。

  2. 将库浏览器中的用户定义函数库中的S-Function块复制到模型中。

  3. 双击S-Function块。

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

  5. 将s函数所需的任何参数输入功能参数编辑字段。按照参数在S-Function Builder对话框中出现的顺序输入参数。

  6. 点击好吧在“功能块参数”对话框中。

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

s函数生成器如何构建一个s函数

S-Function Builder构建如下S-Function。首先,它在当前文件夹中生成以下源文件:

  • sfun.c

    在哪里sfun中指定的s函数的名称是功能名称字段。这个文件包含生成的s函数的标准部分的C源代码表示形式。

  • sfun_wrapper.c

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

  • sfun.tlc

    该文件允许生成的s函数在Simulink Rapid Accelerator模式下运行,并允许在代码生成期金宝app间内联s函数。此外,该文件在Accelerator模式下为S-function生成代码,从而使模型运行得更快。

  • sfun_bus.h

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

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