您可以使用一个或多个实体将数据附加到一个实体属性.每个属性都有一个名称和一个数值。您可以在模拟过程中读取或更改属性的值。
例如,假设您的实体表示您正在通过通信网络传输的消息。可以使用名为的属性将每个特定消息的长度附加到消息本身长度
.
您可以使用属性来描述实体的任何可度量的属性。例如,你可以使用属性值来指定:
下游服务器块使用的服务时间
由下游开关块使用的开关准则
还可以设置实体优先级,用于对事件进行优先级设置
要将属性附加到实体,请使用实体发电机块。你可以附加如下属性:
常量值
随机数
在MATLAB中任意一个向量的元素®工作区或可以在块对话框中键入的向量
MATLAB函数的输出参数的值
信号值
在Simulink中定义的函数的输出金宝app®或Stateflow®环境。
这些列表总结了结构化实体类型的属性值的特征。
属性值必须为:
真实的或复杂的
任意维度的数组,其中维度在整个模拟过程中保持固定
所有内置数据类型(双
,单
,int8
,uint8
,int16
,uint16
,int32
,uint32
)
枚举
对于给定的属性,该值的特征必须在模型的整个离散事件系统中保持一致。属性值不能为:
不允许作为属性值
结构
公共汽车
可变大小的信号或可变大小的数组
帧
要构建和管理附加到每个分离实体的属性列表,请使用定义属性部分的实体发电机块。每个属性显示为表中的一行。
使用这些控件,您可以:
手动添加属性。
修改您先前创建的属性。
下的按钮设置属性执行这些操作。
按钮 | 行动 | 笔记 |
---|---|---|
向表添加一个属性。 |
重命名属性并指定其属性。 |
|
从属性表中删除选定的属性。 |
当以这种方式删除属性时,不会出现确认,也无法撤消操作。 |
您还可以通过单击来组织属性和.
该表显示您手动添加的属性。使用它来设置这些属性属性。
财产 | 指定 | 使用 |
---|---|---|
属性名称 |
属性的名称。每个属性必须有一个唯一的名称。 |
双击现有名称,然后键入新名称。 |
属性初始值 |
要分配给属性的值。 |
双击该值,然后键入要分配的值。 |
要使用MATLAB代码操作属性,请使用事件动作块的制表符。要访问属性,请使用表示法entityName.attributeName
.例如:
实体。一个ttribute1 = 5;
假设您希望在服务完成后修改实体的属性。
在一个新的模型中,来自SimEvents®图书馆,把实体发电机,实体服务器,实体终结者积木和连接它们。
双击实体发电机Block and, in the实体类型选项卡,将三个属性添加到属性表中。
中双击第二个和第三个属性属性名称列,并分别将其重命名为Attribute2和Attribute3。
在实体服务器块,点击事件动作选项卡。
点击服务完成,并输入MATLAB代码来操作添加到实体发电机布洛克:
点击好吧.的实体服务器块显示事件操作语言。
要查看模型中的动作,请将鼠标悬停在实体服务器块事件动作图标块。
假设实体代表经过质量控制过程和包装过程的制成品。通过质量控制测试的物品将进入三个包装工位中的一个,而不通过质量控制测试的物品将进入两个返工工位中的一个。你可以通过使用这些开关来模拟决策过程:
一个实体输出开关阻止基于存储质量控制测试结果的属性路由项目
一个实体输出开关阻止将质量合格的物品运送到包装站
一个实体输出开关阻止将质量不合格的物品运送到返工站
你可以使用block切换准则参数从属性
选项,使用属性选择输出端口。例如,请参见模型交通路口作为排队网络.
SimEvents使用实体优先级对事件进行排序。优先级值越小,优先级越高。
在生成实体时指定实体优先级。在实体发电机块,实体类型选项卡,实体优先指定生成实体的优先级值。
稍后您可以使用事件操作更改实体优先级。例如,在实体发电机块事件动作选项卡中,您可以定义一个事件动作来在模拟期间更改实体优先级,代码如下:
entitySys.priority =MATLAB代码
实体优先级在事件日历中的事件优先级中起作用,该日历计划要执行的事件。
在SimEvents中,事件日历根据事件的时间和关联实体的优先级对事件进行排序,如下所示:
时间最早的事件首先执行。
如果两个实体同时发生事件,优先级较高的实体发生的事件优先。
如果两个实体具有相同的优先级,则任何一个事件都可以先被服务。要以确定的顺序为实体提供服务,请更改实体的一个优先级。
例如,假设forward事件与退出块的实体相关联一个和进入块B.此事件的优先级是被转发实体的优先级。如果有两个实体同时离开一个块,优先级高的实体会先离开。
有关事件日历和调试SimEvents模型的详细信息,请参见调试SimEvents模型.