主要内容

内联不变的信号

你可以通过选择优化生成的代码内联不变的信号优化窗格。生成的代码使用的数值不变的信号,而不是他们的符号名称。

一个不变的信号是一个块输出信号,在仿真软件并没有改变万博1manbetx®模拟。例如,信号S3是一个不变的信号。一个不变的信号不一样的是吗不变的常数。两个常数(1和2)和3的增益值是不变的常数。内联不变的常数,集默认参数的行为内联

优化生成的代码使用内联不变的信号

这个例子展示了如何使用内联优化生成的代码不变的信号。这种优化将符号名称不变的信号转换为恒定值。

InlineInvariantSignals优化:

  • 减少消费ROM和RAM。

  • 提高执行速度。

示例模型

考虑到模型rtwdemo_inline_invariant_signals

模型=“rtwdemo_inline_invariant_signals”;open_system(模型);

生成代码

创建一个临时文件夹(在你的系统临时文件夹)的构建和检验过程。

currentDir = pwd;[~,cgDir] = rtwdemodir ();

使用仿真软件编码器构建模型。万博1manbetx

slbuild(模型)
# # #开始构建过程:rtwdemo_inline_invariant_signals # # #成功完成构建过程:rtwdemo_inline_invariant_signals模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_inline_invariant_signals代码生成和编译代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米14.967秒

查看生成的代码没有优化。这些代码行rtwdemo_inline_invariant_signals.c

用= fullfile (cgDir,“rtwdemo_inline_invariant_signals_grt_rtw”,“rtwdemo_inline_invariant_signals.c”);rtwdemodbtype(用/ *输出和更新原子系统的,/ *模型输出的1 0);
/ *输出和更新原子系统:“< Root > / InlinedConstFcn”* /空白rtwdemo_inline__InlinedConstFcn (int32_T rtu_In1 B_InlinedConstFcn_rtwdemo_inl_T * localB, const ConstB_InlinedConstFcn_rtwdem_T * localC){/ *产品:“< S1 > /产品”* / localB - >产品= rtu_In1 * localC - > Sum_p;}

启用优化

  1. 打开配置参数对话框。

  2. 优化窗格中,选择内联不变的信号

或者,您可以使用命令行API启用优化:

set_param(模型,“InlineInvariantSignals”,“上”);

生成代码的优化

生成的代码使用折叠的数值常量而不是创建一个额外的结构(rtwdemo_inline_invariant_ConstB)。

使用仿真软件编码器构建模型。万博1manbetx

slbuild(模型)
# # #开始构建过程:rtwdemo_inline_invariant_signals # # #成功完成构建过程:rtwdemo_inline_invariant_signals模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = rtwdemo_inline_invariant_signals代码生成和编译生成的代码是过时了。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米10.858秒

查看生成的代码的优化。这些代码行rtwdemo_minmax.c

rtwdemodbtype(用/ *输出和更新原子系统的,/ *模型输出的1 0);
/ *输出和更新原子系统:“< Root > / InlinedConstFcn”* /空白rtwdemo_inline__InlinedConstFcn (int32_T rtu_In1 B_InlinedConstFcn_rtwdemo_inl_T * localB){/ *产品:“< S1 > /产品”* / localB - >产品= rtu_In1 < < 5;}

关闭模型和代码生成报告。

bdclose rtwdemoclean(模型);cd (currentDir)

另请参阅

相关的话题