主要内容

使用顺序查看器可视化消息、事件和实体

查看来自Simulink的块之间的消息和事件的交换®消息和事件库,状态流®图表在仿真软件模型, SimEvents®块,您可以:

顺序查看器允许您可视化消息转换事件和消息所携带的数据。在顺序查看器,您可以查看与状态流图执行和状态流图之间的消息交换相关的事件数据。序列查看器窗口显示在模型执行期间的不同时间创建、发送、转发、接收和销毁消息。序列查看器窗口还显示状态活动、转换和对Stateflow图形函数、Simulink函数和MATLAB的函数调用®功能。

顺序查看器,在模拟SimEvents模型时,还可以可视化实体在块之间的移动。所有可以存储实体的SimEvents块都显示为序列查看器窗口中的生命线。在这些块之间移动的实体显示为带箭头的线条。您可以查看对Simulink的调用函数和到MATLAB函数块。

你可以添加顺序查看器块到模型或任何子系统的顶层。如果你放置一个顺序查看器块中没有消息、事件或状态活动时,序列查看器窗口通知您没有任何要显示的内容。

例如,打开Stateflow示例sf_msg_traffic_light

openExample (“stateflow / ModelingADistributedTrafficControlSystemUsingMessageExample”

Simulink模型包含三个子系统,分别为红绿灯1、红绿灯2和GUI。

该模型有三个Simulink子系统:红绿灯1、红绿灯2和GUI。在模拟过程中,这些子系统中的状态流图通过发送消息交换数据。当消息通过系统时,您可以在Sequence Viewer窗口中查看它们。序列查看器窗口将模型中的每个块表示为垂直的生命线,模拟时间向下推进。

序列查看器显示子系统红绿灯1、红绿灯2和GUI的生命线。

序列查看器窗口的组件

导航工具栏

在序列查看器窗口的顶部,一个导航工具栏显示模型层次结构路径。使用工具栏按钮,您可以:

  • 显示或隐藏属性检查器

  • 选择自动或手动布局。

  • 显示或隐藏不活动的生命线。

  • 保存顺序查看器设置。

  • 恢复顺序查看器设置。

  • 配置顺序查看器参数。

  • 访问顺序查看器文档。

属性检查器

属性检查器,你可以选择滤镜来显示或隐藏:

  • 事件

  • 消息

  • 函数调用

  • 状态变化和过渡

标题窗格

序列查看器工具栏下面的标题面板显示了包含模型中相应块的名称的生命线标题。

  • 灰色矩形标头对应子系统。

  • 白色矩形标头对应于被屏蔽的子系统。

  • 带圆角的黄色标题对应于状态流图。

要在模型中打开一个块,单击相应的生命线标头中的名称。要显示或隐藏生命线,双击相应的标头。若要调整生命线标头的大小,请单击并拖动其右侧。要在“序列查看器”窗口中放入所有生命线标题,请按空格键。

序列查看器的标题窗格。

信息面板

标题窗格下面是消息窗格。消息窗格将生命线之间的消息、事件和函数调用显示为从发送方到接收方的箭头。控件中显示发送方、接收方和有效负载信息属性检查器,单击消息、事件或函数调用对应的箭头。

显示消息的发送方、接收方和有效负载信息的序列查看器。

导航生命线层次结构

在序列查看器窗口中,生命线的层次结构与模型层次结构相对应。当您暂停或停止模型时,您可以扩展或收缩生命线,并更改查看器的焦点根。

扩大父母生命线

在消息窗格中,一个粗大的灰色生命线指示您可以展开该生命线以查看其子生命线。要显示生命线的子节点,请单击扩展器图标在头文件下方或双击父生命线。

例如,扩展的生命线红绿灯1块显示了对应于状态流图的两条新的生命线Ped按钮传感器而且控制器

序列查看器显示子系统红绿灯1中状态流程图的生命线。

展开一个被屏蔽子系统生命线

序列查看器窗口将被屏蔽的子系统显示为白色块。要显示被屏蔽子系统的子节点,请指向生命线头的左下角并单击箭头。

例如,GUI子系统包含四个屏蔽子系统:红绿灯1、红绿灯2、Ped灯1、Ped灯2。

序列查看器显示子系统GUI中被屏蔽的子系统。

通过单击父生命线标头中的箭头,您可以在这些被屏蔽的子系统中显示子生命线。

箭头图标显示被屏蔽子系统的子系统的生命线。一个工具提示说:“查看蒙版内部。”

改变焦点根

要使生命线成为查看器的焦点根,请指向生命线头部的左下角并单击箭头。或者,您可以使用序列查看器窗口顶部的导航工具栏在生命线层次结构中上下移动当前根。要将当前根目录上移一级,请按Esc关键。

箭头图标,使生命线为查看器的焦点根。一个工具提示说,“将此设置为根。”

序列查看器窗口显示当前根生命线路径并显示其子生命线。任何外部事件和消息都显示为通过图槽中的垂直槽进入或退出。当您指向图槽中的槽时,工具提示将显示发送或接收块的名称。

序列查看器显示外部事件和消息通过图右侧的凹槽进入。

查看状态活动和转换

要在序列查看器窗口中查看状态活动和转换,请展开状态层次结构,直到到达最低的子状态。垂直的黄色条表示哪个状态是活动的。蓝色水平箭头表示状态之间的转换。

在本例中,您可以看到从PrepareToStop紧接着,一秒钟后,过渡到停止

显示状态之间转换的序列查看器。

控件中的开始状态、结束状态和完整转换标签属性检查器,单击过渡对应的箭头。

要显示有关状态处于活动状态时发生的交互的信息,请单击与状态对应的黄色条。在属性检查器,可以使用搜索了而且搜索下用于在状态处于活动状态时进行的转换、消息、事件和函数调用之间移动的按钮。

视图函数调用

顺序查看器显示函数调用和应答。该表列出了对每种函数调用类型的支持类型。

函数调用类型 支持

调用仿真软件的功能

完全支持。

调用Stateflow图形化或Stateflow MATLAB函数

  • 作用域—选择导出图表级函数图表选项。使用chartNamefunctionName点符号。

  • 全局-选择将导出的函数视为全局可见的图表选项。你不需要点符号。

调用函数调用子系统 完全支持和显示。
打来的电话MATLAB函数 支持显示函数调用事件,限制调用跨越模型引用边界。

序列查看器窗口将函数调用显示为标记格式的实箭头function_nameargument_list.对函数调用的响应显示为带有格式标记的虚线箭头argument_list] =function_name

例如,在模型中slexPrinterExample,一个子系统称为Simulink Function块addPrinterJob.函数块返回的输出值为

序列查看器,显示对Simulink函数的调用和函数的返回值。

要打开这个示例,输入:

openExample (“stateflow / ShareFcnsAcrossSLandSFExample”

序列查看器窗口中的模拟时间

序列查看器窗口按时间顺序垂直显示事件。Simulink中的多个事件可以同时发生。相反,模拟过程中可能有很长一段时间没有事件。因此,序列查看器窗口通过使用线性和非线性显示的组合来显示时间。时间标尺显示线性模拟时间。时间网格以非线性的方式显示时间。每个时间网格行(由两条蓝线隔开)包含在同一模拟时间发生的事件。时间条提供该网格行中事件的时间。

时序查看器图,显示时间网格、时间条、时间标尺和时间滑块。

若要显示特定模拟时间范围内的事件,请使用滚轮或在时间标尺上上下拖动时间滑块。要导航到模拟的开始或结束,请单击参加第一个活动去最后一个活动按钮。若要在时间标尺上查看整个模拟持续时间,请单击适合视图按钮

当使用变步长求解器时,可以调整时间尺的精度。在模型资源管理器中,在主要选项卡,调整“序列查看器块参数”窗格中的变步长时间精度字段。

在序列查看器窗口中重新显示信息

顺序查看器在模拟运行之间保存生命线的顺序和状态。当你关闭并重新打开顺序查看器窗口,它保留最后打开的生命线状态。要保存特定的查看器状态,请单击保存设置按钮在工具栏。保存模型,然后跨会话保存状态信息。要加载保存的设置,请单击恢复设置按钮

您可以修改变步长时间精度而且历史参数只在模拟之间。您可以在模拟之前或在暂停模拟时访问工具栏中的按钮。在模拟过程中,工具栏中的按钮将被禁用。

另请参阅

工具

相关的话题

Baidu
map