Определите, запросил ли блок сокращение блоков до начала моделирования и действительно ли оно было уменьшено после начала цикла моделирования
uint_T ssGetBlockReduction(SimStruct *S)
SSimStruct представляет S-функциональный блок.
Результат этой функции зависит от момента ее вызова. При вызове перед началом цикла моделирования, т.е. в mdlSetWorkWidths или ранее, этот макрос возвращает 1 если блок ранее запросил его уменьшение. При вызове после начала цикла моделирования этот макрос возвращается 1 если блок был фактически уменьшен, то есть исключен из списка блоков, которые должны быть выполнены во время цикла моделирования. В противном случае возвращает 0.
Используется для определения, требуется ли сокращение блока, или для определения того, был ли блок уже уменьшен.
Примечание
Если блок был уменьшен, единственным методом обратного вызова, вызванным для блока после начала цикла моделирования, является метод mdlTerminate способ. Кроме того, модуль Simulink ® вызывает mdlTerminate метод, только если блок установил SS_OPTION_CALL_TERMINATE_ON_EXIT опция, использование ssSetOptions. Таким образом, если ваш блок должен определить, действительно ли он был уменьшен, он должен установить SS_OPTION_CALL_TERMINATE_ON_EXIT опция перед началом цикла моделирования и вызовом ssGetBlockReduction в своем mdlTerminate способ.
C, C++