要为s函数编写TLC代码,您需要理解用于代码生成的目标语言编译器过程。如前所述,Simulink金宝app®软件生成一个
包含框图执行语义部分表示的文件。的模型
.rtw
file是一个ASCII文件,它包含一组嵌套的TLC记录形式的数据结构。这些记录由属性名/属性值对组成。目标语言编译器读取模型
.rtw
文件并将其转换为内部表示形式。模型
.rtw
接下来,目标语言编译器运行(解释)TLC文件,首先从系统目标文件开始,例如:grt.tlc
.这是系统TLC和块文件的入口点,也就是在命令行上传递给目标语言编译器的TLC文件中包含或生成的其他TLC文件(grt.tlc
).在系统和块目标文件中的TLC代码运行时,它使用、追加和修改现有的属性名/属性值对和最初从
文件。模型
.rtw
模型
.rtw结构它的结构
文件反映了框图的结构:模型
.rtw
对于模型中的每个非虚拟系统,都有相应的系统记录
文件。模型
.rtw
对于非虚拟系统中的每个非虚拟块,在
文件在相应的系统中。模型
.rtw
的基本结构
是模型
.rtw
CompiledModel {System {Block {DataInputPort{…} DataOutputPort{…}参数设置{…}参数{…} } } }
对于模型中给定块的每一次出现,对应的块记录都存在于
文件。系统目标文件TLC代码循环遍历块记录,并调用对应块类型的块目标文件中的函数。对于内联的s -函数,它调用内联的TLC文件。模型
.rtw
的块记录中有一个获取特定块信息的方法(内部块信息,相对于输入、输出、参数等)
块的模型
.rtwmdlRTW
函数在C MEX函数块中的作用。
在其他事情中mdlRTW
函数允许您输出参数设置(ParamSettings
),即与此块相关的唯一信息。对于块TLC文件中的参数设置,可以从块TLC代码中直接访问这些字段,并可用于根据需要更改生成的代码。