eventTimer
类:matlab.DiscreteEventSystem
包:matlab
创建实体计时器事件
语法
事件= eventTimer(标签,延迟)
输入参数
输出参数
例子
定义定时器事件
定义一个计时器事件。
函数(实体、事件)=条目(obj、存储实体,src)%定义一个计时器事件%——事件是关于当前事件动作上下文中的实体%——事件有一个自定义标记“超时”%——事件将3.0秒后执行事件= obj.eventTimer (“超时”,3.0);结束
自定义块计时器事件
这个例子使用一个自定义实体存储块和一个输入,两个输出,存储元素。一个实体类型的部分
与超时
属性输入自定义的存储块处理。超时
决定了零件的最大允许处理时间。当一个部分进入存储、两个计时器事件被激活。一个定时器跟踪处理时间的烤箱。这个定时器到期时,实体是转发到输出1
。另一个计时器作为一个故障保险和跟踪如果超过最大允许处理时间。这个定时器到期时,流程终止和实体是转发到输出2
。
有关更多信息,请参见自定义实体存储块与多个计时器事件。
classdefCustomEntityStorageBlockTimer < matlab.DiscreteEventSystem%一个自定义实体存储块和一个输入端口,两个输出端口和一个存储。% Nontunable属性属性(Nontunable)%的能力能力= 1;结束方法(访问=保护)函数num = getNumInputsImpl (~) num = 1;结束函数num = getNumOutputsImpl (~) num = 2;结束函数entityTypes = getEntityTypesImpl (obj) entityTypes = obj.entityType (“部分”);结束函数[inputTypes, outputTypes] = getEntityPortsImpl (obj) inputTypes = {“部分”};outputTypes = {“部分”“部分”};结束函数[storageSpecs, I, O] = getEntityStorageImpl (obj) storageSpecs = obj.queueFIFO (“部分”,obj.Capacity);I = 1;O = [1];结束结束方法函数(实体、事件)= PartEntry (obj、存储实体,源)%指定事件动作当实体进入存储。randi ProcessingTime = (15 [1]);event1 = obj.eventTimer (“超时”,entity.data.TimeOut);event2 = obj.eventTimer (“ProcessComplete”,ProcessingTime);事件= [event1 event2];结束函数(实体、事件)=计时器(obj、存储实体,标签)%为当预定定时器完成指定事件动作。事件= obj.initEventArray;开关标签情况下“ProcessComplete”事件= obj.eventForward (“输出”1 0);情况下“超时”事件= obj.eventForward (“输出”2 0);结束结束结束结束
版本历史
介绍了R2016a