从层次结构模型参考生成可重用的代码
一个可重用的子系统功能,输入或输出连接到根尺寸或外港块引用的模型会影响代码重用。它可以防止你在参考模型上下文中重用原子子系统以同样的方式你可能重用在一个独立的子系统模型。
这个例子展示了如何生成可重用的代码当你有一个可重用的子系统模型块引用里面。
为子系统生成可重用的代码
1。这些块转换成一个子系统。拖一个盒子来概述你想创造的子系统。从多个选项卡在将来发布模型编金宝app辑器,选择创建子系统。
2。使这些更改子系统块参数:
3所示。前三的实例创建一个模型,其中包括子系统。
4所示。设置模型配置参数默认参数的行为来内联
。
5。构建模型和生成代码,出版社Ctrl + B。
代码生成器优化函数的代码通过生成一个副本的重用子系统model.c
文件。
空白ex_codeReuseThreeSubsys_Subsystem1 (real_T rtu_In1, B_Subsystem1_ex_codeReuseThreeSubsys_T * localB){/ *获得:“< S1 > /增益”* / localB - >获得= 3.0 * rtu_In1;}
参考模型中生成子系统的可重用代码
1。创建一个顶级模型通过使用一个模型块,引用前面的模型有三个实例可重用的子系统。
2。生成的代码模型。代码生成器生成三个不同的的函数签名slprj
文件夹中。
/ *输出和更新原子系统:“< Root > /子系统1”* /空白ex_codeReuseThreeSubsys_Subsystem1 (const real_T * rtu_In1 B_Subsystem1_ex_codeReuseThreeSubsys_T * localB){/ *获得:“< S1 > /增益”* / localB - >获得= 3.0 * * rtu_In1;}/ *输出和更新原子系统:《< Root > /子系统2》* /空白ex_codeReuseThreeSubsys_Subsystem2 (real_T rtu_In1, B_Subsystem2_ex_codeReuseThreeSubsys_T * localB){/ *获得:“< S2 > /增益”* / localB - >获得= 3.0 * rtu_In1;}/ *输出和更新原子系统:' < Root > /子系统3 ' * /空白ex_codeReuseThreeSubsys_Subsystem3 (real_T rtu_In1, real_T * rty_Out1){/ *获得:“< S3 > /增益”* / * rty_Out1 = 3.0 * rtu_In1;}
3所示。使子系统功能代码重用,将信号转换模块插入引用的模型。把一块尺寸和子系统之间的1和子系统之间的另一个块3和外港。
如果子系统合并块与初始条件,不添加一个信号转换块。相反,添加一个偏见块来获得一个可重用的功能。
4所示。选择模型配置参数通过根输入固定大小的标量值代码生成。
5。生成的代码模型。代码生成器生成一个可重用的功能slprj
文件夹中。
空白ex_codeReuseSubsysSigConvert_Subsystem1 (real_T rtu_In1、B_Subsystem1_ex_codeReuseSubsysSigConvert_T * localB P_Subsystem1_ex_codeReuseSubsysSigConvert_T * localP){/ *获得:“< S1 > /增益”* / localB - >获得= localP - > Gain_Gain * rtu_In1;}