主要内容

中的实体SimEvents模型

实体是离散事件模拟中感兴趣的离散项。根据定义,这些项被调用实体在SimEvents®软件在模拟过程中,实体可以通过队列、服务器、门和交换机组成的网络。实体可以携带数据,在SimEvents软件中称为属性

SimEvents模型通常包含至少一个生成实体的源块。模型中的其他SimEvents块处理源块生成的实体。

请注意

实体与事件不同。事件是改变状态变量、输出和/或其他事件发生的瞬时离散事件。看到事件和事件处理获取详细信息。

实体在不同应用中的意义

您可以根据所建模的内容来确定实体的含义。该表列出了各种应用程序中的实体表示示例。

示例应用程序的上下文 实体
机场跑道排队 等待进入跑道的飞机
通信网络 要传输的数据包、帧或消息
电梯群 乘坐电梯的人
用于装配零件的输送带 组装部件
计算机操作系统 计算任务或作业

改变实体的解释

单个模型可以使用实体来表示不同种类的项。例如,如果您正在建模一个处理两种不同类型部件的工厂,您可以:

  • 使用两个实体发电机块来创建两种部件。

  • 使用一个实体发电机块,然后分配一个属性来表示每个实体所代表的部分类型,并分配另一个属性来表示一个属性。

请注意

SimEvents实体基本上与Simulink相同金宝app®和Stateflow®消息。

可视化实体

实体不会显式地出现在模型窗口中。图形块可以表示处理实体的组件,但是实体本身没有图形表示。但是,您可以使用Simulink作用域收集有关实体的信息。金宝app实体连接线不能分支。如果您的应用程序需要一个实体到达多个块,请使用实体复制因子块来创建实体的副本。

存储实体

这些块能够保存一个实体:

  • 实体发电机

  • 实体队列

  • 组播接收队列

  • 实体服务器

  • 实体终结者

  • 离散事件图

  • MATLAB离散事件系统

  • 实体复制因子

  • 资源收购方

  • 资源发布人

这些块允许实体到达,但必须以模拟时钟的相同值输出或销毁实体:

  • 实体输入开关

  • 实体输出开关

  • 实体多播

  • 实体门

  • 复合实体创建器

  • 复合实体分配器

  • 资源池

实体类型

实体类型是与在模型中创建实体的任何块相关联的标识标记。为实体发电机块上的实体类型分配一个名称实体类型生成块的TAB。从这个块中,每个新实体接收这个标记。对象关联的实体类型的名称实体发电机在你的模型中可能是客户.起源于该块的每个实体都接收该实体类型。一个复合实体创建器Block还通过组合两个或多个现有实体来生成新的实体,以形成一个新的复合实体。您可以为实体类型(命名为结合默认情况下)。

请注意

实体复制因子Block还通过输出传入实体的副本来生成新的实体。但是,由于传入实体已经拥有一个实体类型,该块不会为副本创建新的实体类型。

当实体在模型中前进时,它的类型不会改变。即使实体获得属性、超时或计时器数据,使其具有更复杂的结构,实体类型也保持不变。虽然复合实体创建器块使用新的实体类型形成新的组合实体,底层实体类型保持不变。

默认情况下,SimEvents在模型中创建的每个新实体类型都使用该名称实体

实体发电机Block可以生成这些实体类型:

  • 匿名-没有名称的非结构化实体。对于匿名实体类型,只能指定实体优先级和初始数据值。

  • 结构化-在此块对话框中定义的结构化实体类型。中的实体名称、指定优先级和指定属性定义属性部份实体发电机块。属性是实体所携带的数据。在此选项卡中创建结构化实体是一种创建实体的方便方法,而无需在Simulink中创建关联的总线对象。金宝app

  • 总线对象—使用Simulink总线对象定义的实体类型。金宝app您可以命名实体,指定优先级,并为实体指定属性。要指定此实体类型,必须有一个在Simulink中创建的现有总线对象,并使用该总线对象名称作为实体类型的名称。金宝app这个总线对象:

    • 必须是在单一级别上具有一个或多个总线元素的有效总线对象。

    • 不能包含可变大小的元素。方法注册为总线对象的实体也存在此限制复合实体创建器块。

实体属性的数据和角色

您可以选择将数据附加到实体。这样的数据存储在一个或多个属性实体的。为属性定义名称和数值。例如,如果您的实体表示您正在通过通信网络传输的消息,则可以分配调用的数据长度指示每个特定消息的长度。您可以在模拟过程中读取或更改属性的值。

实体和属性可以是Simulink支持的任何数据类型,包括枚举类型。金宝app金宝app有关更多信息,请参见Simulink支持的金宝app数据类型金宝app

MATLAB支持的数据金宝app类型®但不被Simul金宝appink支持的可能不会在Si金宝appmulink模型和事件操作之间传递。您可以在事件操作中使用这些数据类型作为局部变量。

您可以选择使用Simulink总线对象指定实体的结构。金宝app当定义需要定义一次,但在模型中的多个位置使用的复杂实体结构时,此功能非常有用。此外,MATLAB离散事件系统而且离散事件图块要求您将实体指定为总线对象。有关总线对象的更多信息,请参见使用Simulink指定总线属性。金宝app总线对象数据类型

创建实体SimEvents模型

一个实体发电机块可以用来生成实体。缺省情况下,block创建基于时间的实体。你可以更改时间源参数选择用于生成实体的时间源。您可以使用以下命令创建基于时间的实体:

创建基于时间的实体

使用实体的一代块来创建基于时间的实体。的实体的一代允许您指定创建实体的时间段。

  1. 打开SimEvents块库。您可以使用Simulink浏览器金宝app或输入simevents在MATLAB命令窗口。

  2. 创建一个新模型。

  3. 从SimEvents库中拖动实体发电机块到新模型。

  4. 从SimEvents库中拖动实体队列块到新模型。

    • 连接实体发电机块的输入实体队列

    • 实体队列块,选择离开的实体数量d

  5. 从Simulink金宝app sink库中拖动范围块到新模型。连接范围的d端口实体队列块。

  6. 从SimEvents库中拖动实体终结者块到新模型。连接的输出实体队列块的输入实体终结者块。

生成、排队和终止实体的模型

在模拟时,作用域显示离开队列的实体。

10个实体在模拟结束时离开队列

请注意

不能将作用域连接到SimEvents行,如粗双箭头线所示。

创建随机实体

使用实体的一代块来创建基于时间的实体。的实体的一代允许您指定一个随机化操作(例如MATLAB兰德函数)在随机时间创建实体。

  1. 打开SimEvents块库。您可以使用Simulink浏览器金宝app或输入simevents在MATLAB命令窗口。

  2. 创建一个模型。

  3. 从SimEvents库中拖动实体发电机块到新模型。

    1. 双击该块并设置时间源参数MATLAB的行动

    2. 代际时间作用参数,输入对随机化函数的调用,例如兰德.例如:

      Dt = rand(1,1);

      实体生成器对话框

  4. 从SimEvents库中拖动实体队列块到新模型。

    • 连接实体发电机块的输入实体队列

    • 实体队列块,选择离开的实体数量d

  5. 从Simulink金宝app sink库中拖动范围块到新模型。连接范围的d端口实体队列块。

  6. 从SimEvents库中拖动实体终结者块到新模型。连接的输出实体队列块的输入实体终结者块。

在模拟时,作用域显示离开队列的实体。

实体以随机的时间间隔离开队列

另请参阅

|||||||||

相关的话题