一种基于时空规则的车间生产与天车协同调度方法及装置

文档序号:26141865发布日期:2021-08-03 14:26阅读:107来源:国知局
一种基于时空规则的车间生产与天车协同调度方法及装置

本发明属于车间生产与天车协同调度技术领域,更具体地,涉及一种基于时空规则的车间生产与天车协同调度方法及装置。



背景技术:

以铸管生产为例,其存在将铁水浇铸为成品铸管的环节,一般将处理铁水的生产区域称为铁水区,将接收铁水后开始热模铸管工艺的生产区域称为热模区。在热模区里,天车凭借可负载质量大、运行相对平稳、不占用地面空间等优点成为此类生产物流的主要运输工具;其显著特点是必须在轨道上运行,同轨道天车不可越过其他天车运动,故天车在轨道上常与其他天车产生运动冲突。

而天车调度是连接车间生产中发生在不同工位上工序的控制环节,主要目的是保证生产物流畅通,但目前大多数此类生产仍依靠人工经验调度天车,缺乏高效性和全局性。



技术实现要素:

针对上述问题,本发明的目的在于提供一种基于时空规则的车间生产与天车协同调度方法及装置,以解决现有生产调度活动效率低下、冲突频发的问题。

为实现上述目的,本发明提供了一种基于时空规则的车间生产与天车协同调度方法,包括以下步骤:

s1,建立并初始化事件表和资源表;所述事件表包括与工件、工序、工位、事件类型以及发生时刻相关的信息,所述事件类型分为调运完成、等待调运以及调运开始;所述资源表包括与天车资源、工位资源以及空间资源的占用状态相关的信息;

s2,推进系统时钟,并处理当前系统时钟对应的事件,若为调运完成事件,则生成等待调运事件,并插入事件表;若为调运开始事件,则生成调运完成事件,并插入事件表;若为等待调运事件,则执行s3;

s3,基于所述资源表,选择与当前工位在同一可用空间内最早空闲的天车,以及离当前工位最近的目标工位,所述目标工位指当前工序的紧后工序对应的工位集合中与当前工位在所述同一可用空间内的工位;基于选定的天车以及目标工位,修改所述资源表,生成调运开始事件,并插入事件表;

s4,重复执行s2和s3,直至所述事件表为空。

进一步地,在执行s3之前,在预设时间间隔内,若存在多个位于同一可用空间内且完成同一工序的等待调运的工件集合,则执行s3';若不存在,则执行s3;

s3',选择出与所述工件集合在同一可用空间内的所有空闲天车以及目标工位;将所述工件集合对应的工位坐标、所有空闲天车坐标和所有目标工位坐标均按照升序或降序排列,并按照排序对工位-空闲天车-目标工位进行一对一匹配,修改所述资源表,生成调运开始事件,并插入事件表。

进一步地,在执行s1之前,所述方法还包括:

采集工件、工序、工位以及天车的信息,具体包括:采集所有工序编号、工序与工位的对应关系、每一道工序的紧后工序集、每一道工序的持续时间和每一道工序的起吊和卸载时间;建立覆盖天车轨道的一维坐标系,获取所有工位编号、所有天车编号、每一个工位对应的坐标和每一辆天车的初始坐标。

进一步地,所述s3中,在基于选定的天车以及目标工位,修改所述资源表之前,还包括:

判断当前工位与选定的目标工位的运动路径上是否存在需要避让的空闲天车,若存在,则修改所述需要避让的空闲天车的占用状态以及避让后天车位置坐标。

为实现上述目的,本发明还提供了一种基于时空规则的车间生产与天车协同调度装置,包括:

建表以及初始化模块,用于建立并初始化事件表和资源表;所述事件表包括与工件、工序、工位、事件类型以及发生时刻相关的信息,所述事件类型分为调运完成、等待调运以及调运开始;所述资源表包括与天车资源、工位资源以及空间资源的占用状态相关的信息;

第一处理模块,用于推进系统时钟,并处理当前系统时钟对应的事件,若为调运完成事件,则生成等待调运事件,并插入事件表;若为调运开始事件,则生成调运完成事件,并插入事件表;若为等待调运事件,则执行第二处理模块的操作;

所述第二处理模块,用于基于所述资源表,选择与当前工位在同一可用空间内最早空闲的天车,以及离当前工位最近的目标工位,所述目标工位指当前工序的紧后工序对应的工位集合中与当前工位在所述同一可用空间内的工位;基于选定的天车以及目标工位,修改所述资源表,生成调运开始事件,并插入事件表;

重复模块,用于重复执行所述第一处理模块和第二处理模块的操作,直至所述事件表为空。

进一步地,所述装置还包括:

事件批处理模块,用于在预设时间间隔内,若存在多个位于同一可用空间内且完成同一工序的等待调运的工件集合,则选择出与所述工件集合在同一可用空间内的所有空闲天车以及目标工位;将所述工件集合对应的工位坐标、所有空闲天车坐标和所有目标工位坐标均按照升序或降序排列,并按照排序对工位-空闲天车-目标工位进行一对一匹配,修改所述资源表,生成调运开始事件,并插入事件表。

进一步地,所述装置还包括:

采集模块,用于采集工件、工序、工位以及天车的信息,具体包括:采集所有工序编号、工序与工位的对应关系、每一道工序的紧后工序集、每一道工序的持续时间和每一道工序的起吊和卸载时间;建立覆盖天车轨道的一维坐标系,获取所有工位编号、所有天车编号、每一个工位对应的坐标和每一辆天车的初始坐标。

进一步地,所述装置还包括:

判断模块,用于在选定的天车以及目标工位后,判断当前工位与选定的目标工位的运动路径上是否存在需要避让的空闲天车,若存在,则修改所述需要避让的空闲天车的占用状态以及避让后天车位置坐标。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明首先建立并初始化事件表和资源表,将事件类型分为调运完成、等待调运以及调运开始三大类;然后建立基于事件的系统时钟时间推进机制,为调运完成以及调运开始事件生成新的事件并更新事件表,为当下处理的等待调运事件分配资源,并修改资源表、生成对应事件;如此往复,实现基于时空规则的车间生产与天车协同调度。本发明能够避免工作中天车的运行冲突,明确系统各时刻的状态,提高车间生产的工作效率和资源的利用率,在工程实践中有一定的应用价值。

(2)本发明考虑到一个加工阶段存在多台并行机,每台并行机同一时间段只能加工一个工件,不同加工阶段之间有严格的顺序约束,当等待调运事件发生,需为其分配天车和紧后工序对应的工位,此时,通过引入事件批的概念,能够避免简单地基于贪婪思想(选择最近的天车、工位)进行分配而导致的空间资源的浪费。

附图说明

图1为本发明实施例提供的基于时空规则的车间生产与天车协同调度方法的流程图;

图2是本发明实施例提供的铸管生产中热模区和铁水区的调度方法流程图;

图3是本发明实施例提供的基于优先级的热模区天车调度算法流程图;

图4是本发明实施例提供的处理调运完成以及调运开始事件的流程图;

图5是本发明实施例提供的处理等待调运事件的流程图;

图6是本发明实施例提供的天车运行的时空图;

图7为本发明实施例提供的基于时空规则的车间生产与天车协同调度装置的框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

图1为本发明实施例提供的基于时空规则的车间生产与天车协同调度方法的流程图,该调度方法包括操作s1-操作s4。

操作s1,建立并初始化事件表和资源表;所述事件表包括与工件、工序、工位、事件类型以及发生时刻相关的信息,所述事件类型分为调运完成、等待调运以及调运开始;所述资源表包括与天车资源、工位资源以及空间资源的占用状态相关的信息。

具体的,在执行s1之前,所述方法还包括:

采集工件、工序、工位以及天车的信息,具体包括:采集所有工序编号、工序与工位的对应关系、每一道工序的紧后工序集、每一道工序的持续时间和每一道工序的起吊和卸载时间;建立覆盖天车轨道的一维坐标系,获取所有工位编号、所有天车编号、每一个工位对应的坐标和每一辆天车的初始坐标。

操作s2,推进系统时钟,并处理当前系统时钟对应的事件,若为调运完成事件,则生成等待调运事件,并插入事件表;若为调运开始事件,则生成调运完成事件,并插入事件表;若为等待调运事件,则执行s3。

操作s3,基于所述资源表,选择与当前工位在同一可用空间内最早空闲的天车,以及离当前工位最近的目标工位,所述目标工位指当前工序的紧后工序对应的工位集合中与当前工位在所述同一可用空间内的工位;基于选定的天车以及目标工位,修改所述资源表,生成调运开始事件,并插入事件表。

具体的,在执行s3之前,在预设时间间隔内,若存在多个位于同一可用空间内且完成同一工序的等待调运的工件集合,则执行s3';若不存在,则执行s3;

s3',选择出与所述工件集合在同一可用空间内的所有空闲天车以及目标工位;将所述工件集合对应的工位坐标、所有空闲天车坐标和所有目标工位坐标均按照升序或降序排列,并按照排序对工位-空闲天车-目标工位进行一对一匹配,修改所述资源表,生成调运开始事件,并插入事件表。

进一步地,所述s3中,在基于选定的天车以及目标工位,修改所述资源表之前,还包括:

判断当前工位与选定的目标工位的运动路径上是否存在需要避让的空闲天车,若存在,则修改所述需要避让的空闲天车的占用状态以及避让后天车位置坐标。

操作s4,重复执行s2和s3,直至所述事件表为空。

可以理解的是,当工件完成所有工序以后,不再生成新的事件,故当所有工件均完成加工后,事件表为空。

图7为本发明实施例提供的基于时空规则的车间生产与天车协同调度装置的框图。参阅图7,该基于时空规则的车间生产与天车协同调度装置700包括建表以及初始化模块710、第一处理模块720、第二处理模块730、重复模块740。

建表以及初始化模块710例如执行操作s1,用于建立并初始化事件表和资源表;所述事件表包括与工件、工序、工位、事件类型以及发生时刻相关的信息,所述事件类型分为调运完成、等待调运以及调运开始;所述资源表包括与天车资源、工位资源以及空间资源的占用状态相关的信息;

第一处理模块720例如执行操作s2,用于推进系统时钟,并处理当前系统时钟对应的事件,若为调运完成事件,则生成等待调运事件,并插入事件表;若为调运开始事件,则生成调运完成事件,并插入事件表;若为等待调运事件,则执行第二处理模块的操作;

第二处理模块730例如执行操作s3,用于基于所述资源表,选择与当前工位在同一可用空间内最早空闲的天车,以及离当前工位最近的目标工位,所述目标工位指当前工序的紧后工序对应的工位集合中与当前工位在所述同一可用空间内的工位;基于选定的天车以及目标工位,修改所述资源表,生成调运开始事件,并插入事件表;

重复模块740例如执行操作s4,用于重复执行所述第一处理模块和第二处理模块的操作,直至所述事件表为空。

基于时空规则的车间生产与天车协同调度装置700用于执行上述图1所示实施例中的基于时空规则的车间生产与天车协同调度方法。本实施例未尽之细节,请参阅前述图1所示实施例中的基于时空规则的车间生产与天车协同调度装置方法,此处不再赘述。

下面以铸管热模生产为例,对本发明进行进一步详细说明。

图2是本发明实施例提供的铸管生产中热模区和铁水区的调度方法流程图。参阅图2至图6,该调度方法包括:

s1:数据预处理,处理工序信息、空间布局、资源约束等数据;

收集依赖天车衔接的相关工序信息,为所有工序、工位、天车编号,确定工序与工位的对应关系、每一道工序的紧后工序集、每一道工序的持续时间、每一道工序的起吊和卸载时间,将工件在天车上的一次完整起吊、移动、卸载定义为一项调运任务。以天车轨道一端为原点,建立覆盖天车轨道的一维坐标系,每一个工位对应的坐标、每一辆天车的初始坐标。将天车轨道空间集合视为空间资源,与工位资源、天车资源一并纳入基于时间段的资源的占用状态的修改机制的作用范围。

s1涉及到如下参数:

i——工件,指生产过程中的原材料或半成品,i∈{1,2,…,i};

j——天车,j∈{1,2,…,j};

s——工位,工件加工的场所,s∈{1,2,…,s};

p——工序,工件加工的过程,p∈{1,2,…,p};

o——调运任务,简称任务,指由工件从一个工位运输至另一个工位的过程,o∈{1,2,…,o};

v——天车运动的速度;

aj——天车j的坐标;

as——工位s的坐标;

——天车j调运工位s上工件i的起吊时间;

——天车j调运工位s上工件i的卸载时间;

其中,天车运行平稳,速度变化微小,可视为匀速运动。

s2:分别建立热模区和铁水区的事件表,将系统几类关键状态变化点对应定义事件并按发生的先后排序;

具体地,将热模生产工艺中的调运结束(工序开始)、工序结束(等待调运开始)、等待调运结束(调运开始)三类系统状态变化的时刻点对应定义事件。此三类事件可以描述天车调度系统的所有系统状态变化。此时可以明确整个加工过程中所有可能事件对应的事件类型、资源占用以及本事件处理完成后生成的新事件的类型。据此,建立并初始化事件表,插入待处理的事件,按发生的先后对事件排序,将最先发生的事件的发生时刻设为0时刻,更新事件表。

s2中热模区涉及到如下参数:

t——时刻

k——事件,k∈{1,2,…,k};

——事件表

tk——事件k发生的时刻,k∈{1,2,…,k};

——ⅰ类事件,工件i调运完成,到达工位s并开始工序;

——ⅱ类事件,工件i在工位s上完成工序,等待调运;

——ⅲ类事件,工件i在天车j上开始从工位s1到工位s2调运;

——工件i在工位s上等待调运的开始时间;

——工件i在工位s上等待调运的结束时间。

s3:分别设置热模区和铁水区的系统时钟,建立基于事件的系统时钟时间推进机制;

在每次事件表更新后推进系统时钟,取事件表中最先发生的事件对应的时刻设为系统所在时刻,并将其规定为“本时刻”。

s3中热模区涉及到如下参数:

t——热模区系统时钟。

则每次热模区系统时钟推进可表示为t=min(tk),其中

s4:热模区的事件处理与资源分配,为当下处理的事件分配资源,生成对应事件;

此天车调度算法基于资源的占用情况调度天车,故需要提前知道调度任务出现时刻,即ⅱ类事件发生时刻,各资源的占用状况,这要求本算法能描述热模生产过程,以准确判断各时刻点的资源占用情况。步骤s1到步骤s3建立了判断各时刻点的资源占用情况的体系,步骤s4正式开始分配资源,处理事件。

s4涉及到如下参数:

δtgap——事件批内最大允许间隔时间;

——天车j向工位s移动的前置时间;

——某时段内天车j占用的空间资源集合;

——某时段内所有已分配的空间资源集合;

——t时刻所有已分配的空间资源集合;

——t时刻所有未分配的空间资源集合。

据此,我们容易找到热模区中事件和资源占用之间的对应关系,见表1:

表1

容易想到,在事件发生时,天车j应该到达工位s1,故考虑天车移动的前置时间,记其为规定此前置时间最大不超过其中aj为天车j接受此调运任务前的位置。

若以为零时刻点,为工件i在天车j上从s1到s2的调运活动分配空间资源假定则天车j从时刻τ到事件发生前,对空间资源的占用为:

(a)在天车j移动的前置时间里,为天车j分配的空间资源的集合为

(b)天车j到达工位s1开始起吊工件i,起吊时间段表示为为天车j分配的空间资源为单点集合

(c)天车j完成起吊后开始从工位s1向工位s2运动,无避让情况下移动的时长为易得移动的时间段:为天车j分配的空间资源集合为

(d)天车j到达工位s2后开始卸载工件i,卸载耗时则卸载时间段表示为:为天车j分配的空间资源为单点集合

上述4个阶段里天车j的时空图见图6。

我们在为天车j分配空间资源时,在时间段(a)、(c)考虑了天车j未来一段时间对空间资源的占用,故将天车j在时间段(a)、(c)里未来可能占用的空间也分配给它,然而在时间τ向未来推进时,即在同一时间段中随着τ增大,一部分空间资源将被释放,具体可见时间段(a)、(c)里被分配给天车j的空间资源集合。

将上述空间资源的分配用下式表示:

则在某时刻,某时段内所有已分配的空间资源的并集为有:

除此之外的空间状态为空闲,且在空间上分隔了空闲空间。据此,可得t时刻已分配的空间资源集合和未分配的空间资源集合用于判断t时刻的空间资源约束。值得说明的是,算法不会向空闲天车分配空间资源。

在确定资源约束的描述后,考虑热模生产中常见的多并行机现象:一个加工阶段存在多台并行机,每台并行机同一时间段只能加工一个工件,不同加工阶段之间有严格的顺序约束。结合事件考虑,当事件发生,需为其分配天车和紧后工序对应的工位,若简单地基于贪婪思想(选择最近的天车、工位)进行分配,极易造成空间资源的浪费。为避免这种情况,引入事件批概念:在未被分隔的同一空闲空间内,同一工序(避免起吊、卸载时间差异过大)对应的不同工位处、事件发生最大时间间隔不超过δtgap的ⅱ类事件集合。相应地,我们引入以下概念:

备选天车:本时刻未被使用的天车;

备选天车群:本时刻未被使用且未被分隔的天车集合。

据此,我们制定了择车优先级,见表2:

表2

另外,考虑到现实中天车移动时间相对于天车起吊、卸载时间而言很短,所以不单独将天车移动的前置时间纳入优先级的考虑范围内。表2只考虑本事件发生的时刻天车是否空闲,而在天车被分配时,需要考虑移动的前置时间,检索本事件发生的时刻之前各资源的占用情况,确定对应的ⅲ类事件最早能发生的时刻,从而缩短等待调运活动的时间,即

选定天车后,寻找最近的目标工位(目标工位指本工序的紧后工序对应的工位集合中,与本工位在同一空闲空间内的工位),若不存在目标工位,则继续等待调运。具体的分配规则见图5。

综上,对于热模区调度的核心——天车调度,本发明设计了一套基于优先级的天车调度算法,其主流程见图3;

其中,ⅰ类、ⅲ类事件的发生分别对应工序开始和调运开始,此时工件的加工、调运时长和资源占用已经由之前的ⅱ类事件确定,故对此两类事件的处理更加简单直观。相应的事件处理子程序流程见图4;

而对事件的处理是基于优先级的天车调度算法的核心:在确定此事件对应的事件时,算法既要分配天车,又要分配工位,还要分配空间,即需要修改从过去(天车移动的前置时间)到未来一段时间里上述资源的占用情况。此过程依赖基于优先级的调度子程序,具体的流程见图5。

需要强调的是,天车、工位、空间此三者的分配只在此模块中进行。分配成功后,资源在一段特定的时间里被占用。当天车资源被占用时,算法只需要改变其占用状态和调运任务或避让结束时的位置坐标,而不关注其工作时所处位置。

由上可知,热模区的系统时钟推进是基于事件的,而资源的占用则直接与时间相关。当系统时钟推进到某事件发生时,我们可以确定此时刻前后的时间里各资源的占用状况,如此才可进行资源分配。

s5:更新热模区事件表,检查起始工序对应工位是否被占用,准备发出“需要铁水”信号;

算法完成一次事件处理后,在热模区事件表中插入新生成的事件,删除已处理的事件,按发生的先后对事件排序,更新事件表。

另外,热模生产是将铁水加工成铸管的过程,故热模车间的起始工序必然是处理来自铁水区的铁水,我们只考虑起始工序的结束后等待调运,故仅为该工序分配ⅱ类事件当起始工序对应工位空闲,说明热模车间无铁水进行下一批次铸管的生产,需要发出“需要铁水”信号,向铁水区索要铁水。这是一种基于贪婪想法的热模区和铁水区的衔接:尽可能快地向热模区供应铁水,依靠热模区的天车调度算法完成后续调度,加快生产节奏。

热模区和铁水区的衔接综合参考图2、图3。

s6:重复步骤s4、s5至“需要铁水”信号的发出。

s6涉及到如下参数:

t——系统时钟;

——铁水区系统时钟;

s7:载入上一次保存的铁水区事件表和铁水区系统时钟。

s7涉及到如下参数:

——铁水区系统时钟;

——铁水区事件表;

s8:依据预先设定的指标计算发生在铁水区的可能执行的事件优先级并排序;

(1)计算当前周期送铁水至热模车间的最大可自由控制的时间;

(2)计算当前周期送铁水至冷模车间的最大可自由控制的时间;

(3)计算下一周期送铁水至热模车间的最大可自由控制的时间;

(4)计算下一周期送铁水至冷模车间的最大可自由控制的时间;

(5)对四个计算得到的值从小到大排序。

s8涉及到以下参数:

гh——铁水区热模工序集合,гh={1,2,…,гh},γh∈гh;

гc——铁水区冷模工序集合,гc={1,2,…,γc},γc∈γc;

δc——冷模车间的周期集合,δc={1,2,…,δc},δc∈δc;

——当前进行的热模工艺;

——当前进行的冷模工艺;

——当前冷模周期;

——每一个热模工序γh所需要的平均时间(单位:秒);

——每一个冷模工序γc所需要的平均时间(单位:秒);

——第δ个周期的冷模车间的生产节拍(单位:秒);

τh——热模车间的生产节拍(单位:秒);

t——系统时钟;

——铁水区系统时钟;

从而具体活动为:

(1)计算当前周期送铁水至热模车间的最大可自由控制的时间

(2)计算当前周期送铁水至冷模车间的最大可自由控制的时间

(3)计算下一周期送铁水至热模车间的最大可自由控制的时间

(4)计算下一周期送铁水至冷模车间的最大可自由控制的时间

(5)对四个计算得到的值从小到大排序,并根据排序结果分别赋予优先级1、2、3、4。

s9:依次判断s8中事件能否执行,若能执行则放入铁水区事件表;

(1)对进行优先级排序后的事件依次做如下判断;

作为本申请事件能否加入到事件表中需要进行如下两种判断:

(a)该事件的紧前事件是否已经完成;

(b)该事件是否满足资源约束;

(2)若判断结果全为是,将该事件加入到铁水区事件表中,并更新可用资源列表。

s9涉及到以下参数:

λ——铁水区资源集合,λ={1,2,…,λ},λ∈λ;

χγλ——工序γ对铁水区资源λ的需求情况,χγλ∈{0,1};

xλ——铁水区资源λ的占用情况,χγλ∈{0,1};

——铁水区事件表;

γ1′——优先级为1的应放入铁水区事件表的工序;

γ2′——优先级为2的应放入铁水区事件表的工序;

γ3′——优先级为3的应放入铁水区事件表的工序;

γ4′——优先级为4的应放入铁水区事件表的工序;

——工序γi的紧前工序;

从而具体活动为:

(1)初始化计数变量i=1;

(2)对γi′做如下判断;

作为本申请事件能否加入到事件表中需要进行如下两种判断:

(a)该事件的紧前事件是否已经完成:

(b)该事件是否满足资源约束;

(3)若判断结果全为是,将该事件加入到铁水区事件表中:并更新资源占用情况:令xλ=1

(4)i=i+1;循环(1)到(4)直至i大于4。

s10:推进时钟并更新铁水区事件表。

s10涉及到以下参数:

——铁水区系统时钟;

——铁水区事件表;

tγ——工序γ所需要的时间;

——铁水区事件表中最快结束的工序;

λ——铁水区资源集合,λ={1,2,…,λ},λ∈λ;

χγλ——工序γ对铁水区资源λ的需求情况,χγλ∈{0,1};

xλ——铁水区资源λ的占用情况,χγλ∈{0,1};

从而具体活动为:

推进铁水区时钟:

释放对应工序所需要的资源:令xλ=1

s11:重复步骤s8到s10,直至事件“运送铁水至热模车间”发生;

s12:保存铁水区事件序列,向热模区事件表中插入对应的ⅱ类事件并跳转至步骤s4。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1