主要内容

使用实体属性和实体优先级

您可以使用一个或多个实体将数据附加到一个实体属性.每个属性都有一个名称和一个数值。您可以在模拟过程中读取或更改属性的值。

例如,假设您的实体表示您正在通过通信网络传输的消息。您可以使用名为的属性将每个特定消息的长度附加到消息本身长度

您可以使用属性来描述实体的任何可测量属性。例如,你可以使用属性值来指定:

  • 下游服务器块使用的服务时间

  • 下游开关块所使用的开关准则

您还可以设置实体优先级,用于对事件进行优先排序

为实体添加属性

要将属性附加到实体,请使用实体发电机块。您可以附加属性,例如:

  • 常量值

  • 随机数

  • 在MATLAB中任意一个向量的元素®工作区或可在块对话框中键入的矢量

  • MATLAB函数的输出参数值

  • 信号值

  • 在Simulink中定义的函数的输出金宝app®或Stateflow®环境。

这些列表总结了结构化实体类型的属性值的特征。

属性值必须为:

  • 真实的或复杂的

  • 任何尺寸的数组,其中的尺寸在整个模拟过程中保持固定

  • 所有内置数据类型(int8uint8int16uint16int32,uint32

  • 枚举

对于一个给定的属性,值的特征必须在整个离散事件系统中保持一致。属性值不能为:

不允许作为属性值

  • 结构

  • 公共汽车

  • 可变大小的信号或可变大小的数组

设置属性

要构建和管理要附加到每个离去实体的属性列表,请使用定义属性部分的实体发电机块。每个属性显示为表中的一行。

使用这些控件,你可以:

  • 手动添加属性。

  • 修改先前创建的属性。

下的按钮设置属性执行这些操作。

按钮 行动 笔记

向表中添加一个属性。

重命名属性并指定其属性。

从属性表中删除所选属性。

以这种方式删除属性时,不会出现确认信息,而且无法撤消操作。

您还可以通过单击来组织属性了按钮向下的按钮

该表显示您手动添加的属性。使用它设置这些属性属性。

财产 指定 使用

属性名称

属性的名称。每个属性必须有一个唯一的名称。

双击现有名称,然后键入新名称。

属性初始值

要分配给属性的值。

双击该值,然后键入要分配的值。

编写函数来操作属性

要使用MATLAB代码操作属性,请使用事件动作块的标签。要访问属性,请使用表示法entityNameattributeName.例如:

实体。一个ttribute1 = 5;

假设您想在服务实体之后修改它的属性。

  1. 在一个新的模型中,来自SimEvents®图书馆,把实体发电机实体服务器,实体终结者把它们连接起来。

  2. 双击实体发电机块和,在实体类型选项卡中,向属性表中添加三个属性。

  3. 中双击第二个和第三个属性属性名称列,并将其分别重命名为Attribute2和Attribute3。

  4. 实体服务器块,点击事件动作选项卡。

  5. 点击服务完成中添加的实体属性,并输入MATLAB代码来操作实体发电机布洛克:

    点击好吧.的实体服务器块显示事件动作语言。

  6. 要查看动作,在模型中,悬停在实体服务器块事件动作图标块。

使用属性路由实体

假设实体代表经过质量控制过程和包装过程的制造品。通过质量控制测试的项目进入三个包装站之一,而不通过质量控制测试的项目进入两个返工站之一。你可以通过使用这些开关来建模决策过程:

  • 一个实体输出开关块,它根据存储质量控制测试结果的属性来路由项

  • 一个实体输出开关将合格的物品运送到包装站的路障

  • 一个实体输出开关阻塞将质量不合格的物品传送到返工站点

你可以用木块切换准则参数从属性选项使用属性来选择输出端口。有关示例,请参见将交通路口模型化为排队网络

实体优先级

SimEvents使用实体优先级对事件进行优先排序。优先级值越小,优先级越高。

在生成实体时指定实体优先级。在实体发电机块,实体类型选项卡,实体优先指定生成的实体的优先级值。

稍后可以使用事件操作更改实体优先级。例如,在实体发电机事件动作选项卡中,您可以定义一个事件动作来更改模拟过程中的实体优先级,使用如下代码:

entitySys.priority =MATLAB代码

实体优先级在事件日历(Event Calendar)中的事件优先级中发挥作用,该日历安排要执行的事件。

在SimEvents中,事件日历根据事件的时间和相关的实体优先级对事件进行排序,如下所示:

  1. 时间最早的事件优先执行。

  2. 如果两个实体同时有事件发生,具有较高优先级的实体的事件首先发生。

  3. 如果两个实体具有相同的优先级,则可以先处理任何一个事件。要以确定的顺序为实体服务,请更改实体的优先级之一。

例如,假设转发事件与退出块的实体相关联一个和进入块B.该事件的优先级是转发实体的优先级。如果有两个实体试图同时离开一个块,具有较高优先级的实体首先离开。

有关事件日历和调试SimEvents模型的更多信息,请参见调试SimEvents模型

另请参阅

||

相关的例子

更多关于