主要内容

使用事件动作管理实体

这个例子展示了如何控制实体产生率和写事件动作改变实体的属性在一个简单的排队系统。在离散事件仿真中,事件是一个观察的瞬时事件可能会改变一个状态变量,一个输出,或其他事件的发生。SimEvents®允许您创建自定义的行为,当一个事件发生。这些行动被称为事件动作。事件可以有相应的动作。您可以编写使用MATLAB事件动作改变实体的属性®代码或仿真软件万博1manbetx®功能。

从一个简单的排队系统

发电机,这是一个简单的排队系统与实体实体队列,实体服务器,和实体终结者块。在这个例子中,一个实体代表一个坦克的卡车到达一个加油站。一个实体的属性代表了当前气体水平槽。事件动作代表气体的变化水平。坦克是随机生成的,排队,服务与泵转移固定数量的天然气为一秒。坦克离开车站与他们的新天然气总额。

修改模型

  1. 选择路径源自整个模型或实体实体发电机,实体队列,实体服务器块和右击选择日志选择信号。仿真数据检查用于可视化的坦克和气体水平流模型。有关更多信息,请参见检查模拟数据

  2. 重命名实体发电机块槽发电机,实体队列块等待队列,实体服务器屏蔽泵,实体终结者块退出。

    为这个应用程序块是重命名

  3. 重命名路径源自坦克发电机阻止坦克队列,等待队列块槽泵,和泵座坦克退出。

配置和模拟模型

  1. 双击坦克发生器,并选择实体类型选项卡。改变实体类型名称坦克,属性名称CurrentGasLevel

    实体属性CurrentGasLevel代表现有的每个罐的气体量。

  2. 模拟模型。打开仿真数据检查。观察到坦克的方法等待队列,泵,用同样的速度退出。

    坦克离开车站,他们最初的气体量1这是属性初始值

    万博1manbetx模型检查器的数据显示,每个实体的CurrentGasLevel值是1到达队列

    万博1manbetx模型检查器的数据显示,每个实体的CurrentGasLevel值是1到达泵

    万博1manbetx模型检查器的数据显示,每个实体的CurrentGasLevel值为1,到达出口

  3. 开槽发电机块参数对话框。在实体的一代选项卡,设置时间源Matlab的行动。观察默认MATLAB代码。

    dt =兰德(1,1);

    将实体相生时间参数随机化的代码dt表示随机坦克移民。

  4. 模拟模型更新。在仿真数据检查,观察到坦克到相同的随机初始气体量1

    万博1manbetx模型检查器的数据显示,实体是随机生成的

    观察坦克是随机生成的,但他们用规范方法泵泵是固定利率,因为服务时间1

    万博1manbetx模型检查器的数据显示,离开队列管理的实体一个常数的值为1

  5. 开槽发电机块对话框。在事件动作选项卡,产生行动字段中,输入代码。

    实体。CurrentGasLevel =兰迪([1,4]);

    坦克到达车站范围从一个随机的气体量14

  6. 模拟模型更新。在仿真数据检查,观察到坦克到随机量的气体。

    万博1manbetx模型检查器的数据显示,实体与随机生成的初始气体值

  7. 泵座,设置这些参数:

    1. 事件动作选项卡上,选择服务完成

    2. 服务完成行动字段中,输入代码。

      实体。CurrentGasLevel =实体。CurrentGasLevel + 3;

      每个柜装满3单位的气体1持续时间,然后离开。

    观察到坦克发电机和水泵街区更新事件动作图标{…}表示块定义一个事件行动。

    坦克上的模型与事件动作图标生成器和泵

  8. 模拟模型更新。在仿真数据检查,观察每个坦克离开车站3额外的单位的气体。

    万博1manbetx模型数据检查显示实体离开泵添加气体

修改后的排队系统模型来管理实体

这是修改后的模型后,配置简单的排队系统。

另请参阅

|||

相关的话题