Для механизма Simulink®, чтобы определить, может ли модель наследовать шаг расчета, S-функции в образцовой потребности задать, как они используют шаги расчета. Можно указать эту информацию путем вызова макро-ssSetModelReferenceSampleTimeInheritanceRule
от mdlInitializeSizes
или mdlSetWorkWidths
. Использовать этот макрос:
Проверяйте ли S-вызовы-функции любой из них макросы:
ssGetSampleTime
ssGetInputPortSampleTime
ssGetOutputPortSampleTime
ssGetInputPortOffsetTime
ssGetOutputPortOffsetTime
ssGetSampleTimePtr
ssGetInputPortSampleTimeIndex
ssGetOutputPortSampleTimeIndex
ssGetSampleTimeTaskID
ssGetSampleTimeTaskIDPtr
Проверяйте на них в своем коде S-function TLC:
LibBlockSampleTime
CompiledModel.SampleTime
LibBlockInputSignalSampleTime
LibBlockInputSignalOffsetTime
LibBlockOutputSignalSampleTime
LibBlockOutputSignalOffsetTime
В зависимости от ваших результатов поиска используйте ssSetModelReferenceSampleTimeInheritanceRule
, как обозначено в этой таблице.
Если... | Использование... |
---|---|
Ни одни из макросов или функций не присутствуют, S-функция не устраняет модель от наследования шага расчета. |
ssSetModelReferenceSampleTimeInheritanceRule (S, USE_DEFAULT_FOR_DISCRETE_INHERITANCE) |
Любые из макросов или функций используются для:
|
ssSetModelReferenceSampleTimeInheritanceRule... (S,USE_DEFAULT_FOR_DISCRETE_INHERITANCE) |
S-функция использует свой шаг расчета для вычислительных параметров, выходных параметров, и так далее. |
ssSetModelReferenceSampleTimeInheritanceRule (S, DISALLOW_SAMPLE_TIME_INHERITANCE) |
Если S-функция не устанавливает макрос ssSetModelReferenceSampleTimeInheritanceRule
, по умолчанию механизм Simulink принимает, что S-функция не устраняет модель, содержащую ту S-функцию от наследования шага расчета. Однако механизм выдает предупреждение, указывающее, что модель включает S-функции, для которых не установлен этот макрос.
Можно использовать настройки в Параметрах конфигурации на Diagnostics> панель Sample Time, чтобы управлять, как механизм Simulink отвечает, когда это сталкивается с S-функциями, которые имеют незаданные правила наследования шага расчета. Переключите Unspecified inheritability of sample time (Simulink) диагностика к none
, warning
или error
. Значением по умолчанию является warning
.