主要内容

本页采用了机器翻译。点击此处可查看英文原文。

使用活动图实现组件行为

活动图描述了通过动作或决策来帮助可视化系统功能流的系统行为。活动图可帮助您理解系统组件之间的交互方式。有关详细信息,请参阅使用活动图描述系统行为

您可以为 System Composer™ 中的组件添加活动图行为,以使用节点、引脚和流来描述或指定基于流的行为。您还可以使用 Model 模块在 Simulink® 模型中引用活动图。

本主题使用来自 scMobileRobotExample 工程的 RobotActivity 活动图来展示如何:

  • 创建一个 System Composer 组件。

  • 为 System Composer 组件创建一个新的活动图行为。

    • 链接到一个现有的活动图。

    • 创建一个新的活动图行为。

  • 使用活动图仿真组件的行为。

创建组件

要创建活动图行为,您可以使用现有组件或创建组件。要创建新组件:

  1. 在 MATLAB® 命令行窗口中,输入以下命令。

    systemcomposer

    选择架构模型

  2. 仿真选项卡中,选择新建 ,然后选择架构

  3. 左键点击并拖动调色板中的组件,然后松开鼠标按钮以确认。

  4. 要更改组件的名称,请点击该组件,然后点击其名称。将名称更改为 MobileRobot

MobileRobot component for activity diagram behavior

注意

您无法为具有现有端口或子组件的组件创建活动行为。

创建活动图行为

您可以将一个 System Composer 模块链接到现有的活动图模型上。在本小节中,您可以使用来自 scMobileRobotExample 工程的 RobotActivity 活动图。使用以下示例打开此工程。

openExample('systemcomposer/OpenActivityDiagramForRobotExample');

链接到现有活动图

要为 RobotActivity 组件创建活动图行为,请执行以下两项操作之一:右键点击菜单和工具条。

要为 RobotActivity 组件创建活动图行为,请执行以下操作之一:

  • 右键点击组件 MobileRobot,然后选择 创建行为 > 创建活动图行为。此操作将打开一个新的活动图行为画布。

  • 在工具栏的建模选项卡上,点击组件部分中的向下箭头,然后选择创建活动图行为

“创建活动图”行为对话框随即打开。在新文件名框中,输入 RobotActivity。要为新组件创建数据字典,请选择为新组件创建本地字典。在名称框中,将数据字典输入为 MobileRobot_dict.sldd

要创建新的活动图行为,请点击确定

Dialog box to create activity diagram behavior

创建新的活动图行为

您还可以链接到现有的活动图行为模型。在此示例中,使用 RobotActivity 模型。

  • 右键点击 MobileRobot 组件,然后选择链接到模型

  • 键入或浏览活动图模型的名称。对于此示例,输入 RobotActivity.slx

  • 要创建链接,请点击确定

该组件显示与活动图中的参数节点相对应的输入和输出端口。输入和输出端口可以接收以信号或消息形式呈现的数据。您可以通过设置 Parameter Node数据模式参数来指定其接受的数据模式。

组件右上角的图标代表活动图行为。

Link activity diagram to component

要添加或删除模型预览,请右键点击并选择 格式 > 内容预览

使用活动图行为仿真组件

对于具有活动图行为的组件,其仿真行为取决于活动图中包含的是初始节点还是参数节点。

  • 对于带有初始节点的活动图,仿真从时间零开始。对于包含输入参数节点的活动图,一旦输入参数节点接收到一个令牌,仿真便会立即开始。

  • 当活动终止节点或参数节点接收到一个令牌时,活动图组件的仿真即告结束。活动终止节点或参数节点接收令牌所需的时间,取决于活动图中各节点的 duration 属性。

设置输入参数节点

该组件显示与活动图中的参数节点相对应的输入和输出端口。输入参数节点可以接受信号或消息形式的数据。要指定类型,请右键点击输入参数节点。在属性检查器中,将数据模式设置为 messagegignal。默认值为 signal

Select data mode from property inspector for activity diagram.

使用这些选项来设置系统中的通信类型。信号代表在每个仿真时间步长内组件之间持续流动的数据流。

Signal that models continuous flow of data.

消息用于构建异步通信和事件驱动系统的模型。有关消息模型的详细信息,请参阅Simulink Messages Overview

Message that model asynchronous communication.

另请参阅

函数

对象

工具

模块

主题