类别:matlab.DiscreteEventSystem
包裹:matlab
成功获取资源后的事件操作
[entity,event,out1,…]=resourceAcquired(对象、存储、实体、资源、标记、in1,…)
[
指定离散事件系统对象的事件操作™ 成功获取资源后。只有在获取所有指定资源时,资源获取才会成功。实体
,事件
,out1
,…]=resourceAcquired(obj
,存储
,实体
,资源
,标签
,内
,...)
假设一个实体通过一个计划的事件获取源
这个事件的标签是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);终止终止终止