Примечание
Дополнительные сведения см. в разделе Ссылочные требования и ограничения модели.
При появлении C S-функции в ссылочной модели, которая выполняется в нормальном режиме, успешное выполнение невозможно, если все из следующих действий верны:
S-функция имеет оба mdlProcessParameters функцию и mdlStart функция.
mdlProcessParameters функция зависит от mdlStart функция.
Вызовы ссылочной модели mdlProcessParameters перед вызовом mdlStart.
Не удалось выполнить, так как mdlProcessParameters имеет требования к зависимостям, которые mdlStart не удовлетворен. Автоматизированный анализ не может предотвратить все возможные причины такого сбоя: необходимо проверить код вручную и убедиться, что mdlProcessParameters никоим образом не зависит от mdlStart быть вызванным первым. Примеры такой зависимости включают в себя:
Выделение памяти в mdlStart и использование этой памяти в mdlProcessParameters. Это часто делается с помощью ssSetUserData и ssGetUserData.
Инициализация любого DWork или любой глобальной памяти в mdlStart и считывание значений в mdlProcessParameters.
Чтобы напомнить вам проверить наличие таких проблем зависимости, по умолчанию появляется сообщение об ошибке для любой S-функции, которая используется в ссылочной модели нормального режима и содержит оба mdlProcessParameters функцию и mdlStart функция. Сообщение об ошибке не означает, что существуют какие-либо проблемы зависимости, но только то, что они могут существовать.
Если вы получаете такое сообщение об ошибке, проверьте наличие каких-либо проблемных зависимостей в S-функции и перекодируйте их по мере необходимости. Если таких зависимостей не существует, можно безопасно подавить сообщение об ошибке и использовать S-функцию в ссылочной модели нормального режима. Чтобы подтвердить, что S-функция соответствует, и поэтому сообщение не требуется, включите следующую инструкцию в mdlInitializeSizes:
ssSetModelReferenceNormalModeSupport (S, MDL_START_AND_MDL_PROCESS_PARAMS_OK);
Сведения о ссылочных моделях см. в разделе Основы ссылочных моделей.
Возможно, потребуется изменить S-функции, используемые моделью, чтобы S-функции работали с несколькими экземплярами ссылочных моделей в обычном режиме. S-функции должны явно указывать, что они поддерживают несколько exec экземпляры.
Для C S-функций используйте ssSupportsMultipleExecInstances(s, true).
Для файловых S-функций MATLAB ® используйтеblockSupportMultipleExecInstances = true.
Ограничения для использования S-функций с несколькими экземплярами ссылочных моделей в обычном режиме аналогичны ограничениям для использования S-функций с блоком «Для каждой подсистемы».
Level-2 S-функция MATLAB | Функция MATLAB | S-функция | Построитель S-функций