Чтобы видеть обмен сообщениями и событиями между блоками из библиотеки Simulink® Messages & Events, Stateflow® строит диаграмму в моделях Simulink и блоках SimEvents®, вы можете:
Используйте инструмент Sequence Viewer (Simulink) от панели инструментов Simulink.
Добавьте блок Sequence Viewer (Simulink) в свою модель Simulink.
Sequence Viewer позволяет вам визуализировать события перехода сообщения и данные, которые несут сообщения. В Sequence Viewer можно просмотреть данные о событиях, связанные с выполнением диаграммы Stateflow и обменом сообщениями между диаграммами Stateflow. Окно Sequence Viewer показывает сообщения, когда они созданы, отправлены, переданы, получены и уничтожены в разное время во время выполнения модели. Окно Sequence Viewer также отображает действие состояния, переходы и вызовы функции к графическим функциям Stateflow, функциям Simulink и функциям MATLAB®.
С Sequence Viewer можно также визуализировать перемещение сущностей между блоками при симуляции моделей SimEvents. Все блоки SimEvents, которые могут сохранить сущности, появляются как пути выживания в окне Sequence Viewer. Сущности, перемещающиеся между этими блоками, появляются как линии со стрелами. Можно просмотреть вызовы блоков Simulink Function и MATLAB блоки Function.
Можно добавить блок Sequence Viewer в верхний уровень модели или любой подсистемы. Если вы помещаете блок Sequence Viewer в подсистему, которая не имеет сообщений, событий, или утверждает действие, окно Sequence Viewer сообщает вам, что нет ничего, чтобы отобразиться.
Например, предположите, что вы симулируете пример Stateflow sf_msg_traffic_light
.
Эта модель имеет три Подсистемы Simulink: Светофор 1, Светофор 2, и графический интерфейс пользователя. Диаграммы Stateflow в этих подсистемах обмениваются данными путем отправки сообщений. Когда сообщения проходят через систему, можно просмотреть их в окне Sequence Viewer. Окно Sequence Viewer представляет каждый блок в модели как вертикальный путь выживания со временем симуляции, прогрессирующим вниз.
Наверху окна Sequence Viewer панель навигации отображает путь к иерархии модели. Используя кнопки на панели инструментов, вы можете:
Покажите или скройте Property Inspector.
Выберите автоматическое или ручное размещение.
Покажите или скройте неактивные пути выживания.
Настройки Save Sequence Viewer.
Настройки Restore Sequence Viewer.
Сконфигурируйте параметры Sequence Viewer.
Доступ к документации Sequence Viewer.
В Property Inspector можно выбрать фильтры, чтобы показать или скрыться:
События
Сообщения
Вызовы функции
Изменения состояния и переходы
Панель заголовка ниже панели инструментов Sequence Viewer показывает заголовки пути выживания, содержащие имена соответствующих блоков в модели.
Серые прямоугольные заголовки соответствуют подсистемам.
Белые прямоугольные заголовки соответствуют подсистемам маскированным.
Желтые заголовки со скругленными углами соответствуют диаграммам Stateflow.
Чтобы открыть блок в модели, кликните по имени в соответствующем заголовке пути выживания. Чтобы показать или скрыть путь выживания, дважды кликните соответствующий заголовок. Чтобы изменить размер заголовка пути выживания, перетащите его правую сторону. Чтобы приспособить все заголовки пути выживания в окне Sequence Viewer, нажмите клавишу "пробел".
Ниже заголовка панель является панелью сообщения. Панель сообщения отображает сообщения, события и вызовы функции между путями выживания как стрелы с отправителя на приемник. Чтобы отобразить отправителя, приемник и информация о полезной нагрузке в Property Inspector, кликают по стреле, соответствующей сообщению, событию или вызову функции.
В окне Sequence Viewer иерархия путей выживания соответствует иерархии модели. Когда вы приостанавливаете или останавливаете модель, можно расширить или сократить пути выживания и изменить корень особого внимания для средства просмотра.
В панели сообщения толстый, серый путь выживания указывает, что можно расширить путь выживания, чтобы видеть его дочерние элементы. Чтобы показать дочерним элементам пути выживания, кликните по значку расширителя ниже заголовка или дважды кликните родительский путь выживания.
Например, расширение пути выживания для блока Traffic Light 1 показывает два новых пути выживания, соответствующие диаграммам Stateflow Ped Button Sensor и Controller.
Окно Sequence Viewer отображает замаскированные подсистемы как белые блоки. Чтобы показать дочерним элементам подсистемы маскированной, укажите по левому нижнему углу заголовка пути выживания и кликнуть по стреле.
Например, подсистема GUI содержит четыре подсистемы маскированных: Лампа Трафика 1, Лампа Трафика 2, Лампа Плетеной корзинки 1 и Лампа Плетеной корзинки 2.
Можно отобразить дочерние пути выживания в этих подсистемах маскированных путем нажатия на стрелку в родительском заголовке пути выживания.
Чтобы сделать путь выживания корнем особого внимания для средства просмотра, укажите по левому нижнему углу заголовка пути выживания и кликнуть по стреле. В качестве альтернативы можно использовать панель навигации наверху окна Sequence Viewer, чтобы переместить текущий корень вверх и вниз по иерархии пути выживания. Чтобы переместить текущий корень один уровень, нажмите клавишу Esc.
Окно Sequence Viewer отображает текущий корневой путь к пути выживания и показывает его дочерние пути выживания. Любые внешние события и сообщения отображены как ввод или выход через вертикальные пазы в поле схемы. Когда вы указываете на паз в поле схемы, подсказка отображает имя отправки или получения блока.
Чтобы видеть действие состояния и переходы в окне Sequence Viewer, расширьте иерархию состояния, пока вы не достигли самого низкого дочернего состояния. Вертикальные желтые панели показывают, какое состояние активно. Синие горизонтальные стрелки обозначают переходы между состояниями.
В этом примере вы видите переход от Go
к PrepareToStop
вместе с, после 1 секунды, переходом к Stop
.
Чтобы отобразить начальное состояние, конечное состояние и полная метка перехода в Property Inspector, кликают по стреле, соответствующей переходу.
Чтобы отобразить информацию о взаимодействиях, которые происходят, в то время как состояние активно, кликните по желтой панели, соответствующей состоянию. В Property Inspector используйте кнопки Search Up и Search Down, чтобы переместиться посредством переходов, сообщений, событий и вызовов функции, которые происходят, в то время как состояние активно.
Sequence Viewer отображает вызовы функции и ответы. Эта таблица приводит тип поддержки каждого типа вызова функции.
Тип вызова функции | Поддержка |
---|---|
Вызовы блоков Simulink Function | Полностью поддерживаемый |
Вызовы графического Stateflow или функции MATLAB Stateflow |
|
Вызовы подсистем вызова функций | Не отображенный в окне Sequence Viewer |
Окно Sequence Viewer отображает вызовы функции как твердые стрелы, помеченные форматом function_name(argument_list)
. Ответы на вызовы функции отображены как подчеркнутые штриховой линией стрелы, помеченные форматом [argument_list]=function_name
.
Например, в модели slexPrinterExample
, подсистема вызывает Функциональный блок Simulink addPrinterJob
. Функциональный блок отвечает с выходным значением false
.
Окно Sequence Viewer показывает события вертикально, упорядоченный вовремя. Несколько событий в Simulink могут произойти одновременно. С другой стороны могут быть длительные периоды времени в процессе моделирования без событий. Как следствие окно Sequence Viewer показывает время при помощи комбинации линейных и нелинейных отображений. Линейка времени показывает линейное время симуляции. Сетка времени показывает время нелинейным способом. Каждый раз строка сетки, ограниченная двумя синими линиями, содержит события, которые происходят в том же времени симуляции. Полоса времени обеспечивает времена событий в той строке сетки.
Чтобы показать события в определенной области значений времени симуляции, используйте колесико прокрутки или перетащите ползунок времени вверх и вниз по линейке времени. Чтобы перейти к началу или концу симуляции, нажмите кнопки Go to first event или Go to last event. Чтобы видеть целую длительность симуляции на линейке времени, нажмите кнопку Fit to view.
При использовании переменного решателя шага можно настроить точность линейки времени. В Model Explorer, на вкладке Main панели Параметров блоков Sequence Viewer, настраивают значение поля Time Precision for Variable Step.
Sequence Viewer сохраняет порядок и состояния путей выживания между запусками симуляции. Когда вы закрываете и вновь открыли окно Sequence Viewer, оно сохраняет последнее открытое состояние пути выживания. Чтобы сохранить конкретное состояние средства просмотра, нажмите кнопку Save Settings на панели инструментов. Сохранение модели затем сохраняет ту информацию состояния через сеансы. Чтобы загрузить сохраненные настройки, нажмите кнопку Restore Settings.
Можно изменить Time Precision for Variable Step и параметры History только между симуляциями. Можно получить доступ к кнопкам на панели инструментов перед симуляцией или когда симуляция приостановлена. Во время симуляции отключены кнопки на панели инструментов.