文档

全球数据声明和定义单独的文件

这些例子展示了如何控制数据项的文件位置(信号、参数和状态),应用存储类和自定义存储类。

在单一文件默认位置多个数据项

默认情况下,生成的声明和定义单个数据项通常出现在源文件的模型。这个例子展示了如何模块化的代码把这些全局数据在一个单独的文件。

打开示例模型rtwdemo_basicsc

open_system (“rtwdemo_basicsc”)

模型底部的工作区中创建数值变量。块模型中使用这些变量设置参数值(如获得参数的获得块)。信号和块的一些州在模型中有明确的名称,如input1

  1. 选择数据对象代码> >数据对象向导

  2. 在数据对象向导中,单击找到。数据对象向导提出的创建金宝appSimulink.Parameter对象来替换工作空间变量和创建金宝appSimulink.Signal对象来表示指定的信号和状态。

  3. 点击选择所有创建。数据对象向导创建数据对象的基本工作空间。您可以使用这些对象指定代码生成设置相应的信号,在模型中参数和状态。

  4. 在模型浏览器中模型层次结构窗格中,选择基本工作空间

  5. 内容窗格中,设置列视图存储类

  6. 所有的数据对象,使用StorageClass列应用定制的存储类默认的。使用这个自定义存储类,每个数据对象出现在生成的代码作为一个单独的全局变量。

  7. 在模型中,集配置参数> >系统目标文件生成代码ert.tlc。这个设置,代码生成器荣誉定制的存储类等默认的

  8. 指定全球数据项被定义在一个单独的文件。集配置参数> >代码位置>数据定义生成代码数据中定义一个单独的源文件。接受默认的数据定义文件名,global.c

  9. 指定数据被宣布为一个单独的文件中。集数据声明一个单独的头文件中声明的数据并接受默认的申报的数据文件名,global.h。然后,单击应用

  10. 从模型中生成代码。注意,代码生成报告列表global.cglobal.h文件。

  11. 检查代码生成报告。注意:

  • 全球数据定义,参数,初始化global.c

  • 该文件rtwdemo_basicsc.c包括(#包括)rtwdemo_basicsc.h

  • 该文件rtwdemo_basicsc.h包括global.h

每个数据项在单个文件中

在上一个示例中,将全局数据在一个单独的定义文件和一个声明文件。你的名字的文件global.cglobal.h。您可以覆盖这个规范,并将每个数据项的文件。在这个例子中,移动输出一个文件命名的信号outputsig.c。保持中定义的其他数据global.c

  1. 在当前文件夹,删除slprj子文件夹。

  2. 在Model Explorer,工作区并选择显示基地输出信号对象。的金宝appSimulink.Signal属性出现在右窗格中。

  3. 代码生成选项节中,设置存储类ExportToFile。集HeaderFileoutputsig.hDefinitionFileoutputsig.c。点击应用

  4. 从模型中生成代码。代码生成的报告仍然列表global.cglobal.h,但补充说outputsig.coutputsig.h

  5. 检查新文件。的输出信号定义outputsig.c。其他数据还中定义global.c

另请参阅

|

相关的话题

这个主题有帮助吗?