主要内容

eventForward

类:matlab。DiscreteEventSystem
包:matlab

创建实体转发事件

语法

事件= eventForward (locationType locationIndex延迟)

描述

事件= eventForward (locationTypelocationIndex延迟创建事件以将实体从当前位置转发到新位置。然后,您可以通过在实现事件操作方法(例如)时将其作为输出参数返回来调度此事件条目

输入参数

全部展开

新位置的类型。指定“存储”如果新位置是离散事件系统的存储元素。指定“输出”如果您希望实体从离散事件系统的输出端口退出。

新位置的索引。如果位置类型为“存储”,表示存储元素的索引。如果位置类型为“输出”,表示输出端口索引。

当前模拟时间与实体将被转发的时间之间的时间延迟。

输出参数

全部展开

事件,将当前事件操作上下文中的实体转发到新位置。

例子

将当前实体转发到存储器

定义将当前实体转发到存储的事件。

函数(实体、事件)=条目(obj、存储实体,src)定义将当前实体转发到存储器的事件% 2的元素。事件应该被安排在0.8秒后执行。event1 = obj.eventForward (“存储”2、0.8);定义一个事件,将当前实体转发到输出端口1。事件将被安排在当前模拟时钟时间执行。event2 = obj.eventForward (“输出”,1,0);%定义事件为event1和event2事件= [event1, event2];结束

创建自定义实体存储块来延迟实体

此示例显示如何使用离散事件系统对象™方法创建具有一个输入端口,一个输出端口和一个存储元件的自定义实体存储块。离散事件系统对象是实例化的matlab。DiscreteEventSystem类,允许您使用此类提供的实现和服务方法。然后,你使用MATLAB离散事件系统块将System对象集成到sievents中®模型。

自定义MATLAB离散事件系统块从其输入端口接收一个实体,并以指定的延迟将其转发到其输出端口。有关更多信息,请参见使用自定义实体存储块延迟实体

classdefcustomentitystorageblock %一个自定义实体存储块,具有一个输入、一个输出和一个存储。% Nontunable属性特性(Nontunable)%的能力能力= 1;%的延迟延迟= 4;结束方法(访问=保护)函数num = getNumInputsImpl(~) num = 1;结束函数num = getNumOutputsImpl(~) num = 1;结束函数EntityTypes = getEntitytypesimpl(obj)entitytvepes = obj.entitytype('车');结束函数[inputTypes,outputTypes] = getEntityPortsImpl(obj) inputTypes = {'车'};outputTypes = {'车'};结束函数[StoragePecs,i,O] = getEntitystorageimpl(obj)storagespecs = obj.queuefifo('车', obj.Capacity);I = 1;O = 1;结束结束方法函数(实体、事件)= CarEntry (obj、存储实体,源)%指定实体进入存储时的事件操作。事件= obj.eventForward (“输出”1、obj.Delay);结束结束结束
介绍了R2016a