ssSetBlockReduction
要求万博1manbetx引擎试图减少一个块
语法
uint_T ssSetBlockReduction(SimStruct *S, uint_T标志)
参数
-
年代
-
SimStruct表示对象功能块。
-
国旗
-
如果不是零,Simulink万博1manbetx®引擎应尝试减少此阻塞。
返回
0
如果国旗
是0
而且1
,否则。
描述
使用这个宏请求引擎减少这个块。如果一个块可以在不影响模型行为的情况下从模型中消除,那么它就是可约的。在模型模拟期间,引擎通过跳过可简化块的执行来优化性能。具体地说,引擎不调用mdlStart
,mdlUpdate
,mdlOutputs
可约块的方法。此外,引擎执行mdlTerminate
方法,仅当该块已设置SS_OPTION_CALL_TERMINATE_ON_EXIT
选项,在模拟循环开始之前,使用ssSetOptions
.
块必须满足一定的标准才能被认为是可约的。例如,
一个块必须至少有一个输入。
一个块必须有与输入相同数量的输出,或者没有输出。
块的输入不能是总线信号。
块不能有连续状态。
当模型记录状态时,块不能具有离散状态。
一个块不能有零交叉点。
块不能有可调参数。
如果一个块未能满足这些标准中的任何一个,引擎将该块包含在模拟中,而不管该块是否请求减少。
详细信息请参见块减少Simulink文档中的参考页。万博1manbetx注意,如果你想启用死分支消除,不要请求减少块。相反,设置SS_OPTION_NONVOLATILE
选择使用ssSetOptions
.
你的s -函数必须在引擎调用s -函数之前调用这个宏mdlStart
方法(请参见中的回调流程图万博1manbetxSimulink引擎与C S-Functions的交互).这意味着你的s函数必须不晚于它的宏调用mdlSetWorkWidths
方法将被认为是块减少的候选。
语言
C, c++
另请参阅
版本历史
R2006a之前介绍