ssSetOperatingPointCompliance

Задайте поведение S-функции Simulink при сохранении и восстановлении рабочей точки модели, содержащей S-функцию

Синтаксис

void ssSetOperatingPointCompliance(S, setting)

Аргументы

S

SimStruct, представляющий Блок s-function.

setting

Задайте, как обработать состояние симуляции S-функции при сохранении и восстановлении состояния симуляции модели. Допустимые значения:

  • OPERATING_POINT_COMPLIANCE_UNKNOWN (значение по умолчанию)

  • USE_DEFAULT_OPERATING_POINT

  • USE_EMPTY_OPERATING_POINT

  • DISALLOW_OPERATING_POINT

  • USE_CUSTOM_OPERATING_POINT

Описание

ssSetOperatingPointCompliance позволяет вам задавать, как Simulink® должен обработать S-функцию во время сохранения и восстановления снимка состояния симуляции модели (ModelOperatingPoint).

Если S-функция не задает свой OperatingPointCompliance, то Simulink принимает установку OPERATING_POINT_COMPLIANCE_UNKNOWN. Эта установка дает Simulink команду выдавать предупреждение и затем переключаться на USE_DEFAULT_OPERATING_POINT вместо OPERATING_POINT_COMPLIANCE_UNKNOWN.

Если опция установлена в OP_COMPLIANCE_DEFAULT и если S-функция не использует PWorks, то Simulink обрабатывает S-функцию как встроенный блок. Simulink сохраняет и восстанавливает те же данные как рабочая точка (например, непрерывные состояния, нецарапина векторы DWork и нуль, пересекающий информацию сигнала), как это было бы для встроенного блока. Если S-функция имеет Pworks, не устанавливая результаты соответствия по ошибке на сохранении рабочей точки. Используйте пользовательское соответствие, USE_CUSTOM_OPERATING_POINT, чтобы сохранить данные в Pworks.

Языки

C, C++

Пример

Используйте функцию ssSetOperatingPointCompliance, чтобы задать соответствие состояния симуляции S-функции в методе mdlInitializeSizes. Спецификация основана на первом значении параметров вектора символов.

static void mdlInitializeSizes(SimStruct* S)
{
    ssSetNumSFcnParams(S, 2); /* two parameters */
    if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) 
			return;
    ssSetSFcnParamTunable(S, 0, false);
    ssSetSFcnParamTunable(S, 1, false);

    {
        boolean_T visibility = 0U;
        ssSimStateCompliance setting =
            GetSimSnapParameterSetting(S, &visibility);
        if (ssGetErrorStatus(S)) return;

        ssSetOperatingPointCompliance(S, setting);
        ssSetOperatingPointVisibility(S, visibility);
    }

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте