主要内容

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

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

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

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

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

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

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

为实体附加属性

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

  • 常量值

  • 随机数

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

  • MATLAB函数的输出参数的值

  • 信号值

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

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

属性值必须为:

  • 真实的或复杂的

  • 任意维度的数组,其中维度在整个模拟过程中保持固定

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

  • 枚举

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

不允许作为属性值

  • 结构

  • 公共汽车

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

设置属性

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

使用这些控件,您可以:

  • 手动添加属性。

  • 修改您先前创建的属性。

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

按钮 行动 笔记

向表添加一个属性。

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

从属性表中删除选定的属性。

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

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

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

财产 指定 使用

属性名称

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

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

属性初始值

要分配给属性的值。

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

编写操作属性的函数

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

实体。一个ttribute1 = 5;

假设您希望在服务完成后修改实体的属性。

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

  2. 双击实体发电机Block and, in the实体类型选项卡,将三个属性添加到属性表中。

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

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

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

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

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

使用属性路由实体

假设实体代表经过质量控制过程和包装过程的制成品。通过质量控制测试的物品将进入三个包装工位中的一个,而不通过质量控制测试的物品将进入两个返工工位中的一个。你可以通过使用这些开关来模拟决策过程:

  • 一个实体输出开关阻止基于存储质量控制测试结果的属性路由项目

  • 一个实体输出开关阻止将质量合格的物品运送到包装站

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

你可以使用block切换准则参数从属性选项,使用属性选择输出端口。例如,请参见模型交通路口作为排队网络

实体优先级

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

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

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

entitySys.priority =MATLAB代码

实体优先级在事件日历中的事件优先级中起作用,该日历计划要执行的事件。

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

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

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

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

例如,假设forward事件与退出块的实体相关联一个和进入块B.此事件的优先级是被转发实体的优先级。如果有两个实体同时离开一个块,优先级高的实体会先离开。

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

另请参阅

||

相关的例子

更多关于