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