Ограничения на поддержку функций программного обеспечения Stateflow

Simulink® Design Verifier™ не поддерживает следующий Stateflow® функции программного обеспечения. Избегайте использования этих неподдерживаемых функций в моделях, которые вы анализируете.

ml Оператор пространства имен, ml Функция, ml Выражения

Программное обеспечение не поддерживает вызовы MATLAB® функций или доступа к переменным рабочего пространства MATLAB, которые позволяет программное обеспечение Stateflow. Смотрите Доступа Функций MATLAB и данных рабочей области на C Графики (Stateflow).

Операторы C или C++

Программное обеспечение не поддерживает sizeof оператор, который позволяет программное обеспечение Stateflow.

Математические функции C

Программное обеспечение поддерживает вызовы следующих математических функций C:

  • abs

  • ceil

  • fabs

  • floor

  • fmod

  • labs

  • ldexp

  • pow (только для целочисленных экспонентов)

Программное обеспечение не поддерживает вызовы других математических функций C, что позволяет программное обеспечение Stateflow. Если включена автоматическая упругость, которой она является по умолчанию, программа устраняет эти неподдерживаемые функции во время анализа.

Для получения информации о математических функциях C в Stateflow, смотрите Вызов функций библиотеки C в графиках C (Stateflow).

Примечание

Для получения дополнительной информации об автоматическом упрямстве смотрите Handle Incompatibilities with Automatic Stubbing.

Атомарные субдиаграммы, которые вызывают экспортированные графические функции вне субдиаграммы

Программное обеспечение не поддерживает атомарные субдиаграммы, которые вызывают экспортированные графические функции, что позволяет программное обеспечение Stateflow.

Примечание

Для получения информации об экспортированных функциях смотрите Экспорт функций Stateflow для повторного использования (Stateflow).

Атомарные Субдиаграммы Входа и Выхода Отображения

Если вход или выход в атомарной субдиаграмме сопоставляется с данными уровня диаграммы других возможностей, программное обеспечение не поддерживает график, содержащую эту атомарную субдиаграмму.

Для входных входов атомарной субдиаграммы эта несовместимость применяется, когда входы сопоставляются с данными уровня диаграммы выхода, локальной области или возможностей параметра. Для атомарной субдиаграммы выхода эта несовместимость применяется, когда выход сопоставляется с данными уровня диаграммы локальных возможностей.

Рекурсия и циклическое поведение

Программное обеспечение не поддерживает рекурсивные функции, которые происходят, когда функция вызывает себя прямо или косвенно через другой вызов функции. Программное обеспечение Stateflow позволяет реализовать рекурсию с помощью графических функций.

В сложение программное обеспечение не поддерживает рекурсию, которую программное обеспечение Stateflow позволяет реализовывать, используя комбинацию вещаний событий и вызовов функций.

Примечание

Для получения информации об избежании рекурсии в диаграммах Stateflow, смотрите Избежать нежелательной рекурсии в графике (Stateflow).

Программное обеспечение Stateflow также позволяет вам создавать циклическое поведение, где последовательность шагов повторяется бесконечно. Если у вашей модели есть график с циклическим поведением, программное обеспечение не может ее анализировать.

Примечание

Для получения информации о циклическом поведении в диаграммах Stateflow, смотрите Циклическое поведение (Stateflow).

Однако можно изменить график с циклическим поведением, чтобы она была совместима, как в следующем примере.

Следующий график создаёт циклическое поведение. Состояние A вызывает состояние A1, которое транслирует Clear событие в состояние B, которое вызывает состояние B2, которое транслирует Set событие возвращается в состояние A, вызывая циклическое поведение.

Если вы меняете send вызов функции для использования ориентированных трансляций событий, чтобы события Set и Clear транслировались непосредственно в состояния B1 и A1, соответственно, циклическое поведение исчезает, и программное обеспечение может анализировать модель.

Примечание

Для получения информации о преимуществах ориентированных трансляций событий смотрите Широковещание локальных событий для синхронизации параллельных состояний (Stateflow).

Пользовательский код C/C + +

Если ваша модель состоит из пользовательского кода C/C + +, Simulink Design Verifier поддерживает анализ на основе этих настроек:

  • Если вы включите импорт пользовательского кода и пользовательских опций анализа кода, программное обеспечение поддерживает пользовательский код C/C + + для анализа. Для получения дополнительной информации смотрите Импорт пользовательского кода и Включить анализ пользовательского кода.

  • Если вы включите опцию импорта пользовательского кода, и опция анализа пользовательского кода установлена на Off, модель совместима для анализа, но вызовы пользовательского кода упрямятся во время анализа.

  • Если для опции пользовательского кода импорта задано значение Offпользовательский код не поддерживается, и модель несовместима для анализа.

Данные с машинным паром

Программное обеспечение не поддерживает родительские данные машины (т.е. определяются на уровне машины Stateflow), что позволяет программное обеспечение Stateflow.

Для получения дополнительной информации смотрите Лучшие практики для использования данных в графиках (Stateflow).

Текстовые функции с буквальными строковыми аргументами

Программа не поддерживает буквальные строковые аргументы в текстовых функциях на диаграмме Stateflow.