Stateflow.Port

Запись или выходной порт в или атомарной субдиаграмме состояния

    Описание

    Используйте Stateflow.Port объекты создать порты и соединения, которые обеспечивают связи входа и выхода через контуры в Stateflow® иерархия. Порты входа и выхода улучшают компонентизацию путем изоляции логики перехода для ввода и выхода из состояний. В отличие от суперпереходов, они могут использоваться в атомарных субдиаграммах. Для получения дополнительной информации смотрите, Создают Связи Входа и выхода Через Государственные границы.

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

    Создание

    Описание

    пример

    port = Stateflow.Port(parent,portType) создает Stateflow.Port объект заданного типа порта в родительском элементе. Функция создает второй Stateflow.Port объект для соответствующей записи или выходного порта на контуре родительского элемента. Идентифицировать соответствующий Stateflow.Port объект, используйте функцию Stateflow.findMatchingPort.

    Входные параметры

    развернуть все

    Родительский элемент для новой записи или выходного соединения в виде Stateflow.State возразите или как Stateflow.Chart объект, который является субдиаграммой Stateflow.AtomicSubchart объект.

    Тип соединения в виде 'EntryJunction' или 'ExitJunction'.

    Свойства

    развернуть все

    Объекты API Stateflow имеют свойства, которые соответствуют значениям, которые вы устанавливаете в редакторе Stateflow. Чтобы получить доступ или изменить свойство, используйте запись через точку. Чтобы получить доступ или изменить несколько свойств для нескольких объектов API, используйте get и set функции, соответственно. Для получения дополнительной информации см. Изменение свойств и Вызов функций Объектов Stateflow.

    Содержимое

    Пометьте для порта или соединения в виде вектора символов. Изменение этого свойства автоматически устанавливает LabelString свойство для соответствующего Stateflow.Port возразите против того же значения.

    Это свойство доступно только для чтения.

    Тип порта или соединения в виде одного из этих значений:

    • 'EntryJunction' — Соединение записи в или атомарной субдиаграмме состояния

    • 'EntryPort' — Порт Entry на контуре или атомарной субдиаграммы состояния

    • 'ExitJunction' — Выйдите из соединения в или атомарной субдиаграмме состояния

    • 'ExitPort' — Выйдите из порта на контуре или атомарной субдиаграммы состояния

    Закомментировать ли соединение и пару порта в виде числового или логической единицы (true) или 0 (false). Установка этого свойства к true эквивалентно щелчку правой кнопкой по записи или выходному соединению и выбору Comment Out. Это свойство применяется только к соединениям входа и выхода. Попытка установить это свойство на записи или выходном порте приводит к ошибке. Для получения дополнительной информации смотрите Комментарий Объекты Stateflow в Графике.

    Это свойство доступно только для чтения.

    Комментируются ли порт или соединение неявно в виде числового или логической единицы (true) или 0 (false). Порт или соединение неявно комментируются, когда вы комментируете состояние, поле или функцию, которая содержит его. Кроме того, порты входа и выхода неявно комментируются, когда вы комментируете их соответствие с записью или выходным соединением.

    Текст комментария добавляется к записи или выходному соединению в виде вектора символов. Это свойство применяется только к соединениям входа и выхода когда IsExplicitlyCommented свойством является true. В редакторе Stateflow, когда вы указываете на значок комментария на соединении, текст появляется как подсказка. Когда вы устанавливаете IsExplicitlyCommented свойство к false, значение CommentText возвращается к ''.

    Графический внешний вид

    Положение и размер порта или соединения в виде Stateflow.PortPosition объект с этими свойствами:

    • Center — Позиция центра порта или соединения в виде двухэлементного числового векторного [x y] из координат относительно левого верхнего угла графика.

    • Radius — Радиус порта или соединения в виде скаляра.

    Пример: port.Position.Center = [31.41 27.18];

    Пример: port.Position.Radius = 16.18;

    Положение и размер порта или соединения помечают в виде четырехэлементного числового вектора из формы [left top width height].

    Размер входящих стрел перехода в виде скаляра.

    Иерархия

    Это свойство доступно только для чтения.

    Стройте диаграмму, который содержит порт или соединение в виде Stateflow.Chart объект.

    Это свойство доступно только для чтения.

    Подсредство просмотра для порта или соединения в виде Stateflow.Chart, Stateflow.State, или Stateflow.Box объект. Подсредство просмотра является графиком или субдиаграммой, где можно графически просмотреть порт.

    Это свойство доступно только для чтения.

    Родной штат или субдиаграмма в виде Stateflow.State или Stateflow.AtomicSubchart объект. Дом записи или выходного порта является состоянием или субдиаграммой, контур которой содержит порт. Это свойство применяется только к портам входа и выхода.

    Это свойство доступно только для чтения.

    Машина, которая содержит порт или соединение в виде Stateflow.Machine объект.

    Это свойство доступно только для чтения.

    Местоположение родительского элемента порта или соединения в иерархии модели в виде вектора символов.

    Это свойство доступно только для чтения.

    Имеют ли порт или соединение соответствующее соединение или порт в виде числового или логической единицы (true) или 0 (false). Это свойство используется, чтобы обнаружить внутренние несоответствия в графике.

    Идентификация

    Описание для порта или соединения в виде вектора символов.

    Ссылка на документ для порта или соединения в виде вектора символов.

    Пользовательский тег для порта или соединения в виде данных любого типа.

    Это свойство доступно только для чтения.

    Независимый от сеанса идентификатор в виде целочисленного скаляра. Используйте это свойство отличить порт или соединение от других объектов в модели.

    Это свойство доступно только для чтения.

    Уникальный идентификатор в виде целочисленного скаляра. В отличие от SSIdNumber, значение этого свойства повторно присвоено каждый раз, когда вы запускаете новый MATLAB® сеанс и может быть переработан после того, как объект удален.

    Функции объекта

    getParentИдентифицируйте родительский элемент объекта
    sinkedTransitionsИдентифицируйте переходы с заданным местом назначения
    sourcedTransitionsИдентифицируйте переходы с заданным источником
    dialogОткрытое диалоговое окно свойств
    isCommentedОпределите, комментируется ли графический объект
    viewЭкранный объект в редактировании среды
    highlightПодсветите графический объект
    fitToViewУвеличьте масштаб графического объекта

    Примеры

    свернуть все

    Найдите Stateflow.AtomicSubchart объект, который соответствует атомарной субдиаграмме A в графике ch.

    atomicSubchart = find(ch,'-isa','Stateflow.AtomicSubchart','Name','A');

    Добавьте выходное соединение в атомарную субдиаграмму. Используйте Subchart свойство атомарной субдиаграммы как родительский элемент выходного соединения. Отобразите значение PortType свойство выходного соединения.

    exitJunction = Stateflow.Port(atomicSubchart.Subchart,'ExitJunction');
    exitJunction.PortType
    ans =
    
        'ExitJunction'

    Установите метку выходного соединения к 'exit'.

    exitJunction.labelString = 'exit';

    Найдите Stateflow.Port объект для соответствующего выходного порта. Отобразите значение PortType свойство выходного порта.

    exitPort = Stateflow.findMatchingPort(exitJunction);
    exitPort.PortType
    ans =
    
        'ExitPort'

    Отобразите метку выходного порта.

    exitPort.labelString
    ans =
    
        'exit'

    Советы

    • Если вы перемещаете запись или выходное соединение к различному родительскому элементу, Stateflow удаляет Stateflow.Port объект для соответствующего порта и создает Stateflow.Port объект на новом родительском элементе. Чтобы идентифицировать новый соответствующий порт, используйте Stateflow.findMatchingPort функция.

    Введенный в R2021b