Simulink生成代码——子系统生成函数
在simulink中生成代码时,实现子系统生成单独的函数。以下图中的模型为例:
创建子系统:
创建子系统时,设置为原子子系统,否则只是将系统进行简单的组合(group),在创建原子子系统之后,对代码生成项进行设置:
设置为可重用函数,对函数进行命名。设置为不可重用函数的时候,可设置函数参数为void。生成代码如下:
/* Output and update for atomic system: '<Root>/Subsystem' */
30 static real_T userAdd(real_T rtu_para1, real_T rtu_para2)
31 {
32 /* Sum: '<S1>/Add' */
33 return rtu_para1 + rtu_para2;
34 }
35
36 /* Model step function */
37 void test01_step(void)
38 {
39 /* Outputs for Atomic SubSystem: '<Root>/Subsystem' */
40
41 /* Outport: '<Root>/Output' incorporates:
42 * Inport: '<Root>/para1'
43 * Inport: '<Root>/para2'
44 */
45 test01_Y.Output = userAdd(test01_U.para1, test01_U.para2);
46
47 /* End of Outputs for SubSystem: '<Root>/Subsystem' */
48 }
Simulink为子系统创建了一个可重用的函数,在step函数中调用了函数。