S-функции в режиме Normal Mode Referenced Моделей

Примечание

Для получения дополнительной информации смотрите Модель-ссылку Требования и ограничения.

Когда S-функция C появляется в ссылочной модели, который выполняется в Режим normal mode, успешное выполнение невозможно, если все из следующих значений true:

  • S-функция имеет оба mdlProcessParameters функцию и mdlStart функция.

  • The mdlProcessParameters функция зависит от mdlStart функция.

  • Ссылочная модель вызывает mdlProcessParameters перед вызовом mdlStart.

Выполнение не удается из-за mdlProcessParameters имеет требования к зависимостям, которые mdlStart не удовлетворен. Автоматический анализ не может защитить от всех возможных причин такого отказа: необходимо проверить код вручную и проверить, что mdlProcessParameters никоим образом не зависит от mdlStart быть вызванным первым. Примеры такой зависимости включают:

  • Выделение памяти в mdlStart и использование этой памяти в mdlProcessParameters. Часто это делается с помощью ssSetUserData и ssGetUserData.

  • Инициализация любой DWork или любой глобальной памяти в mdlStart и чтение значений в mdlProcessParameters.

Чтобы напомнить вам, чтобы проверить на любые такие проблемы зависимостей, по умолчанию появляется сообщение об ошибке для любой S-функции, которая используется в модели, на которую ссылается Режим normal mode и содержит оба mdlProcessParameters функцию и mdlStart функция. Сообщение об ошибке не означает, что существуют какие-либо проблемы с зависимостями, а только то, что они могут существовать.

Если вы получаете такое сообщение об ошибке, проверяйте на наличие любых проблемных зависимостей в S-функции и перекодируйте по мере необходимости, чтобы устранить их. Когда таких зависимостей не существует, можно безопасно подавить сообщение об ошибке и использовать S-функцию в модели-ссылке Normal mode. Чтобы подтвердить, что S-функция совместима, и, следовательно, сообщение ненужно, включите следующий оператора в mdlInitializeSizes:

ssSetModelReferenceNormalModeSupport (S, MDL_START_AND_MDL_PROCESS_PARAMS_OK);

Для получения информации о ссылочных моделях см. «Модели-ссылки».

Поддержка использования нескольких Образцов ссылок на Модели, которые находятся в Режиме normal mode

Вам может потребоваться изменить S-функции, которые используются моделью, чтобы S-функции работали с несколькими образцами ссылочных моделей в режиме normal mode. S-функции должны явно указывать, что они поддерживают несколько exec образцы.

  • Для функций C S используйте ssSupportsMultipleExecInstances(s, true).

  • Для MATLAB® файл S-функций, использование blockSupportMultipleExecInstances = true.

Ограничения для использования S-функций с несколькими образцами ссылочных моделей в режиме normal mode совпадают с ограничениями, которые применяются к использованию S-функций с For Each Subsystem блоком.

См. также

| | |

Похожие темы