主要内容

使用总线信号s函数构建器创建一个函数

这一主题将向您展示如何创建一个总线信号并将其连接到一个函数生成器。最后,您将使用s函数构建器来构建一个简单的C墨西哥人功能。

s函数构建器是一个仿真软件金宝app®块集成C / c++代码来构建一个功能根据您提供的规格和C代码。s函数构建器也是一个包装器生成的函数模型,利用s函数。学习更多关于s函数生成器,明白了使用功能Builder构建S-Functions自动。看到更多的例子如何使用s函数构建器,类型sfundemos在MATLAB®命令窗口,然后导航到c文件S-functions>s函数生成器

  1. 开始建立你的s函数通过设置当前文件夹的文件夹你想创建一个函数。然后,将这个文件夹添加到MATLAB的道路。

    mkdirnewSfun目录(fullfile (pwd,“newSfun”cd ())“newSfun”)

  2. 如果你想连接一个总线信号的输入或输出端口s函数生成器,您必须首先创建一个对象。您可以创建一个总线对象交互地使用仿真软件总线编辑器(参见金宝app创建并指定仿真软件。金宝app总线对象)。或者,您可以使用金宝appSimulink.Bus:

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

      一个= 金宝appSimulink.Bus

      结果,HeaderFile公共汽车默认为空的特征向量:

      一个= 金宝appSimulink.BusDescription: '' HeaderFile: '' Elements: [0x1 double]
    2. 如果你想指定头文件的公共汽车,然后在MATLAB命令窗口中,输入以下:

      一个。Headerfile = 'Busdef. h”

      如果你不指定头文件,模型自动生成金宝appSfunctionname_bus.h

    示范如何使用s函数构建器与一辆公交车,在MATLAB命令窗口输入以下命令:

    open_system (fullfile (matlabroot,' /工具/模型/ 金宝appsimdemos / simfeatures / sfbuilder_bususage '))

  3. 创建一个新的仿真软件模型。金宝app单击画布和类型函数生成器创建的实例s函数生成器块。另外,拖拽的功能建筑块用户定义函数图书馆在图书馆浏览器进入新模式。

  4. 单击画布和类型函数生成器或复制功能建筑块的一个实例用户定义函数图书馆到新模型。

  5. 双击打开编辑器功能构建器。

  6. 使用规范和代码输入窗格的s函数生成器对话框输入信息和自定义源代码需要定制应用程序生成的功能。

  7. 检查总线信号是否在指定的上部和更低的饱和限制。这样做,创建了两个输入和两个输出端口,和分配端口根据下表:

  8. 填满Outputs_wrapper函数的逻辑代码。见示例代码:

    空白sfbuilder_bus_Outputs_wrapper (const SFB_COUNTERBUS *情况,const int32_T * u1, const SFB_COUNTERBUS * y0, int32_T * y1) {/ * Output_BEGIN * / int32_T限制;boolean_T inputGElower;/ *极限是SFB_SIGNALBUS之和。输入第二个输入(u1) * /限制=情况- > inputsignal。输入+ * u1;/ *如果SFB_SIGNALBUS检查。极限是> = LIMITBUS。lower_saturation_limit * / inputGElower =(> =情况- > limits.lower_saturation_limit限制);如果(情况- >限制。upper_saturation_limit > =限制)& & inputGElower){*日元=限制;其他}{如果(inputGElower){限制=情况- > limits.upper_saturation_limit;其他}{限制=情况- > limits.lower_saturation_limit; } *y1 = limit; } y0->inputsignal.input = *y1; y0->limits = u0->limits; /* Output_END */ }
  9. 单击下箭头构建并选择生成TLC包装为你创建一个包装器代码生成功能。

  10. 点击构建s函数构建器启动构建过程。

    s函数构建器构建一个墨西哥人文件,实现了指定的功能,并将文件保存在当前文件夹(参见功能如何Builder构建一个功能)。

  11. 保存模型包含s函数生成器。

功能如何Builder构建一个功能

s函数构建器构建一个功能通过生成下面的源文件在当前文件夹:

  • sfun.c这个文件包含标准的C源代码表示部分生成的功能。

  • sfun_wrapper.c——这个文件包含的自定义代码中输入函数构建器对话框。

  • sfun.tlc——这个文件允许生成的功能在仿真软件中运行金宝app快速的加速器模式,允许内联函数在代码生成。此外,该文件生成代码的功能加速器模式允许模型运行得更快。

  • sfun_bus.h——如果你指定的任何输入端口输出端口作为一个公共汽车的港口和参数表,但没有指定头文件,然后s函数生成器自动生成头文件。

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

部署生成的功能

使用生成的功能在另一个模型中,首先检查以确保包含生成的文件夹功能在MATLAB的道路。然后,复制功能建筑块从模型用于创建功能到目标模型。如果有必要,将目标模型的目标模型所需的参数值。

或者,您可以部署生成的s函数不使用s函数构建器块或暴露底层C源文件。

  1. 打开模型模型,该模金宝app型将包括功能。

  2. 单击画布创建一个实例的功能块,或复制的功能块用户定义函数图书馆在图书馆浏览器到模型中。

  3. 双击功能块。

  4. 块的参数对话框,打开时,功能名称编辑字段中,输入函数生成的可执行文件的名称生成器。

  5. 输入任何参数的功能功能参数编辑字段。在它们出现的顺序输入参数的函数生成器对话框。

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

通过创建一个块的生成的功能,你也可以为你创建一个面具功能块。更多地了解如何为您的s函数添加一个面具,看到的创建块面具。看到的一个例子块面具被添加到一个函数,在MATLAB命令窗口输入以下命令。

open_system (fullfile (matlabroot,' /工具/模型/ 金宝appsimdemos / simfeatures / sfcndemo_matadd '));

您可以使用任何功能块模型中生成的可执行文件只要MATLAB上的可执行文件路径。

另请参阅

|

相关的话题