S-функции, которыми управляет наследование Настройки времени выборки

Для механизма Simulink®, чтобы определить, может ли модель наследовать шаг расчета, S-функции в потребности модели задать, как они используют шаги расчета. Можно указать эту информацию путем вызова макро-ssSetModelReferenceSampleTimeInheritanceRule от mdlInitializeSizes или mdlSetWorkWidths. Использовать этот макрос:

  1. Проверяйте ли S-вызовы-функции любой из них макросы:

    • ssGetSampleTime

    • ssGetInputPortSampleTime

    • ssGetOutputPortSampleTime

    • ssGetInputPortOffsetTime

    • ssGetOutputPortOffsetTime

    • ssGetSampleTimePtr

    • ssGetInputPortSampleTimeIndex

    • ssGetOutputPortSampleTimeIndex

    • ssGetSampleTimeTaskID

    • ssGetSampleTimeTaskIDPtr

  2. Проверяйте на них в своем коде S-function TLC:

    • LibBlockSampleTime

    • CompiledModel.SampleTime

    • LibBlockInputSignalSampleTime

    • LibBlockInputSignalOffsetTime

    • LibBlockOutputSignalSampleTime

    • LibBlockOutputSignalOffsetTime

  3. В зависимости от ваших результатов поиска используйте ssSetModelReferenceSampleTimeInheritanceRule как обозначено в этой таблице.

    Если...Использование...
    Ни одни из макросов или функций не присутствуют, S-функция не устраняет модель от наследования шага расчета.
    ssSetModelReferenceSampleTimeInheritanceRule
        (S, USE_DEFAULT_FOR_DISCRETE_INHERITANCE)

    Любые из макросов или функций используются в:

    • Бросок ошибок, если шаг расчета наследован, непрерывен, или постоянный

    • Проверка ssIsSampleHit

    • Проверка, наследован ли шаг расчета в любом mdlSetInputPortSampleTime или mdlSetOutputPortSampleTime перед установкой

    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.

Похожие темы