Диаграммы Stateflow ® в моделях Simulink ® имеют свойство языка действий, определяющее синтаксис действий состояния и перехода. Значок в левом нижнем углу холста диаграммы указывает язык действий для диаграммы.
MATLAB ® в качестве языка действий.
C как язык действий.
MATLAB - это синтаксис языка действий по умолчанию для новых диаграмм Stateflow. Чтобы создать диаграмму, использующую C в качестве языка действий, введите:
sfnew -cВ этой таблице перечислены наиболее существенные различия в функциональности двух языков действий.
| Функциональность | MATLAB как язык действий | C как язык действий |
|---|---|---|
Индексация вектора и матрицы | Одноосновное индексирование, разделенное скобками и запятыми. Например, | Индексация по нулю, ограниченная квадратными скобками. Например, |
Конструкции C:
| Автоматическая коррекция синтаксиса MATLAB. Например, | Поддерживается. См. раздел Поддерживаемые операции для данных диаграммы. |
Операторы управления условиями и контурами в действиях состояния | Поддерживается. Например, можно использовать | Не поддерживается. Вместо условных шаблонов и шаблонов циклов используйте графические функции. См. раздел Повторное использование логических шаблонов путем определения графических функций. |
Формат действий перехода | Автокоррекция заключает действия перехода с раскосами | Не требуется заключать действия перехода с раскосами |
Упорядочение параллельных состояний | Только явное упорядочение. См. раздел Порядок выполнения для параллельных состояний. | Явное или неявное упорядочение. См. раздел Порядок выполнения для параллельных состояний. |
Данные переменного размера | Доступ и изменение входных, выходных и локальных данных переменного размера в действиях состояния и перехода. | Доступ и изменение входных и выходных данных переменного размера с помощью:
Все вычисления с данными переменного размера должны выполняться внутри этих функций, а не непосредственно в состояниях или переходах. Дополнительные сведения см. в разделе Рекомендации по использованию данных переменного размера. |
Конструкции с фиксированной точкой:
| Не поддерживается. | Поддерживается. См. разделы Переопределение продвижения с фиксированной точкой в диаграммах C и контекстно-зависимые константы с фиксированной точкой. |
Сложные данные | Использовать нотацию комплексного числа | Используйте |
Распространение типа данных | Следует правилам ввода MATLAB. Например, добавление данных типа | Следует правилам типизации C. Например, добавление данных типа |
Явные операции приведения типа | Используйте одну из следующих форм литья: | Используйте одну из следующих форм литья:
Введите ключевые слова для |
| Скалярное расширение | Не поддерживается. | Поддерживается. См. раздел Назначение значений всем элементам матрицы. |
| Строковые данные | Не поддерживается. | Поддерживается. См. раздел Управление текстовой информацией с помощью строк. |
Спецификация свойств данных:
| Не поддерживается. | Поддерживается. Дополнительные сведения см. в разделе:
|
Объем данных в графических функциях, таблицах истинности и MATLAB | Constant, Parameter, Input, Output | Local, Constant, Parameter, Input, Output, Temporary |
Точечная нотация для указания состояний, локальных данных, сообщений и локальных событий в функциях MATLAB | Поддерживается. См. раздел Идентификация данных с помощью точечного обозначения. | Не поддерживается. |
| Функции и переменные пользовательского кода | Поведение зависит от параметра конфигурации Импорт пользовательского кода.
См. разделы Пользовательский код и Импорт пользовательского кода (Simulink). | Пользовательские функции и переменные кода поддерживаются в состояниях и переходах. |
| Макет основного массива строк в сгенерированном коде | Не поддерживается. | Поддерживается. См. раздел Компоновка основного массива строк. |
| Компоновка многомерного массива в сгенерированном коде | Не поддерживается. | Поддерживается для локальных данных. См. раздел Компоновка многомерного массива. |
Параметры структуры | Поддерживаются настраиваемые и не настраиваемые параметры. | Поддерживаются только настраиваемые параметры. |
Использование глобальных | Поддерживается. | Не поддерживается. |