使用活动图实现组件行为
活动图描述了通过动作或决策来帮助可视化系统功能流的系统行为。活动图可帮助您理解系统组件之间的交互方式。有关详细信息,请参阅使用活动图描述系统行为。
您可以为 System Composer™ 中的组件添加活动图行为,以使用节点、引脚和流来描述或指定基于流的行为。您还可以使用 Model 模块在 Simulink® 模型中引用活动图。
本主题使用来自 scMobileRobotExample 工程的 RobotActivity 活动图来展示如何:
创建一个 System Composer 组件。
为 System Composer 组件创建一个新的活动图行为。
链接到一个现有的活动图。
创建一个新的活动图行为。
使用活动图仿真组件的行为。
创建组件
要创建活动图行为,您可以使用现有组件或创建组件。要创建新组件:
在 MATLAB® 命令行窗口中,输入以下命令。
systemcomposer
选择架构模型。
在仿真选项卡中,选择新建
,然后选择架构
。左键点击并拖动调色板中的组件,然后松开鼠标按钮以确认。
要更改组件的名称,请点击该组件,然后点击其名称。将名称更改为
MobileRobot。

注意
您无法为具有现有端口或子组件的组件创建活动行为。
创建活动图行为
您可以将一个 System Composer 模块链接到现有的活动图模型上。在本小节中,您可以使用来自 scMobileRobotExample 工程的 RobotActivity 活动图。使用以下示例打开此工程。
openExample('systemcomposer/OpenActivityDiagramForRobotExample');链接到现有活动图
要为 RobotActivity 组件创建活动图行为,请执行以下两项操作之一:右键点击菜单和工具条。
要为 RobotActivity 组件创建活动图行为,请执行以下操作之一:
右键点击组件
MobileRobot,然后选择 创建行为 > 创建活动图行为。此操作将打开一个新的活动图行为画布。在工具栏的建模选项卡上,点击组件部分中的向下箭头,然后选择创建活动图行为。
“创建活动图”行为对话框随即打开。在新文件名框中,输入 RobotActivity。要为新组件创建数据字典,请选择为新组件创建本地字典。在名称框中,将数据字典输入为 MobileRobot_dict.sldd。
要创建新的活动图行为,请点击确定。

创建新的活动图行为
您还可以链接到现有的活动图行为模型。在此示例中,使用 RobotActivity 模型。
右键点击
MobileRobot组件,然后选择链接到模型。键入或浏览活动图模型的名称。对于此示例,输入
RobotActivity.slx。要创建链接,请点击确定。
该组件显示与活动图中的参数节点相对应的输入和输出端口。输入和输出端口可以接收以信号或消息形式呈现的数据。您可以通过设置 Parameter Node 的数据模式参数来指定其接受的数据模式。
组件右上角的图标代表活动图行为。

要添加或删除模型预览,请右键点击并选择 格式 > 内容预览。
使用活动图行为仿真组件
对于具有活动图行为的组件,其仿真行为取决于活动图中包含的是初始节点还是参数节点。
对于带有初始节点的活动图,仿真从时间零开始。对于包含输入参数节点的活动图,一旦输入参数节点接收到一个令牌,仿真便会立即开始。
当活动终止节点或参数节点接收到一个令牌时,活动图组件的仿真即告结束。活动终止节点或参数节点接收令牌所需的时间,取决于活动图中各节点的
duration属性。
设置输入参数节点
该组件显示与活动图中的参数节点相对应的输入和输出端口。输入参数节点可以接受信号或消息形式的数据。要指定类型,请右键点击输入参数节点。在属性检查器中,将数据模式设置为 message 或 gignal。默认值为 signal。

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

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

另请参阅
函数
systemcomposer.createActivity|addNode|addParameter|getNode|getNodes|getFlow|connect|getParameter|getParameters|getPin|getPins|addPin|getParentPin|applyStereotype|removeStereotype|getStereotype|destroy|setBehaviorType
对象
systemcomposer.activity.Action|systemcomposer.activity.Activity|systemcomposer.activity.ActivityNode|systemcomposer.activity.ActivityFinal|systemcomposer.activity.ControlNode|systemcomposer.activity.Flow|systemcomposer.activity.FlowFinal|systemcomposer.activity.Model|systemcomposer.activity.JoinFork|systemcomposer.activity.Initial|systemcomposer.activity.MergeDecision|systemcomposer.activity.Parameter|systemcomposer.activity.Pin
工具
模块
- Initial Node | Action Node | Pin | Parameter Node | Decision or Merge Node | Join or Fork Node | Flow Final Node | Activity Final Node