Прикладной программный интерфейс (API) Stateflow® является инструментом, который вы используете, чтобы создать или изменить диаграммы Stateflow посредством команд MATLAB®. Путем размещения команд API Stateflow в скрипт MATLAB можно автоматизировать процессы редактирования графика в одной команде.
Приложения для API Stateflow включают:
Создание скрипта, который выполняет общие графические редактирования и упрощает редактирование диаграмм Stateflow
Создание скрипта, который создает повторяющуюся "основную" диаграмму Stateflow
Создание скрипта, который представляет специализированный отчет модели
API Stateflow состоит из объектов, которые представляют графические и неграфические объекты диаграммы Stateflow. Например, объект API типа State
и Transition
представляйте состояния и переходы в диаграмме Stateflow. Соответствие между объектами API и объектами в графике двунаправлено. Когда вы изменяете свойство объекта API или вызываете один из его методов, вы влияете на соответствующий объект в диаграмме Stateflow. Когда вы используете редактора Stateflow, чтобы выполнить операцию на объекте в графике, вы влияете на соответствующий объект API.
Вы не можете отменить операцию в редакторе Stateflow, что вы выполняете использование API Stateflow. Если вы выполняете операцию редактирования через API, отмену и восстанавливаете кнопки, отключены от отмены и восстановления любых предшествующих операций.
Объекты API Stateflow содержат или содержатся в других объектах API. Например, если A
состояния содержит
B
состояния в диаграмме Stateflow, затем объект API для
A
состояния содержит объект API для
B
состояния. Правила включения задают иерархию Stateflow и иерархию объектов API Stateflow. Например, графики могут содержать состояния, но состояния не могут содержать графики. Для получения дополнительной информации см. Обзор Объектов Stateflow.
Эта схема показывает иерархию API Stateflow объектов.
Иерархия API Stateflow состоит из этих слоев включения:
Корень — Root
объект является родительским элементом всех объектов API Stateflow. Это - заполнитель наверху иерархии API Stateflow, чтобы отличить объекты Stateflow от объектов модели Simulink®. Вы автоматически создаете Root
возразите, когда вы загрузите модель Simulink, содержащую диаграмму Stateflow, или вызовете функциональный sfnew
создать модель с диаграммой Stateflow.
Машина — машина Stateflow содержит все графики в модели Simulink. Machine
объекты эквивалентны моделям Simulink с точки зрения Stateflow. Весь Machine
объекты содержатся в Root
объект. Machine
объекты могут содержать Chart
объекты, которые представляют диаграммы Stateflow, таблицы переходов состояний и блоки таблицы истинности.
График — В любом Machine
объект там может быть любым количеством Chart
объекты. Каждый объект типа Chart
может содержать объекты, которые представляют состояния, переходы, соединения, поля, функции, аннотации, данные, события и сообщения. Эти объекты представляют компоненты диаграммы Stateflow.
Состояния, Функции и Поля — Вложенный в объектах типа State
функция
, и Box
, могут быть другие объекты, которые представляют состояния, переходы, соединения, поля, функции, аннотации, данные, события и сообщения. Уровни вложения могут продолжиться неопределенно.
Иерархическая схема показывает два типов объектов, которые существуют за пределами иерархии включения Stateflow:
Редактор — Хотя не часть иерархии включения Stateflow, объект типа Editor
обеспечивает доступ к чисто графическим аспектам объектов типа Chart
. Для каждого Chart
объект, существует Editor
объект, который обеспечивает доступ к API к редактору Stateflow. Для получения дополнительной информации смотрите, Изменяют Graphical Properties Вашего Графика.
Буфер обмена — Clipboard
объект имеет два метода, copy
и pasteTo
, то использование буфер обмена как район сосредоточения войск, чтобы реализовать копию и функциональность вставки в API Stateflow. Для получения дополнительной информации см. Копию и Вставку Объекты Stateflow.
Вы управляете объектами Stateflow путем управления объектами API Stateflow, которые представляют их. Вы управляете объектами API Stateflow через переменную MATLAB, названную указателем.
Первый указатель, в котором вы нуждаетесь в API Stateflow, является указателем на Root
объект, который является родительским элементом всех объектов в API Stateflow. В этой команде, функциональном sfroot
возвращает указатель на Root
объект:
rt = sfroot
Если у вас есть Root
указатель на объект, можно найти указатель на Объект модели для машины Stateflow, с которой вы хотите работать. Если у вас есть указатель на Machine
объект, можно найти указатель на Chart
объект для графика вы хотите отредактировать. Позже, когда вы создаете объекты или находите существующие объекты в диаграмме Stateflow, вы получаете указатель на объект, который можно использовать, чтобы управлять фактическим объектом в редакторе Stateflow.
Чтобы изучить, как использовать указатели на объект API, чтобы создать и отредактировать диаграммы Stateflow, смотрите, Создают Графики при помощи API Stateflow.
Если вы получаете указатели на объекты API Stateflow, можно управлять объектами Stateflow, что они представляют через свойства и методы, которыми обладает каждый объект Stateflow API. Вы получаете доступ к свойствам и методам объекта через указатель на объект.
Свойства API соответствуют значениям, которые вы обычно устанавливаете для объекта через пользовательский интерфейс редактора Stateflow. Например, можно сменить положение перехода путем изменения Position
свойство Transition
объект, который представляет переход. В редакторе Stateflow можно перетащить нажатие кнопки источник, конец или среднюю точку перехода, чтобы сменить его положение.
Методы API похожи на функции для создания, открытия, изменения или удаления объектов, которым они принадлежат. Они предоставляют услуги, которые обычно предоставляются редактором Stateflow. Например, можно удалить переход в редакторе Stateflow путем вызова delete
метод Transition
объект, который представляет переход. Удаление перехода в редакторе Stateflow обычно делается путем выбора перехода и нажатия клавиши DELETE.
Объекты API Stateflow имеют некоторую общую собственность и методы. Например, все объекты API имеют Id
и Description
свойство. Все объекты API имеют get
и set
метод для просмотра или изменения свойств объекта, соответственно. Большинство объектов API также имеет delete
метод.
Каждый объект API также имеет свойства и методы, уникальные для его типа. Например, State
объект имеет Position
свойство, содержащее пространственные координаты для состояния, это представляет в редакторе Stateflow. Data
объект, однако, не имеет никакого Position
свойство.