炼钢连铸车间物流仿真系统中多吊车的冲突处理方法

文档序号:8142402阅读:274来源:国知局
专利名称:炼钢连铸车间物流仿真系统中多吊车的冲突处理方法
技术领域
本发明涉及仿真方法,尤其涉及炼钢连铸车间物流仿真系统中多吊车的冲突处理 方法。
背景技术
在钢铁、化工和建筑等大型结构物件制造加工行业快速发展的今天,吊车作为具 备较高机动性的起吊搬运机械,被广泛应用于相关行业的车间、港口和工地等地,并发挥着 越来越重要的作用。在炼钢连铸车间内,为了满足繁忙的物流需求,甚至将多台吊车布置在同一跨内, 并且这种布置是普遍存在的现象。由此引起了布置在同一跨内的多吊车的冲突问题。在实 际生产过程中,多吊车的冲突问题一般通过人工方式进行干预和处理。但在应用仿真方法 研究炼钢连铸车间物流问题,分析其物流瓶颈和关键路径,并辅以对生产调度策略进行分 析和综合的物流仿真系统中,却无法通过人工的方式处理多吊车的冲突问题,必须预先设 计合理周全的避撞策略,然后让吊车按照既定的策略运行。然而,由于该问题本身的复杂程 度和人们对它的认知深度等原因,至今还没有一套完善、系统的方法可用于解决炼钢连铸 车间物流仿真系统中多吊车的冲突。

发明内容
本发明所要解决的技术问题是以物流仿真系统中的多吊车冲突问题为研究对 象,结合炼钢连铸车间的工艺要求,提出了一种有效的多吊车冲突问题的解决方法。本发明解决其技术问题采用以下的技术方案
本发明提供的炼钢连铸车间物流仿真系统中多吊车的冲突处理方法,其包含以下要点。
(1)对吊车的任务或作业区域进行划分
结合炼钢连铸车间的工艺要求,对不同吊车的作业区域进行限定,或者为不同吊车指 派不同类型的起吊搬运任务;
(2)插入先占任务,让吊车反方向避让的冲突处理函数
冲突处理函数的基本思路是两台可能发生冲突的吊车都不断地判断是否需要抢占当 前激活的任务序列,冲突发生时,其中必定有一台吊车激活的任务被先占,即吊车停止执行 当前激活的任务序列,转而执行任务序列队列中新插入的一个先占任务序列,让吊车向与 其冲突的吊车的反方向避让,移开一定的安全距离并随后等待一段给定的时间;
(3)吊车任务序列的优先级和先占值的设定
其方法是在对象实体仿真运行时,与一个连续工艺处理过程对应的多个任务序列, 其优先级随着处理过程的推进而递增;与某些不允许中断的过程对应的任务序列不能被抢 占,却可以抢占其他的任务序列;
(4)对多台吊车所在的跨进行分区的冲突处理其方法是将布置有多台吊车的同一跨在X轴方向上细分为多个区,分区数量不限,一 台吊车进入其中一个分区之前先判断该区中是否有吊车或者将有吊车先于其进入该区,是 则等待,否则进入;
(5)利用网络节点进行冲突控制
其方法是利用网络节点进行冲突控制的方法是用网络路径限定可能发生冲突的吊车 的行进路线,然后在路径上布置网络节点,并为网络节点设置X轴正向和X轴反向两个相反 的方向,通过网络节点的适时关闭/打开来控制吊车的运行,并由此避免冲突的发生。本发明与现有技术相比,具有以下的主要有益效果
其一.从实施效果来看,设计的方法能对物流仿真系统中布置在同一跨内的多台吊车 冲突问题进行有效的干预和处理,不仅避免了吊车在作业半径内与其他的吊车碰撞,还消 除了吊车之间的互相“穿越”现象;
其二 .冲突处理方法中包含的要点(子方法)分别从引起吊车冲突的根源入手,应用不 同的机理解决由不同原因引起的冲突问题,有较强的针对性,也便于不同子方法之间的组 合使用和协同发挥作用;
其三.不仅能处理布置在同一跨内的两台吊车的冲突问题,而且对同一跨内的三台和 三台以上的吊车冲突问题依然凑效;
其四.子方法中的冲突处理函数及吊车任务序列的优先级和先占值的设定方法与吊 车执行的任务序列队列联系紧密,并借鉴中断和按优先级排队等基本原理实现,既直观易 理解,又方便对冲突发生时吊车执行的多个任务序列进行跟踪和追溯。


图1是吊车的冲突处理函数的逻辑流程图。图2是对多台吊车所在的跨进行分区示意图。图3是吊车进入下一分区之前的逻辑处理流程图。图4是利用网络节点进行冲突控制的示意图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步详细描述。本发明具体实施过程涉及下述几个方面
在炼钢连铸车间内,多台吊车布置在同一跨中是普遍存在的现象。为避免或消除位于 同一跨中的多台吊车之间的冲突,需要设计合理的的避撞策略。本发明中的冲突处理方法 具体包括五部分内容,分别是吊车的任务或作业区域的划分方法,冲突处理函数,吊车任 务序列的优先级和先占值的设定方法,对多台吊车所在的跨进行分区的方法以及利用网络 节点进行冲突控制的方法。一、结合工艺要求对吊车的任务或作业区域进行划分
为了使多吊车冲突问题适度简化,构思了两种方法其一是给同一跨内的不同吊车划 分不同的作业区域,即限定每台吊车在固定的区域内活动,这种方法与炼钢连铸车间的实 际不符;其二是给不同的吊车指派不同的任务,而不限定其作业区域。在炼钢连铸工程物流 仿真方法的实现过程中,应用了后者,但由于炼钢连铸车间的特殊性,并不能严格地限定不
5同的吊车所执行的任务,这时再辅以其它的方法来解决。以某一实际的炼钢连铸工程为例,吊车的任务划分情况如表1所示。加料跨一中 有两台500吨(t)吊车Cranel、Crane2和一台110吨(t)吊车Cranel2,根据对吊车的任 务进行划分的思路,Cranel主要完成从铁水线运送铁水罐至脱硫站的任务,而Crane2则完 成将铁水罐从脱硫站送至(脱磷)转炉,以及将铁水空罐返回的任务。Craned由于最大起 吊重量的限制,仅仅用于加废钢料槽的运送任务。其他各跨中的任务分配情况基本类似,不 再赘述。二、插入先占任务,让吊车反方向避让的冲突处理函数
冲突处理函数的基本思路是两台可能发生冲突的吊车都不断地判断是否需要抢占当 前激活的任务序列,冲突发生时,其中必定有一台吊车激活的任务被先占,即吊车停止执行 当前激活的任务序列,转而执行任务序列队列中新插入的一个先占任务序列,让吊车向与 其冲突的吊车的反方向避让,移开一定的安全距离并随后等待一段给定的时间。函数伪代码如下
吊车本身和要避让的吊车对象声明; 定义吊车实体的优先级相关标签; 定义检测到冲突后,要避让的吊车移开的距离; 定义要避让的吊车在移开一定距离后等待的时间; 定义坐标轴X/Y/Z方向上的移开距离数组;
switch (坐标 X/Y/Z) {
case X:
if (要冲突的其他吊车在本吊车的X轴正向) 移开距离取反后赋值给移开距离数组的第一个元素; else移开距离直接后赋值给移开距离数组的第一个元素; break; case Y:
由于主要考虑吊车在X方向的冲突问题,而在Υ/ζ方向的冲突暂不考虑,故移开距离数 组的第二个元素直接赋0 ; Break ; case Ζ:
由于主要考虑吊车在X方向的冲突问题,而在Υ/ζ方向的冲突暂不考虑,故移开距离数 组的第三个元素也直接赋0 ; Break ;
ι
吊车本身和要避让的吊车对象活动的任务序列对象声明; //两台吊车都会判断是否需要抢占当前激活的任务序列, //并且有一台吊车激活的任务序列会被先占; Il下面就是自己激活的任务序列被先占的判断逻辑; if((1.如果当前激活的任务序列为空,即什么都没做,当然要被先占;)I (2.或者自己正在执行避开冲突的任务,并且避开的对象就是对方;)I (3.另一台吊车正在执行非避开冲突的任务,并且其任务序列的优先级较高,所以我 也被抢占;)
)
{
设置任务序列的先占值类型,任务执行器将先占当前激活的任务序列,并将其放回到 任务序列队列的最前面,当任务执行器回到最初的任务序列时,被先占的任务将被再次执 行。If (
自己正在执行避开冲突的任务,并且避开的对象就是对方
)
{
那么任务执行器将会停止当前激活的任务序列并销毁它,这样它就不会再回到此原始
任务序列;
}
新插入的一个先占任务序列,让吊车向与其冲突的吊车的反方向避让,移开一定的安 全距离并随后等待一段给定的时间。}
冲突处理函数的逻辑流程如图1所示,具体包含下列步骤 步骤1 吊车冲突处理的逻辑流程开始;
步骤2 对吊车和要避让的吊车对象进行声明,并定义优先级标签。步骤3 定义检测到冲突后要移开的距离、移开距离数组和等待时间等参数,并对 移开距离数组元素赋值。步骤4 对吊车和要避让的吊车对象活动的任务序列对象进行声明。步骤5 判断吊车当前激活的任务序列是否为空?若为是,则转步骤8 ;否则继续 下面的步骤6。步骤6 判断吊车是否正在执行避开冲突的任务,并且避开的对象就是对方?若 为是,也转步骤8,否则继续下面的步骤7。步骤7 判断要避让的吊车是否正在执行高优先级的非避开冲突的任务?若为 是,则继续下面的步骤8 ;否则转步骤11。步骤8 设置吊车的任务序列的先占值。步骤9 再次判断吊车是否正在执行避开冲突的任务,并且避开的对象就是对方? 若为是,则继续下面的步骤10 ;否则转步骤11。步骤10 停止吊车当前激活的任务序列并销毁它。步骤11 在吊车的任务序列队列中插入新的先占任务,让吊车反方向避让,并且 在移开一定的安全距离后等待。步骤12 吊车冲突处理的逻辑流程结束。三、吊车任务序列的优先级和先占值的设定方法任务序列的优先级定义了相对其它任务序列而言,执行此任务序列的重要程度。每个 任务序列还都有一个先占值,用来定义这个任务序列是否要使其它正在执行的任务序列中 断转而执行它。在仿真运行的任意给定时刻,一个对象实体只能有一个激活的任务序列,而其他 的任务序列都会在队列中等待,等待的多个任务序列会根据先占值和优先级排队。对同一 跨内的多台吊车而言,根据工艺要求合理的确定各任务序列的优先级和先占值非常关键。下面以某一实际的炼钢连铸工程加料跨一中的吊车Cranel和Crane2为例说明。根据吊车的任务划分,Cranel和Crane2执行的任务序列如表2所示。Cranel执 行的任务序列包括从铁水线运送铁水罐至脱硫站,以及从铁水线暂存位吊空罐至铁水罐车 上;Crane2执行的任务序列包括从脱硫站运送铁水罐至脱磷转炉,以及兑铁和返空罐。任务序列优先级和先占值的设定,不仅要考虑同一台吊车所执行的不同任务间的 轻重缓急,还要关联到与其位于同一跨内的吊车的相关任务等。上面的表中,Crane2的任 务序列A、B、C分别与同一罐铁水在时序上前后相继的处理/运送阶段对应。仿真方法中 假定与一个连续工艺处理过程对应的多个任务序列,其优先级随着处理过程的推进而递 增,因而,Crane2的任务序列A、B、C的优先级递增;由于工艺的特殊性要求,兑铁和返空罐 两个过程不允许中断,所以同时设置任务序列B、C的先占值为1,即只允许B、C抢占其他的 任务序列,而B、C本身不会被抢占。另外,Crane2的返空罐过程和Cranel的吊铁水罐至脱 硫站过程二者的作业区域交叉,有可能发生冲突,为避免冲突,需要为对应的任务序列定义 不同的优先级,这里假定返空罐过程的优先级较高,所以Crane2的任务序列C的优先级比 Cranel的任务序列A的优先级更高。四、对多台吊车所在的跨进行分区的冲突处理方法
对跨进行分区的冲突处理方法的主要思想是将布置有多台吊车的同一跨在X轴方向 上细分为多个区,分区数量不限,一台吊车进入其中一个分区之前先判断该区中是否有吊 车或者将有吊车先于其进入该区,是则等待,否则进入。图2示意了将两台吊车所在的跨细分为7个分区的情况,当前时刻吊车1位于分 区2,而吊车2位于分区5。图3示意了对跨进行分区的冲突处理流程。以图2中的吊车1为例,它在进入下一分区之前会依次以下处理流程 步骤1 将跨进行分区的冲突处理流程开始;
步骤2 将吊车1所在的跨细分为等间距的分区,计算分区的宽度;
步骤3 根据吊车1的位置坐标确定其所在的分区,同时确定要避开的吊车2所在的分
区;
步骤4 判断要避开的吊车2是否位于吊车1即将进入的分区3内,若是,则转步骤9 ; 否则读取吊车1和要避开的吊车2的速度。步骤5 判断二者的速度方向是否一致,若是,则转步骤8 ;否则读取吊车1和要避 开的吊车2的加速度。步骤6 根据吊车的速度、加速度和位置坐标等信息,分别计算它们进入下一分区 3所需的时间。步骤7 判断要避开的吊车2先于吊车1进入下一分区3,若是,则转步骤9 ;否则 执行后续的步骤8。
8
步骤8 吊车1直接进入下一分区3,并跳转至步骤10。步骤9:吊车1等待。步骤10 将跨进行分区的冲突处理流程结束。在将吊车所在的跨进行细分时,分区数量不限,一般分区数量越多则模型越精确, 但因为吊车在进入下一分区之前都会进行上述计算和处理流程,所以过多的分区会影响仿 真速度。仿真方法中假定在吊车在向下一分区行进过程中的速度和加速度保持恒定。五、利用网络节点进行冲突控制的方法
利用网络节点进行控制的主要思想是在多台可能发生冲突的吊车的行进路线上布置 网络节点,通过网络节点的适时关闭/打开来控制吊车的运行,并由此避免冲突的发生。图4是利用网络节点进行控制的示意图。仿真方法中首先用网络路径限定可能发 生冲突的吊车的行进路线,然后在路径上布置网络节点,如图4中所示的网络节点a、b。网 络节点的间距根据多台吊车相重叠的作业区域的大小设置。每个网络节点均有X+和χ-两 个相反的方向,分别代表X轴正向和X轴负向。设置网络节点方向的目的在于用以区分吊 车在网络路径上的行进方向。利用网络节点控制冲突发生的具体步骤是
步骤1 当一台吊车沿网络路径运行,将要进入与其它吊车相重叠的作业区域时,网络 节点的X+或X-方向捕获到该进入事件;如图4中的吊车1进入中间的作业区域时,被节点 a的X+方向捕获。步骤2:对网络节点的相关接口进行编程,关闭其它节点的X+或X-方向,在图4示 例中则需要对节点a的接口编程,关闭节点b的X-方向,此时将限制吊车2不能进入该作 业区域。步骤3 若此时吊车2正沿网络路径运行,且要进入该作业区域,因为节点b的 X-方向已经关闭,那么吊车2将在节点2处等待。步骤4 已进入作业区域的吊车1处理完毕,沿路径退出时,再次被网络节点a的 X-方向捕获,将在节点a的接口程序中打开步骤2中关闭的节点b的X-方向。步骤5 节点b的X-方向已经打开,吊车2将结束等待,进入作业区域。本发明是以物流仿真系统中的多吊车冲突问题为研究对象,结合炼钢连铸车间的 工艺要求,提供了上述的炼钢连铸车间物流仿真系统中多吊车的冲突处理方法。该方法能 够对物流仿真系统中布置在同一跨内的多台吊车的冲突问题进行有效的干预和处理,为仿 真时钟的正确推进提供前提条件。
9
附表
表1炼钢连铸车间内吊车的任务划分
权利要求
炼钢连铸车间物流仿真系统中多吊车的冲突处理方法,其特征在于该方法包含以下要点(1)对吊车的任务或作业区域进行划分结合炼钢连铸车间的工艺要求,对不同吊车的作业区域进行限定,或者为不同吊车指派不同类型的起吊搬运任务;(2)插入先占任务,让吊车反方向避让的冲突处理函数冲突处理函数的基本思路是两台可能发生冲突的吊车都不断地判断是否需要抢占当前激活的任务序列,冲突发生时,其中必定有一台吊车激活的任务被先占,即吊车停止执行当前激活的任务序列,转而执行任务序列队列中新插入的一个先占任务序列,让吊车向与其冲突的吊车的反方向避让,移开一定的安全距离并随后等待一段给定的时间;(3)吊车任务序列的优先级和先占值的设定其方法是在对象实体仿真运行时,与一个连续工艺处理过程对应的多个任务序列,其优先级随着处理过程的推进而递增;与某些不允许中断的过程对应的任务序列不能被抢占,却可以抢占其他的任务序列;(4)对多台吊车所在的跨进行分区的冲突处理其方法是将布置有多台吊车的同一跨在X轴方向上细分为多个区,分区数量不限,一台吊车进入其中一个分区之前先判断该区中是否有吊车或者将有吊车先于其进入该区,是则等待,否则进入;(5)利用网络节点进行冲突控制其方法是利用网络节点进行冲突控制的方法是用网络路径限定可能发生冲突的吊车的行进路线,然后在路径上布置网络节点,并为网络节点设置X轴正向和X轴反向两个相反的方向,通过网络节点的适时关闭/打开来控制吊车的运行,并由此避免冲突的发生。
2.根据权利要求1所述的冲突处理方法,其特征在于要点(2)中所述的冲突处理函数, 其逻辑流程包含下列步骤步骤1 吊车冲突处理的逻辑流程开始;步骤2 对吊车和要避让的吊车对象进行声明,并定义优先级标签;步骤3 定义检测到冲突后要移开的距离、移开距离数组和等待时间等参数,并对移开 距离数组元素赋值;步骤4 对吊车和要避让的吊车对象活动的任务序列对象进行声明;步骤5 判断吊车当前激活的任务序列是否为空?若为是,则转步骤8 ;否则继续下面 的步骤6 ;步骤6 判断吊车是否正在执行避开冲突的任务,并且避开的对象就是对方?若为是, 也转步骤8,否则继续下面的步骤7 ;步骤7 判断要避让的吊车是否正在执行高优先级的非避开冲突的任务?若为是,则 继续下面的步骤8 ;否则转步骤11 ;步骤8 设置吊车的任务序列的先占值;步骤9 再次判断吊车是否正在执行避开冲突的任务,并且避开的对象就是对方?若 为是,则继续下面的步骤10 ;否则转步骤11 ;步骤10 停止吊车当前激活的任务序列并销毁它;步骤11 在吊车的任务序列队列中插入新的先占任务,让吊车反方向避让,并且在移 开一定的安全距离后等待;步骤12 吊车冲突处理的逻辑流程结束。在此处键入权利要求项2。
3.根据权利要求1所述的冲突处理方法,其特征在于要点(4)中,所述一台吊车在进入 下一分区之前会依次经历以下处理流程步骤1 将跨进行分区的冲突处理流程开始;步骤2 将第一台吊车(1)所在的跨细分为等间距的分区,计算分区的宽度; 步骤3 根据吊车的位置坐标确定其所在的分区,同时确定要避开的第二台吊车(2)所 在的分区;步骤4:判断要避开的第二台吊车(2)是否位于第一台吊车(1)即将进入的分区(3)内, 若是,则转步骤9 ;否则读取第一台吊车(1)和要避开的第二台吊车(2)的速度;步骤5:判断二者的速度方向是否一致,若是,则转步骤8 ;否则读取第一台吊车(1)和 要避开的第二台吊车(2)的加速度;步骤6:根据吊车的速度、加速度和位置坐标等信息,分别计算它们进入下一分区(3) 所需的时间;步骤7 判断要避开的第二台吊车(2)先于第一台吊车(1)进入下一分区(3),若是,则 转步骤9 ;否则执行后续的步骤8 ;步骤8 第一台吊车(1)直接进入下一分区(3),并跳转至步骤10 ;步骤9:第一台吊车(1)等待;步骤10 将跨进行分区的冲突处理流程结束。
4.根据权利要求1所述的冲突处理方法,其特征在于要点(5)中,所述利用网络节点控 制冲突发生的具体步骤是步骤1 当一台吊车即第一台吊车(1)沿网络路径运行,将要进入与其它吊车相重叠的 作业区域时,与第一台吊车(1)对应的网络节点a的X+或X-方向捕获到该进入事件;步骤2:对网络节点a的相关接口进行编程,关闭与其它吊车对应的网络节点的X+或 X-方向;步骤3 若此时另一台吊车即第二台吊车(2)正沿网络路径运行,且要进入该作业区 域,在节点b的X-方向已经关闭的情况下,则该吊车将在节点b处等待;步骤4 已进入作业区域的第一台吊车(1)处理完毕,沿路径退出时,再次被网络节点a 的X-方向捕获,将在节点a的接口程序中打开步骤2中关闭的节点b的X-方向; 步骤5 节点b的X-方向已经打开,第二台吊车(2)将结束等待,进入作业区域。
全文摘要
本发明公开了一种炼钢连铸车间物流仿真系统中多吊车的冲突处理方法,该方法包含以下内容结合工艺要求对吊车的任务或作业区域进行划分的方法;插入先占任务,让吊车反方向避让的冲突处理函数;吊车任务序列的优先级和先占值的设定方法;对多台吊车所在的跨进行分区的冲突处理方法;利用网络节点进行冲突控制的方法。本发明与现有技术相比,能对物流仿真系统中布置在同一跨内的多台吊车的冲突问题进行有效的干预和处理,为仿真时钟的正确推进提供前提条件。
文档编号B66C15/04GK101941648SQ20101029637
公开日2011年1月12日 申请日期2010年9月29日 优先权日2010年9月29日
发明者叶理德, 曾亮, 杜斌, 沈静娟, 邵远敬, 陈建辉 申请人:中冶南方工程技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1