Создайте и удалите объекты Stateflow

Stateflow® API состоит из объектов, которые представляют графические и неграфические объекты диаграммы Stateflow. Например, объекты API типа Stateflow.State и Stateflow.Transition представляйте состояния и переходы в диаграмме Stateflow.

Создайте объекты Stateflow

Объекты API Stateflow организованы в иерархии включения, описанной в Иерархии Объектов API Stateflow. Чтобы создать объект Stateflow как дочерний элемент родительского объекта, вы начинаете путем доступа к родительскому объекту. Затем используйте родительский объект в качестве входного параметра к функции, которая создает th дочерний объект. Например, чтобы добавить новый Stateflow.State объект в Stateflow.Chart возразите, выполните эти шаги:

  1. Доступ к родительскому объекту ch как описано в доступе к Объектам в Вашей диаграмме Stateflow.

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

    st = Stateflow.State(ch);
  3. Отобразите новое состояние в редакторе Stateflow путем вызова view функция. Используйте Stateflow.State возразите в качестве аргумента против функции.

    view(st)

  4. Внесите изменения в состояние путем изменения свойств Stateflow.State объект. Например, можно определить имя и положение состояния путем изменения Name и Position свойства. Установить Position свойство, задайте новую позицию четырехэлементного вектора, в котором первые два значения (x, y), координаты верхнего левого угла состояния и последних двух значений являются шириной и высотой состояния.

    st.Name = 'A';
    st.Position = [30 30 90 60];

    Можно также соединить новое состояние с другими состояниями или соединениями в графике путем создания Stateflow.Transition объект и установка его Source или Destination свойства к st.

Для примера того, как добавить состояния, видят переходы и объекты данных к графику, Создают Графики при помощи API Stateflow.

Включение графического объекта

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

Когда вы создаете переход, появляется в верхнем левом углу графика или субдиаграммы, где можно просмотреть родительский объект. Можно переместить переход к другому месту путем установки его источника и места назначения или путем изменения его SourceEndPoint, MidPoint, и DestinationEndPoint свойства.

Графический объект должен быть расположен в контуре его родительского элемента. Менять местоположение графического объекта может изменить свой родительский элемент или привести к неопределенной родительской ошибке. Можно проверять на это условие путем исследования значения BadIntersection свойство объекта. Этим свойством является true если ребра графического объекта перекрываются с другим графическим объектом. Установите положение и размер объектов так, чтобы они были отдельными от других объектов.

Вы не можете переместить объект в состояние подотмеченное на диаграмме, поле или графическую функцию к другому уровню иерархии графика, меняя ее положение. Вместо этого копия и вставка объект от одного родительского объекта до другого. Затем удалите исходный объект. Для получения дополнительной информации см. Копию и Вставку путем Группировки и Массив Копии и Вставки Объектов.

Неграфическое объектное включение

Когда вы создаете неграфические объекты, такие как данные, события или сообщения, они появляются в Model Explorer и в Панели Символов на иерархическом уровне их родительского объекта. Можно также видеть местоположение родительского объекта путем осмотра Path свойство объекта.

Вы не можете изменить родительский элемент неграфического объекта программно. Вместо этого используйте Model Explorer. Для получения дополнительной информации смотрите Использование Model Explorer с Объектами Stateflow.

Удалите объекты Stateflow

Можно удалить большинство объектов в диаграмме Stateflow путем вызывания функции delete. Например, чтобы удалить Stateflow.State объект st, Введите:

delete(st);

После того, как вы удаляете состояние, переменную st все еще существует в рабочей области MATLAB®, но она больше не сопоставляется с состоянием.

Примечание

Вы не можете использовать delete функция, чтобы удалить объекты этих типов:

  • Simulink.Root

  • Stateflow.Machine

  • Stateflow.Chart

  • Stateflow.EMChart

  • Stateflow.StateTransitionTableChart

  • Stateflow.TruthTableChart

  • Stateflow.Clipboard

  • Stateflow.Editor

Смотрите также

Функции

Объекты

Похожие темы