主要内容

eventTimer

类:matlab.DiscreteEventSystem
包:matlab

创建实体计时器事件

语法

事件= eventTimer(标签,延迟)

描述

事件= 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