首页 理论教育 固定实体类

固定实体类

时间:2022-02-12 理论教育 版权反馈
【摘要】:它将持续接收临时实体,并在它们进入之后立即消除这些临时实体。暂存区是固定实体的一个子类。这两个过程结束后,释放临时实体。如果设定处理器在预置或处理期间使用操作员,则在每个操作开始时,它都将使用Request Operators命令调用用户定义的几个操作员,在此函数中,处理器作为站点,临时实体作为相关实体。请留意一个Request Operators任务序列是如何构建的,如Request Operators命令的文档中所描述。

1.生成器

生成器用来创建在模型中行进通过的临时实体。每个生成器创建一类临时实体,并能够为它所创建的临时实体分配属性,如实体类型或颜色。模型中至少有一个生成器。生成器可以按照每个到达时间间隔、每个到达时间表或一个定义的到达序中创建临时实体。

尽管生成器不接收临时实体,它也是固定实体的一个子类。相反,它创建并释放临时实体。因此,在其临时实体流参数页中没有输入部分。生成器可以按下面三种模式之一进行操作。

(1)到达时间间隔模式

在按时间间隔到达模式中,生成器使用到达时间间隔函数。此函数的返回值是直到下一个临时实体到达需要等待的时间。生成器等待这么长的时间,然后创建一个临时实体并释放。临时实体一离开,它再次调用间隔到达时间函数,并重复这一过程。注意,到达间隔时间定义为一个临时实体离开与下一个临时实体到达之间的时间,而不是一个临时实体到达与下一个临时实体到达之间的时间。如果想要将到达间隔时间定义为两次到达之间的真实时间,则在下游使用一个容量很大的暂存区,确保生成器在生成临时实体时立即将其释放。还可以指定间隔到达时间是否在第一个到达事件上使用,或者说,第一个临时实体是否在零时刻创建。

(2)到达时间表模式

在到达时间表模式中,生成器遵循一个用户定义的时间表来创建临时实体。此表的每一行指定了在仿真中某给定时间的一次临时实体的到达。对每个到达进入,可以指定到达时间、名称、类型、要创建的临时实体数目,以及这次到达附加的临时实体标签。到达时间应在时间表中正确排序,意思是每个进入时间应大于或等于先前进入的到达时间。如果将发生器设定为重复时间表,则在完成最后一个到达时立即循环回到第一个到达,导致第一个进入到达与最后一个进入到达发生在完全相同的时刻。这里提醒一下,当重复时间表时,第一个进入到达时间适用于第一次的时间表循环。这使得一个初始到达时间只执行一次,而不被重复。如果需要生成器在最后一次到达后和重复的第一次到达之间等待一段给定的时间,则在表的末尾添加一个进入,给它指定一个大于先前进入到达时间的到达时间,但是将那个新的进入的到达临时实体数量设为零。

(3)到达序列模式

到达序列模式与到达时间表模式项类似,只不过这里没有相关联的时间。生成器将创建给定表格行的临时实体,然后当那个进入的最后一个临时实体一离开,就立即转到表的下一行,也可以重复使用到达序列。

2.吸收器

吸收器用来消除模型中已经完成全部处理的临时实体。一旦一个临时实体进入吸收器,就不能再恢复。任何涉及即将离开模型的临时实体的数据收集,都应在它进入吸收器之前或在吸收器进入触发器中进行。

吸收器是固定实体的一个子类。它将持续接收临时实体,并在它们进入之后立即消除这些临时实体。由于它消除所有接收到的临时实体,所以吸收器在临时实体流分页里就没有任何送往逻辑。

有时需要循环利用临时实体而不是消除掉。这样可以提高模型的性能。要实现这点,不要使用吸收器,而代之为一个暂存区。进入暂存区的临时实体可以被移进模型中的其他部分而实现重新进入。

3.暂存区

暂存区用来在下游实体尚不能接收临时实体时暂时存储它们。暂存区的默认工作方式是先进先出式,意思是,当下游实体变为可用时,等待时间最长的那个临时实体首先离开暂存区。暂存区设有分批选项,可以积累临时实体到一个批次再释放它们。

暂存区是固定实体的一个子类。它将持续接收临时实体直到达到其最大容量。如果设定不分批,暂存区将会在临时实体到达之后立即释放它,并在释放每个临时实体之前调用收集,结束触发器。

(1)关于分批功能

如果激活了分批功能,则暂存区将会等待直到接收到的临时实体个数达到目标数量,然后作为一批同时释放所有的临时实体。最大等待时间默认值为零。最大等待时间为零意味着没有最大等待时间,或者暂存区将无限等待下去以收集一批临时实体。如果最大等待时间是非零值,则当第一个临时实体到达,暂存区就开始计时。如果计时已经到达最大限制而一个批次还未收集到,则暂存区停止收集,并全部释放已经收集的临时实体。在释放临时实体前调用收集结束触发器,一个指向本批次中第一个临时实体的引用作为函数的item参数传递,收集到的临时实体的数量作为parval(2)传递。如果将暂存区设置为“清空后接受下一批”,则当它一结束收集一个批次就立即关闭其输入端口,并一直等到整个批次离开才再次打开输入端口。如果暂存区不“清空后接受下一批”,则它在结束收集每个批次后立即就开始收集下一个批次。这意味着,在任何给定时间,暂存区中都可以有几个完成的批次在等待离开。

(2)暂存区的几种状态

①空:暂存区是空的。

②收集:暂存区在收集批量临时实体。

③释放:暂存区已完成批量的收集,正在释放这些临时实体。同样,如果暂存区不分批,而在其队列中有临时实体,则它将处于此状态。

④等待运输机:暂存区中有已经释放并准备好向下游移动的临时实体,但是正在等待一个运输机到达来捡取临时实体。

4.处理器

处理器用来在模型中模拟对临时实体的处理过程。处理过程仅被简单地模拟为一段强制的时间延迟。总延迟时间被分成预置时间和处理时间。处理器一次可以处理多个临时实体。处理器可以设置中断停机,并且经过随机或定期的时间间隔之后恢复在线状态。处理器可在其预置、处理及维修时间内调用操作员。当处理器中断停机时,所有正在处理的临时实体都会被延迟。

处理器是固定实体的一个子类。它还是合成器和分解器的父类。它持续地接收临时实体直到达到其最大容量。每个进入处理器的临时实体都将经过一段预置时间和随后的处理时间。这两个过程结束后,释放临时实体。如果最大容量大于1,则并行处理多个临时实体。

(1)预置/处理操作员

如果设定处理器在预置或处理期间使用操作员,则在每个操作开始时,它都将使用Request Operators命令调用用户定义的几个操作员,在此函数中,处理器作为站点,临时实体作为相关实体。这将导致处理器停下来等待,直到操作员到达。请留意一个Request Operators任务序列是如何构建的,如Request Operators命令的文档中所描述。还要了解Stop Object命令是如何工作的,可以参见命令集中的解释。一旦所有的操作员到达,处理器就恢复其操作。一旦操作完成,处理器就释放它所调用的操作员。如果处理器被设定为使用相同的操作员来完成预置和处理过程,则处理器要等到预置和处理操作都完成后才会释放操作员。

(2)MTBF/MTTR(平均故障间隔时间/平均修复时间)

如果MTBF函数返回一个非零值,则处理器会模拟停机和维修时间,可以指定在MTBF时间里应用哪种状态。尽管可以指定不是预置和处理状态的MTBF状态,但是处理器却只有在预置或处理操作中才可能中断停机。这意味着,虽然停留在其他状态的时间将会正确地累计,但即使累计的时间到达处理器要中断的适当时间,处理器实际上并不会中断停机,直到它又接收到一个产品并开始计时其预置时间。处理器在一次预置和一次处理过程中,最多只执行一次停机。对于处理时间很长的情况,了解这点很重要。

如果将处理器配置为使用操作员进行维修,则处理器将使用Request Operators命令调用用户定义的几个操作员来对站点进行维修。在命令中,处理器既作站点,也作涉及实体。维修操作一结束,就用Free Operators命令释放操作员。

(3)处理器的几种状态

①空闲:实体是空的。

②设置:实体处于建模人员定义的预置时间内。

③处理:处于建模人员定义的处理时间内。

④阻塞:实体已释放临时实体,但是下游实体没有准备好接收。

⑤等待操作员:实体在等待操作员到达来进行维修或者处理。

⑥等待运输机:实体已释放了临时实体,且下游实体也已准备好接收,但是运输机还没有捡取临时实体。

⑦停机:实体停机。

5.输送机

输送机用来在模型中沿一系列路径移动临时实体。通过创建输送机的不同分段来定义路径。每个分段可以是直段,也可以是弧段。弧段用转过的角度和半径定义。直段用长度定义。这样可以使输送机具有其所需要的弯曲度。输送机可以是可积聚的,也可以是非积聚的。

输送机是固定实体的一个子类。它有两种操作模式,可积聚模式与非积聚模式。在可积聚模式下,输送机像辊道输送机一样运作,即使输送机末端被阻塞,临时实体也可以在上面积聚。在非积聚模式下,输送机像皮带传送机一样运作,如果输送机被阻塞,则输送机上的所有临时实体都会停下。

当临时实体到达输送机时,先是它的前端到达输送机的起始端。然后开始沿着输送机的长度方向向下输送。一旦临时实体的全长被输送通过了输送机的起始端,输送机就重新打开其输入,可以接收另一个产品了。当临时实体的前端碰到输送机的末端时输送机就释放掉此临时实体。

输送机一次只接收一个临时实体,且一次只释放一个临时实体。意思是说,如果使用一个任务执行器将临时实体运入或运出输送机,一次只能有一个临时实体被运进来,一次也只能有一个临时实体等待一个输送机来从输送机上将其捡取。当同时有多个操作员捡取临时实体并将其运送到输送机上时,这一点很重要。为了实现同时操作,需要在输送机前端设置一个暂存区,因为暂存区可以同时接收多个临时实体。

6.分类输送机

分类输送机是一种非积聚式输送机,允许沿着输送机有多个输入位置,同时也有多个输出位置。每个输入/输出端口都有一个用户定义的输入/输出位置。

分类输送机是输送机的一个子类,而输送机又是固定实体的一个子类。分类输送机的每个输入端口都在沿着输送机长度方向上有一个关联入口位置。每个输出端口都有一个关联离开位置和一个阻塞参数。

7.合成器

合成器用来把模型中行进通过的多个临时实体组合在一起。它可以将临时实体永久地合成在一起,也可以将它们打包,在以后某个时间点上还可以再将它们分离出来。合成器首先从输入端口1接收一个临时实体,然后才会从其他输入端口接收后续的临时实体。用户指定从输入端口2及更大序号的端口接收的临时实体的数量。只有当用户要求的后续临时实体全部到达后,才开始对预置/处理时间计时。可以把合成器设置为在其预置、处理和维修时间期间需要操作员。

合成器是处理器的一个子类,而处理器又是固定实体的一个子类。在操作中,合成器首先从它的第一个输入端口接收一个临时实体。合成器将一直等待直到从输入端口1接收到一个临时实体,然后才允许其他临时实体进入。然后,它根据组成列表收集一批临时实体。组成列表指定了合成器每一批次从其他每个输入端口接收的临时实体的数量。组成列表的第1行是从输入端口2接收的临时实体数量,第2行对应输入端口3,依此类推。

合成器有三种操作模式:装盘、合并与分批。在装盘模式下,合成器将从输入端口2与更高序号的输入端口接收到的所有临时实体全部移入到由输入端口1接收的临时实体中,然后释放此容器临时实体。在合并模式下,除了从输入端口1接收到的那个临时实体,合成器将破坏掉其余所有的临时实体。在分批模式下,合成器仅在收集到本批次的临时实体并完成了预置和处理时间后释放所有临时实体。

8.分解器

分解器用来将一个临时实体分成几个部分。分离可以通过拆分一个由合成器装盘的临时实体,或者复制原始实体的多个复本来实现。在处理时间完成后进行分解/拆盘。可以设置分解器在其预置、处理和维修时间内需要操作员。

分解器是处理器的一个子类,而处理器是固定实体的一个子类。它接收一个临时实体,然后执行预置和处理时间。如果分解器是去托盘模式,则当预置和处理时间一结束,分解器就把去托盘数量的临时实体从临时实体移入到自身内部,然后释放拆出的所有临时实体,当所有拆盘分离出的临时实体全部离开分解器时,就释放容器实体。如果分解器是分解模式,则当预置和处理时间一结束,分解器就复制此临时实体,得到总数等于分隔数量的临时实体,然后释放所有的临时实体。对于去托盘和分解两种模式,一旦所有的临时实体离开分解器,分解器将立即接收下一个临时实体。

9.流节点

流节点用于将临时实体从一个位置移动到另一个位置,其移动过程伴随时间的消耗。使用“A”键点击拖动的简单连接方式,就可以使用流节点引导临时实体流。例如,如果需要产品花费一定时间从一个暂存区移动到一个处理器,则在两者之间放置一个流节点,并连接暂存区的输出端口与流节点的输入端口,然后连接流节点的输出端口与处理器的输入端口。

流节点是固定实体的一个子类。它将持续接收临时实体直到达到其最大容量。临时实体一进入流节点,流节点就对它执行送往函数。接着执行速度域段会找到临时实体的速度。然后将临时实体的位置设为自身的位置,并开始向送往函数返回的下游实体移动临时实体。临时实体一到达目标实体的位置,流节点就释放它。

流节点用来对临时实体的行进网络进行仿真,也可以用输送机来仿真行进网络。用输送机建模是从创建和连接行进网络路径的角度来进行描述,而使用流节点是从创建和连接行进网络的节点的角度来进行描述,在某些情况下能使建模相对更容易。然而,与输送机不同,流节点模式不提供沿路径积聚临时实体的功能,只允许用一个最大容量值来限制网络上的交通。因此,如果有一块行进区域需要定义更灵活的交通控制,则采用输送机而不要用流节点。还可以使用网络节点行进网络来代替流节点来实现,方法是:使用任务执行器临时实体,选中一个上游固定实体的“使用运输机”复选框,这个上游固定实体是用户想要临时实体从那里开始行进的实体,并从下列请求运输机下拉菜单中选中“Flow Item as Task Executer(临时实体作为任务执行器)”。

10.复合处理器

复合处理器用来模拟对临时实体的顺序的有序操作过程。用户对每个复合处理器实体定义一系列的处理过程。每个进入复合处理器的临时实体都将按顺序经历这些处理过程。复合处理器可能在处理过程中调用操作员。

复合处理器是固定实体的一个子类。它接收一个临时实体,将此临时实体放入其处理过程序列中逐个经过,然后释放此临时实体。一旦临时实体离开此复合处理器,它又接收一个临时实体,再经过这样的处理过程。复合处理器中同一时刻只能有一个临时实体。

如果有一个站点,涉及多个操作,各有不同的处理时间,并且/或者有不同的资源,则应该使用复合处理器,也可以将复合处理器当作不同类型操作的共享站点使用。例如,临时实体1需要经过操作A、B、C、D,临时实体2需要经过操作E、F、G、H,但是两种类型必须共享一个站点来进行处理。给复合处理器设定8个处理过程:A—H。对于临时实体类型1,将E—H的处理过程的处理时间设定为0;对临时实体类型2,将A—D的处理过程的处理时间设定为0。

11.货架

货架用来像在仓库货架上一样存储临时实体。货架的列数和层数可以由用户定义。用户可以指定位置来放置进入货架的临时实体。如果使用一个运输机实体来从一个货架捡取或传递临时实体,运输机将行进到货架中分配给那个临时实体放置的特定货格。货架也可以用来当作一个仓库的地面堆存,使用列号来指定在地面上放置临时实体的X位置,用层来指定放置临时实体的Y位置。

货架是固定实体的一个子类。它将持续接收临时实体直到达到其最大容量。每当一个临时实体进入货架时,则对那个临时实体执行最小停留时间函数。此函数返回此临时实体的最小停留时间,货架为那段时间启动一个计时器。当计时到时,货架就释放此临时实体。

12.储液罐

储液罐用来存储临时实体,而使模拟效果仿佛是在一个液体灌或池槽中存储一样。用户可以定义储液罐的流入流出速率。当液面上升或下降到用户定义的特定值时,可以触发某些事件。

储液罐是固定实体的一个子类。它将持续接收临时实体直到达到其最大容量。每当进入一个临时实体,它首先执行进入流速函数,改函数设定临时实体的体积,同时返回接收下一个临时实体之前所需的时间。如果还有空间再接收一个临时实体,储液罐将在上述函数返回的时间点创建一个事件来接收下一个临时实体。然后,如果此临时实体是储液罐的第一个临时实体,它将调用流出流速函数,并将在返回的时间点创建一个事件释放临时实体。

13.基本固定实体(BFR)

基本固定实体(BFR)是为开发人员提供的用来建立用户库的固定实体。它把固定实体的几乎所有可继承逻辑传递给拾取列表函数,这样,用户库开发人员就能够切实地指定固定实体的所有功能。

BFR是固定实体的一个子类。它用来指定重置、进入、离开以及消息触发器的逻辑,同时也包括停止/恢复实体、捡取/放置偏移、运输输入通知/完成、运输输出通知/完成及其他高级功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈