Поддержите ограничения для программных функций 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).

Примечание

Для получения дополнительной информации об автоматическом блокировании, смотрите Несовместимости Указателя с Автоматическим Блокированием.

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

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

Примечание

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

Атомарное отображение ввода и вывода подграфика

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

Для атомарного входа подграфика применяется эта несовместимость, когда вход сопоставляет с данными уровня графика выхода, локального, или осциллограф параметра. Для атомарного подграфика выход применяется эта несовместимость, когда выход сопоставляет с данными уровня графика локального осциллографа.

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

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

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

Примечание

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

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

Примечание

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

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

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

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

Примечание

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

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

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

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

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

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

Порожденные машиной данные

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

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

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

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