主要内容

resourceSpecification

类:matlab.DiscreteEventSystem
包:matlab

为资源获取或创建规范资源释放事件

语法

resRequest = resourceSpecification(资源、数量)

描述

resRequest= resourceSpecification (资源,)指定的名称和数量的资源eventAcquireResource或者是eventReleaseResource请求。

例如,这个代码指定了一个单位的Resource1和两个单位的Resource2

resRequest = obj.resourceSpecification (“Resource1”1);resRequest = [resReq obj.resourceSpecification (“Resource2”,2)];

如果你指定的金额eventReleaseResource超过的金额收购前,所有以前获得的资源被释放。

例如,假设一个实体先前获得的三种资源类型Resource1和四个类型的资源Resource2。这个代码指定的金额eventReleaseResource

resRequest = obj.resourceSpecification (“Resource1”2);resRequest = [resReq obj.resourceSpecification (“Resource2”5)];事件= eventReleaseResource (resReq '放弃');

释放后,实体类型的一个资源Resource1和零资源类型Resource2

您可以指定所有先前获得的资源利用的释放eventReleaseAllResources

输入参数

全部展开

指定名称的资源eventAcquireResource或者是eventReleaseResource请求。您可以指定多个资源。

指定的资源eventAcquireResource或者是eventReleaseResource请求。

输出参数

全部展开

资源请求收购或发布事件指定为一个向量的MATLAB结构。

例子

一个简单的资源规范的例子

当一个实体进入存储元素,它获得的资源。获得一个资源类型的实体Resource1和一个资源类型Resource2,它被定义为规范。然后使用规范eventAcquireResource与标签MyResourceAcquireEvent

函数(实体、事件)=条目(obj、存储实体,源)%在入口处,获得一个资源类型的Resource1 Resource2和一个资源类型。resRequest (1) = obj.resourceSpecification (“Resource1”1);resRequest (2) = obj.resourceSpecification (“Resource2”1);事件= obj.eventAcquireResource (resRequest,“MyResourceAcquireEvent”);结束

资源规范在一个自定义资源收购者

这个例子展示了如何使用资源管理方法来创建一个自定义实体存储块从指定哪些实体获取资源资源池块。

假设你管理一个工厂生产零部件从两个不同的材料,材料1和材料2,履行订单。后产生的一部分,是评估的质量保证。

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

  • 测试1从材料用于生产部分1

  • 测试2是用于零件生产材料2

生产阶段后,部分是根据他们的材料标记应用正确的测试。

有关更多信息,请参见创建一个自定义资源收购者

classdefCustomBlockAcquireResources < matlab.DiscreteEventSystem%定义资源获取块的例子。方法(访问=保护)函数num = getNumInputsImpl (obj) num = 1;结束函数num = getNumOutputsImpl (obj) num = 1;结束函数entityTypes = getEntityTypesImpl (obj) entityTypes (1) = obj.entityType (“部分”);结束函数(输入、输出)= getEntityPortsImpl (obj)输入= {“部分”};输出= {“部分”};结束函数[storageSpec, I, O] = getEntityStorageImpl (obj) storageSpec (1) = obj.queueFIFO (“部分”1);I = 1;O = 1;结束函数resNames = getResourceNamesImpl (obj)%定义资源的名称。resNames = obj.resourceType (“部分”,{“Test1”,“Test2”});结束结束方法函数(实体、事件)=条目(obj、存储实体,源)%在实体条目,获取指定的资源池。如果entity.data。测试= = 1%如果Material1实体产生Test1请求。resReq = obj.resourceSpecification (“Test1”1);其他的%如果Material2实体产生Test2请求。resReq = obj.resourceSpecification (“Test2”1);结束%获得相应的资源池。事件= obj.eventAcquireResource (resReq,“TestTag”);结束函数(实体、事件)= resourceAcquired (obj、存储、实体、资源标签)%资源收购后,提出了实体到输出。事件= obj.eventForward (“输出”0.0、存储);结束结束结束

版本历史

介绍了R2019a