主要内容

使用SimulationObserver类监视SimEvents模型

SimulationObserver类

类的派生类,以创建观察者simevents。SimulationObserver对象。你可以使用观察器:

  • 帮助理解队列影响,可视化实体在模拟过程中通过模型移动,

  • 开发通过面向应用程序的接口(如餐厅排队活动)显示模型仿真的表示工具。

  • 调试和检查实体活动。

  • 检查队列内容。

simevents。SimulationObserver对象提供的方法可以让你:

  • 创建观察者或动画对象。

  • 识别用于通知运行时事件的模型块。

  • 与事件日历交互。

  • 在模型暂停、暂停后继续和终止时执行活动。

SimEvents®模型在模型模拟过程中调用这些函数。

自定义可视化工作流

  1. 创建应用程序文件。

    1. 类继承的类simevents。SimulationObserver类。

    2. 创建一个派生自该类的观察者对象。

    3. simevents。SimulationObserver方法,实现应用程序所需的功能。这个应用程序包括你的观察者。

  2. 打开模型。

  3. 创建类的实例。

  4. 运行模型。

有关自定义可视化的更多信息,请参见创建自定义可视化

创建应用

的派生类实现中可以使用这些方法simevents。SimulationObserver

行动 方法

指定模拟开始时的行为。

simStarted

指定模拟暂停时的行为。

simPaused

指定模拟恢复时的行为。

simResumed

定义模拟结束时的观察者行为。

simTerminating

指定要通知实体进入和退出事件的块列表。

getBlocksToNotify

指定是否要通知事件日历中的所有事件。

notifyEventCalendarEvents

指定实体进入具有实体存储的块后的行为。

后补手续书

指定实体退出带有实体存储的块之前的行为。

preExit

在执行事件之前指定行为。

preExecute

将区块添加到要通知的区块列表中。

addBlockNotification

从正在通知的块列表中删除块。

removeBlockNotification

获取事件日历的句柄。

getEventCalendars

获取存储实体的块列表。

getAllBlockWithStorages

返回给定块路径的块句柄。

getHandleToBlock

返回指定块的存储句柄。

getHandlesToBlockStorages

  1. 在MATLAB中®命令窗口,选择>

  2. 的第一行中继承simevents。SimulationObserver类。例如:

    classdef seRestaurantAnimator < simevents。SimulationObserver

    seRestaurantAnimator新观察器对象的名称。

  3. 属性节中,输入应用程序的属性。

  4. 方法节,为应用程序实现函数。

  5. 中输入如下所示的一行来构造观察者对象方法文件的部分:

    构造函数modelname = 'seCustomVisualization';this@simevents.SimulationObserver (modelname);这一点。mModel = modelname;结束

有关更多信息,请参见为实体使用自定义可视化

使用观察器监视模型

  1. 打开模型进行观察。

  2. 在MATLAB命令提示符下,为模型启用动画器:

    > > obj = seRestaurantAnimator;

  3. 模拟模型。

    当模型启动时,动画器显示在图形窗口中。在模型运行时,它会调用您的应用程序,以查看您是否实现了预定义的函数集之一。如果您的模型不包含SimEvents块,则会收到一个错误。

请注意

由于使用了可视化模拟的仪器,模拟比没有仪器时要慢。

停止模拟并断开模型

  1. 停止模拟。

  2. 在MATLAB命令提示符下,从模型中清除动画器。例如:

    清楚obj;

另请参阅

相关的话题