主要内容

目标语言编译过程

要为s函数编写TLC代码,您需要理解用于代码生成的目标语言编译器过程。如前所述,Simulink金宝app®软件生成一个模型.rtw包含框图执行语义部分表示的文件。的模型.rtwfile是一个ASCII文件,它包含一组嵌套的TLC记录形式的数据结构。这些记录由属性名/属性值对组成。目标语言编译器读取模型.rtw文件并将其转换为内部表示形式。

接下来,目标语言编译器运行(解释)TLC文件,首先从系统目标文件开始,例如:grt.tlc.这是系统TLC和块文件的入口点,也就是在命令行上传递给目标语言编译器的TLC文件中包含或生成的其他TLC文件(grt.tlc).在系统和块目标文件中的TLC代码运行时,它使用、追加和修改现有的属性名/属性值对和最初从模型.rtw文件。

模型.rtw结构

它的结构模型.rtw文件反映了框图的结构:

  • 对于模型中的每个非虚拟系统,都有相应的系统记录模型.rtw文件。

  • 对于非虚拟系统中的每个非虚拟块,在模型.rtw文件在相应的系统中。

的基本结构模型.rtw

CompiledModel {System {Block {DataInputPort{…} DataOutputPort{…}参数设置{…}参数{…} } } }

操作顺序

对于模型中给定块的每一次出现,对应的块记录都存在于模型.rtw文件。系统目标文件TLC代码循环遍历块记录,并调用对应块类型的块目标文件中的函数。对于内联的s -函数,它调用内联的TLC文件。

的块记录中有一个获取特定块信息的方法(内部块信息,相对于输入、输出、参数等)模型.rtw块的mdlRTW函数在C MEX函数块中的作用。

在其他事情中mdlRTW函数允许您输出参数设置(ParamSettings),即与此块相关的唯一信息。对于块TLC文件中的参数设置,可以从块TLC代码中直接访问这些字段,并可用于根据需要更改生成的代码。

相关的话题