Для механизма 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Предупреждение, или error. Значением по умолчанию является warning.