预订演示
前页 后页

活动图表Solver Example

在本主题中,我们运行通过一些简单的示例来说明在活动图表模拟中在何处以及如何应用求解器。这包括在行动效果以及 ControlFlow Guards 中使用脚本。本主题中的图像显示 Octave Solver 示例;但是,通过将 Octave Solver 替换为 MATLAB Solver,可以将相同的脚本用于 MATLAB。

初始化求解器

初始化活动图中的影响的脚本可以放在一个行动的影响中,通常是第一个行动ActivityInitial 的动作的影响。

赋值和执行命令

要分配一个值,请使用 octave.set() 或 matlab.set() 函数。对于活动图,函数可以放在行动的影响中。

当使用行动()函数执行 MATLAB 或 Octave 命令时,这些命令可以再次放置在行动的影响中。

条件分支

对于状态机中的条件分支,条件可以放在守卫条件的守卫条件中,并包含调用任何 MATLAB 或 Octave函数的脚本。例如:

获得结果

要从外部函数调用返回结果,请使用 Solver 的 .get()函数。对于如何将结果从脚本传递给用户,有三个关键选项:

  • 跟踪()
  • 阴谋
  • Win32显示
使用跟踪和 Win32 选项,您必须使用 Solver .get()函数在JavaScript中返回本地副本。上图包含一个在守卫条件中使用 .get()函数的示例。

使用跟踪

跟踪() 命令在最初编写和调试模拟时很有用,因为它允许您检查脚本在不同阶段的结果。结果在仿真窗口中输出。

执行绘图

Octave 和 MATLAB 非常强调生成绘图,因为这是输出结果的关键方法。要生成绘图,您可以使用 Solver 的 .exec()函数来调用绘图生成。

掌握情节

在模拟中执行绘图时,如果模拟没有暂停,则绘图只会短暂可见。对于活动图表,有两个选项可以在查看情节时暂停流程:

  1. 使用 Octave 或 MATLAB 中的影响函数,将其设置在行动的影响中。以下是使用 Octave 的示例:
    octave.exec('脚本','uiwait');


  2. 将行动类型的动作设置为在生成绘图后暂停,这需要在触发器上设置对模拟活动的引用。这可以使用显示“选择触发器”对话框的Browse.按钮来创建和引用。点击加新按钮来创建触发器。

要超越 AcceptEvent,您:

  • 将触发器(简历)从浏览器拖到仿真事件窗口
  • 双击该过渡

使用 Win32接口

使用 Win32 界面时,大致执行的步骤是:

  1. 创建一个 Win32 对话框。
  2. 设置一个脚本行来打开它。
  3. 从对话框中的字段中获取值。
  4. 将该值传递给 Solver。
  5. 使用一个按钮来触发情节。

以下是配置 Win32 界面的步骤:

  1. 使用“创建模式”选项卡(模型向导M)(Ctrl+Shift+)创建一个“Starter Win32 模型”。
  2. 将 <<Win32屏幕对话框>> 的名称更改为“ScreenA”。
  3. 将“更改”的名称更改为控件意义的名称,例如“完成”。
  4. 在 State1 上按 Alt+7 添加一个调用以打开对话框,在 Entry Operation 的脚本中:
    对话框.ScreenA.Show=true;
要获得有效的用户输入值,用户必须单击确定按钮,因此您需要从确定按钮广播一个触发器以启动流程。要接收触发器的信号,您需要设置一个信号和一个转移

由该广播触发。

请参阅创建和设置触发器信号以及“结束”的步骤,如前面的“保持绘图”中所示。在本例中,我们设置了相同的东西,但使用了一个名为“触发器”的新词。此插图使用按钮上的 OnClick标记值发送 BroadcastSignal('Plot')。

在退出 StartSolver 的 ControlFlow 上,现在有一个动作“行动”。这被设置为触发,如下所示:

在属性窗口的“触发器”选项卡上,您创建一个触发器,将 Trigger-Type 设置为“信号”并为其创建一个信号。欲了解更多细节,请参阅接口用户仿真帮助

取消按钮的配置方式与确定按钮(带有广播信号)相同,并且在确定上设置触发器的引用以使用“取消”触发器/信号。

运行仿真

运行仿真:

  • 选择仿真丝带
  • 点击“运行仿真>开始”
当您输入一个值并单击确定按钮时,将返回:

学到更多