主要内容

获得的资源

类别:matlab.DiscreteEventSystem
包裹:matlab

成功获取资源后的事件操作

语法

[entity,event,out1,…]=resourceAcquired(对象、存储、实体、资源、标记、in1,…)

描述

[实体,事件,out1,…]=resourceAcquired(obj,存储,实体,资源,标签,,...)指定离散事件系统对象的事件操作™ 成功获取资源后。只有在获取所有指定资源时,资源获取才会成功。

输入参数

全部展开

离散事件系统对象。

存储元素的索引。

获取资源的实体。实体具有以下字段:

  • 系统(MATLAB)结构)包括:

    • 身份证件(双重的)-实体ID

    • 优先事项(双重的)-实体优先权

  • 数据-实体数据

指定已获取资源的结构数组。

当前正在执行的资源获取事件的标记。

首先是数据输入。

输出参数

全部展开

获取资源的实体。

要计划的事件。请使用matlab.DiscreteEventSystem类方法来创建事件。每个事件都有以下字段:

  • 类型(特征向量)-活动类型

  • 延迟(双重的)-活动前的延迟

  • 优先事项(双重的)-活动的优先次序

  • 存储(双重的)-存储元素的索引

  • 标签(特征向量)-事件标签

  • 地方(MATLAB)结构)-来源或目的地(参见来源)

第一个数据输出。

例子

关于资源获取的事件行动

假设一个实体通过一个计划的事件获取源这个事件的标签是MyResourceAcquireEvent。然后,此收购调用获得的资源方法将实体转发到输出。

作用[实体,事件]=条目(对象,存储,实体,源)%输入时,获取一个Resource1类型的资源。resRequest=obj.resourceSpecification(“资源1”,1);事件=对象EventAcquisiteSource(重新请求,“MyResourceAcquireEvent”);终止作用[实体,事件]=已获取的资源(obj,存储,...实体、资源、标签)%获取资源后,将实体转发到输出。events=obj.eventForward(“输出”,储存量,0.0);终止

自定义资源收单机构

此示例演示如何使用资源管理方法创建自定义实体存储块,其中实体从指定的存储块获取资源资源库阻碍。

假设您管理的设施使用两种不同的材料生产零件,即材料1.和材料2.,以完成订单。零件生产后,将对其进行质量保证评估。

质量控制的两种测试方法是:

  • 测试1用于由材料生产的零件1..

  • 试验2用于由材料生产的零件2.

在生产阶段之后,根据零件的材料对其进行标记,以进行正确的测试。

有关详细信息,请参阅创建自定义资源收单机构块.

classdefCustomBlockAcquisiteSources%自定义资源获取块示例。方法(访问=受保护)作用num=getNumInputsImpl(obj)num=1;终止作用num=getNumOutputsImpl(obj)num=1;终止作用entityTypes=GetEntityTypeSimple(obj)entityTypes(1)=obj.entityType(“部分”);终止作用[输入,输出]=GetEntityPortSiml(obj)输入={“部分”}; 输出={“部分”};终止作用[storageSpec,I,O]=getEntityStorageImpl(obj)storageSpec(1)=obj.queueFIFO(“部分”, 1); I=1;O=1;终止作用resNames=getResourceNamesImpl(obj)%定义要获取的资源的名称。resNames=obj.resourceType(“部分”, {“测试1”,“测试2”}) ;终止终止方法作用[实体,事件]=条目(对象,存储,实体,源)%在实体条目上,从指定池获取资源。如果entity.data.Test==1%如果实体是从Material1生成的,则请求Test1。resReq=obj.resourceSpecification(“测试1”, 1);其他的%如果实体是从Material2生成的,则请求Test2。resReq=obj.resourceSpecification(“测试2”, 1);终止%从相应的池中获取资源。事件=对象事件收单机构资源(resReq,“测试标签”);终止作用[实体,事件]=已获取的资源(obj,存储,...实体、资源、标签)%获取资源后,将实体转发到输出。events=obj.eventForward(“输出”,储存量,0.0);终止终止终止
在R2019a中引入