发明内容
本发明的第一个目的在于针对现有技术中存在的上述缺陷,提供一种算法简单、适用范围广、方便灵活且最大限度节约砂料消耗的铸造过程的砂箱调度方法。
本发明的上述目的是通过如下的技术方案来实现的:
该铸造过程的砂箱调度方法,包括如下步骤:
(1)砂箱编号,建立砂箱数据库,记录各砂箱的可用状态:
对拥有的所有砂箱进行编号,并将每个砂箱的编号制作成条码张贴于砂箱表面;测量并获得每个砂箱的长度L、宽度W、高度H和体积V的信息;确定每个砂箱的当前可用状态,并记录为“可用”或“不可用”状态;建立砂箱数据库,对每个砂箱记录为1条数据库内的信息,对每个砂箱对应的信息依次按照编号、长度L、宽度W、高度H、体积V和可用状态的次序在砂箱数据库内予以存储;
(2)输入需铸造的所有工件信息,按照工件的名义体积对工件排序并输出初始工件信息序列:
对需铸造的所有工件进行编号;确定需铸造的每个工件的长度l、宽度w 和高度h信息,并计算其对应的名义体积v;按照所有工件的名义体积v从大到小的顺序整理并输出初始工件信息序列[{n:n1,l:l1,w:w1,h:h1,v:v1},{n:n2, l:l2,w:w2,h:h2,v:v2},…],该序列中每个工件构成序列中的1个元素,其信息用1个字典来表示:n、l、w、h和v分别代表工件的编号、长度、宽度、高度和名义体积的标识,而各个标识后紧接着其对应的具体的值;
(3)根据初始工件信息序列,为每个工件匹配出合适的砂箱并添加进入最终工件信息序列,完成所有工件的匹配后输出最终工件信息序列:
从砂箱数据库中筛选出所有状态为“可用”的砂箱,并按砂箱体积V从小到大的顺序构造砂箱信息序列;根据初始工件信息序列,为每个工件匹配出与之对应的砂箱;依次对完成匹配的工件信息元素字典补充砂箱编号标识并分配相应的砂箱编号,然后将该工件信息元素添加至最终工件信息序列;完成初始工件信息序列中所有工件信息元素的砂箱匹配后输出最终工件信息序列;
(4)启动工件铸造任务,更新砂箱可用状态信息:
将步骤(3)输出的最终工件信息序列作为生产现场调度指令,获取最终工件信息序列中所有工件元素对应的工件模具;将工件模具置于与该工件匹配的砂箱内,填充砂料后取出模具获得工件浇铸用空腔,启动工件铸造任务;扫描砂箱条码,并在砂箱数据库内将步骤(3)中与工件完成匹配的砂箱的可用状态信息变更为“不可用”;
(5)完成工件铸造任务,更新砂箱可用状态信息:
完成工件铸造任务,取出砂箱内铸造获得的工件和砂料;砂箱还原后扫描砂箱条码,并在砂箱数据库中将与铸造完成的工件所匹配的砂箱的可用状态信息变更为“可用”。
具体的,步骤(1)中,每个砂箱的体积V为该砂箱长度L、宽度W和高度H之乘积;步骤(2)中,每个工件的名义体积v为该工件长度l、宽度w 和高度h之乘积。
具体的,步骤(3)具体包括以下子步骤:
(3.1)从砂箱数据库中筛选出所有状态为“可用”的砂箱,并按砂箱体积 V从小到大的顺序构造砂箱信息序列[{N:N1,L:L1,W:W1,H:H1,V:V1},{N:N2, L:L2,W:W2,H:H2,V:V2},…],该序列中每个砂箱构成序列中的1个元素,其信息用1个字典来表示:N、L、W、H和V分别代表砂箱的编号、长度、宽度、高度和体积的标识,而各个标识后紧接着其对应的具体的值;
(3.2)将初始工件信息序列中最后1个工件元素与砂箱信息序列中的第1 个砂箱元素对齐;
(3.3)将初始工件信息序列和砂箱信息序列中互相对齐的元素进行匹配性判断,若存在相匹配的元素对,则将该匹配的元素对中的工件信息元素字典补充砂箱编号标识并分配与之匹配成功的砂箱信息元素的砂箱编号,然后将该带有匹配成功的砂箱编号的工件信息元素字典添加进入最终工件信息序列,最后分别在初始工件信息序列和砂箱信息序列中将该匹配成功的元素对的工件信息元素和砂箱信息元素均变更为空值None;
(3.4)维持砂箱信息序列的位置不变,将初始工件信息序列向右移动1 个元素位置;
(3.5)重复进行子步骤(3.3)和子步骤(3.4),直至初始工件信息序列中所有的元素均变更为空值None;
(3.6)输出最终工件信息序列[{n:n1,l:l1,w:w1,h:h1,v:v1,N:Na},{n:n2,l: l2,w:w2,h:h2,v:v2,N:Nb},…],该序列中每个工件构成序列中的1个元素,其信息用1个字典来表示:n、l、w、h、v和N分别代表工件的编号、长度、宽度、高度、名义体积和与该工件匹配成功的砂箱编号的标识,而各个标识后紧接着其对应的具体的值。
进一步,子步骤(3.3)的初始工件信息序列和砂箱信息序列中互相对齐的元素进行匹配性判断,当且仅当初始工件信息序列中工件信息元素中的长度值li、宽度值wi、高度值hi和与之对齐的砂箱信息序列中砂箱信息元素中的长度值Lj、宽度值Wj、高度值Hj满足关系li<Lj且wi<Wj且hi<Hj时,判断该工件信息元素和与之对齐的砂箱信息元素相匹配。
本发明的第二个目的在于提供用于实现上述铸造过程的砂箱调度方法的调度***,该调度***包括数据库模块、信息输入模块、运算模块、信息输出模块、条码扫描模块和通讯模块;所述运算模块连接信息输入模块、数据库模块、通讯模块,通讯模块连接运算模块、数据库模块、信息输出模块、条码扫描模块,条码扫描模块连接信息输出模块、通讯模块;其中,
数据库模块位于非生产现场,用于存储拥有的所有砂箱的编号N、长度L、宽度W、高度H、体积V和可用状态的信息,并根据通讯模块从生产现场返回的结果实时更新相关砂箱的可用状态;
信息输入模块位于非生产现场,用于输入需铸造的工件的编号n、长度l、宽度w、高度h和名义体积v信息,整理成为按名义体积v从大到小的初始工件信息序列并输出至运算模块;
运算模块位于非生产现场,用于接收信息输入模块提供的初始工件信息序列,从数据库模块中获得可用信息状态为“可用”的砂箱信息并整理得到砂箱信息序列,对初始工件信息序列中所有工件信息元素进行砂箱匹配并输出最终工件信息序列至通讯模块;
信息输出模块位于生产现场,用于接收通讯模块发送的最终工件信息序列并作为生产现场调度指令予以显示;
条码扫描模块位于生产现场,根据信息输出模块的输出信息,进行生产现场砂箱表面张贴的条码扫描操作,并将被扫描后的砂箱条码信息经通讯模块传输至数据库模块,用于通知数据库模块进行相应砂箱的可用状态的实时变更操作;
通讯模块用于调度***的生产现场部分和非生产现场部分之间的通讯,即运算模块与信息输出模块之间以及条码扫描模块与数据库模块之间的信息通讯。
本发明的有益效果体现如下:
(1)本发明针对铸造过程中砂箱选择排列组合数目巨大的客观情况,分别整理可用砂箱和需要铸造的工件信息并按体积予以排序,得到砂箱信息序列和初始工件信息序列,在此基础上固定砂箱信息序列而逐步移动初始工件信息序列,在移动迭代过程中完成各工件的砂箱匹配,这种方式简洁高效、容错率高,有利于在很短的时间内为需铸造的工件匹配总体积尽可能小的砂箱,从而节约砂量消耗,降低铸造综合成本。
(2)本发明将铸造过程中砂箱调度***的非生产现场和生产现场部分分别设计并通过通讯模块完成信息交互,同时使用条码扫描模块进行铸造前后砂箱条码的扫描以保证数据库模块实时更新砂箱的可用状态信息,这提高了砂箱铸造过程的调度***的容错率,适合工件的多类型、多批次生产,且具有很高的灵活性。
(3)本发明提供的铸造过程的砂箱调度方法,逻辑清晰,运算量小,普适性广,相应的砂箱调度***硬件成本较低且易于编程实现。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
参见图1,是本发明铸造过程的砂箱调度方法的流程框图,它包括如下步骤:
步骤1、砂箱编号,建立砂箱数据库,记录各砂箱的可用状态:
对拥有的所有砂箱进行编号,并将每个砂箱的编号制作成条码张贴于砂箱表面;测量并获得每个砂箱的长度L、宽度W、高度H和体积V的信息;确定每个砂箱的当前可用状态,并记录为“可用”或“不可用”状态;建立砂箱数据库,对每个砂箱记录为1条数据库内的信息,对每个砂箱对应的信息依次按照编号、长度L、宽度W、高度H、体积V和可用状态的次序在砂箱数据库内予以存储;
其中,每个砂箱的体积V为该砂箱长度L、宽度W和高度H之乘积。
步骤2、输入需铸造的所有工件信息,按照工件的名义体积对工件排序并输出初始工件信息序列:
对需铸造的所有工件进行编号;确定需铸造的每个工件的长度l、宽度w 和高度h信息,并计算其对应的名义体积v;按照所有工件的名义体积v从大到小的顺序整理并输出初始工件信息序列[{n:n1,l:l1,w:w1,h:h1,v:v1},{n:n2, l:l2,w:w2,h:h2,v:v2},…],该序列中每个工件构成序列中的1个元素,其信息用1个字典来表示:n、l、w、h和v分别代表工件的编号、长度、宽度、高度和名义体积的标识,而各个标识后紧接着其对应的具体的值,如{n:n1,l:l1,w: w1,h:h1,v:v1}表示名编号为n1的工件长度、宽度、高度和名义体积分别为l1、 w1、h1和v1;
其中,每个工件的名义体积v为该工件长度l、宽度w和高度h之乘积。
步骤3、根据初始工件信息序列,为每个工件匹配出合适的砂箱并添加进入最终工件信息序列,完成所有工件的匹配后输出最终工件信息序列:
从砂箱数据库中筛选出所有状态为“可用”的砂箱,并按砂箱体积V从小到大的顺序构造砂箱信息序列;根据初始工件信息序列,为每个工件匹配出与之对应的砂箱;依次对完成匹配的工件信息元素字典补充砂箱编号标识并分配相应的砂箱编号,然后将该工件信息元素添加至最终工件信息序列;完成初始工件信息序列中所有工件信息元素的砂箱匹配后输出最终工件信息序列;
参见图2,步骤3包括以下子步骤:
子步骤3.1:从砂箱数据库中筛选出所有状态为“可用”的砂箱,并按砂箱体积V从小到大的顺序构造砂箱信息序列[{N:N1,L:L1,W:W1,H:H1,V:V1}, {N:N2,L:L2,W:W2,H:H2,V:V2},…],该序列中每个砂箱构成序列中的1个元素,其信息用1个字典来表示:N、L、W、H和V分别代表砂箱的编号、长度、宽度、高度和体积的标识,而各个标识后紧接着其对应的具体的值,如{N:N1, L:L1,W:W1,H:H1,V:V1}表示名编号为N1的砂箱长度、宽度、高度和体积分别为L1、W1、H1和V1;
子步骤3.2:将初始工件信息序列中最后1个工件元素与砂箱信息序列中的第1个砂箱元素对齐;
子步骤3.3:将初始工件信息序列和砂箱信息序列中互相对齐的元素进行匹配性判断,若存在相匹配的元素对,则将该匹配的元素对中的工件信息元素字典补充砂箱编号标识并分配与之匹配成功的砂箱信息元素的砂箱编号,然后将该带有匹配成功的砂箱编号的工件信息元素字典添加进入最终工件信息序列,最后分别在初始工件信息序列和砂箱信息序列中将该匹配成功的元素对的工件信息元素和砂箱信息元素均变更为空值None;
子步骤3.3的初始工件信息序列和砂箱信息序列中互相对齐的元素进行匹配性判断,当且仅当初始工件信息序列中工件信息元素中的长度值li、宽度值wi、高度值hi和与之对齐的砂箱信息序列中砂箱信息元素中的长度值Lj、宽度值Wj、高度值Hj满足关系li<Lj且wi<Wj且hi<Hj时,判断该该工件信息元素和与之对齐的砂箱信息元素相匹配;
子步骤3.4:维持砂箱信息序列的位置不变,将初始工件信息序列向右移动1个元素位置;
子步骤3.5:重复进行子步骤3.3和子步骤3.4,直至初始工件信息序列中所有的元素均变更为空值None;
子步骤3.6:输出最终工件信息序列[{n:n1,l:l1,w:w1,h:h1,v:v1,N:Na},{n: n2,l:l2,w:w2,h:h2,v:v2,N:Nb},…],该序列中每个工件构成序列中的1个元素,其信息用1个字典来表示:n、l、w、h、v和N分别代表工件的编号、长度、宽度、高度、名义体积和与该工件匹配成功的砂箱编号的标识,而各个标识后紧接着其对应的具体的值,如{n:n1,l:l1,w:w1,h:h1,v:v1,N:Ni}表示名编号为n1的工件长度、宽度、高度和名义体积分别为l1、w1、h1和v1,而为其分配的砂箱编号则为Na。
步骤4、启动工件铸造任务,更新砂箱可用状态信息:
将步骤3输出的最终工件信息序列作为生产现场调度指令,获取最终工件信息序列中所有工件元素对应的工件模具;将工件模具置于与该工件匹配的砂箱内,填充砂料后取出模具获得工件浇铸用空腔,启动工件铸造任务;扫描砂箱条码,并在砂箱数据库内将步骤3中与工件完成匹配的砂箱的可用状态信息变更为“不可用”;
步骤5、完成工件铸造任务,更新砂箱可用状态信息:
完成工件铸造任务,取出砂箱内铸造获得的工件和砂料;砂箱还原后扫描砂箱条码,并在砂箱数据库中将与铸造完成的工件所匹配的砂箱的可用状态信息变更为“可用”。
参见图3,是本发明砂箱调度***的结构框图,它包括数据库模块、信息输入模块、运算模块、信息输出模块、条码扫描模块和通讯模块;所述运算模块连接信息输入模块、数据库模块、通讯模块,通讯模块连接运算模块、数据库模块、信息输出模块、条码扫描模块,条码扫描模块连接信息输出模块、通讯模块;
数据库模块位于非生产现场,用于存储拥有的所有砂箱的编号N、长度L、宽度W、高度H、体积V和可用状态的信息,并根据通讯模块从生产现场返回的结果实时更新相关砂箱的可用状态;
信息输入模块位于非生产现场,用于输入需铸造的工件的编号n、长度l、宽度w、高度h和名义体积v等信息,整理成为按名义体积v从大到小的初始工件信息序列并输出至运算模块;
运算模块位于非生产现场,用于接收信息输入模块提供的初始工件信息序列,从数据库模块中获得可用信息状态为“可用”的砂箱信息并整理得到砂箱信息序列,对初始工件信息序列中所有工件信息元素进行砂箱匹配并输出最终工件信息序列至通讯模块;
信息输出模块位于生产现场,用于接收通讯模块发送的最终工件信息序列并作为生产现场调度指令予以显示;
条码扫描模块位于生产现场,根据信息输出模块的输出信息,进行生产现场砂箱表面张贴的条码扫描操作,并将被扫描后的砂箱条码信息经通讯模块传输至数据库模块,用于通知数据库模块进行相应砂箱的可用状态的实时变更操作;
通讯模块用于调度***的生产现场部分和非生产现场部分之间的通讯,即运算模块与信息输出模块之间以及条码扫描模块与数据库模块之间的信息通讯。
下面是将本发明方法应用于某工程的具体实施例。
某铸造车间,当前砂箱库存情况见表1,表1中的内容存储至数据库模块。当前批次需要铸造的工件见表2。根据表2内容使用信息输入模块输入需要铸造的所有工件信息,按照工件名义体积v从大到小的顺序对工件排序并输出得到初始工件信息序列:[{n:G02,l:1,w:0.8,h:0.55,v:0.44},{n:G03,l:0.6,w: 0.5,h:0.3,v:0.09},{n:G01,l:0.35,w:0.25,h:0.15,v:0.013125}]。
根据表1中的砂箱库存信息和当前可用状态,使用运算模块从数据库模块中筛选出所有状态为“可用”的砂箱,并按砂箱体积V从小到大的顺序构造砂箱信息序列:
[{N:S08,L:0.4,W:0.2,H:0.2,V:0.016},{N:S03,L:0.4,W:0.3,H:0.2,V:0.024},{N:S04,L:0.5,W:0.3,H:0.3,V:0.045},{N:S01,L:0.6,W:0.3,H:0.4, V:0.072},{N:S10,L:0.7,W:0.5,H:0.3,V:0.105},{N:S02,L:0.7,W:0.4,H: 0.5,V:0.14},{N:S06,L:1.2,W:1,H:0.9,V:1.08},{N:S07,L:2.5,W:1.8,H: 2.2,V:9.9}]。
表1砂箱库存信息
砂箱编号N |
砂箱长度L/m |
砂箱宽度W/m |
砂箱高度H/m |
砂箱体积V/m<sup>3</sup> |
可用状态 |
S01 |
0.6 |
0.3 |
0.4 |
0.072 |
可用 |
S02 |
0.7 |
0.4 |
0.5 |
0.14 |
可用 |
S03 |
0.4 |
0.3 |
0.2 |
0.024 |
可用 |
S04 |
0.5 |
0.3 |
0.3 |
0.045 |
可用 |
S05 |
1 |
0.8 |
0.6 |
0.48 |
不可用 |
S06 |
1.2 |
1 |
0.9 |
1.08 |
可用 |
S07 |
2.5 |
1.8 |
2.2 |
9.9 |
可用 |
S08 |
0.4 |
0.2 |
0.2 |
0.016 |
可用 |
S09 |
0.8 |
0.6 |
0.5 |
0.24 |
不可用 |
S10 |
0.7 |
0.5 |
0.3 |
0.105 |
可用 |
表2需要铸造的工件信息
工件编号n |
工件长l/m |
工件宽度w/m |
工件高度h/m |
名义体积v/m<sup>3</sup> |
G01 |
0.35 |
0.25 |
0.15 |
0.013125 |
G02 |
1 |
0.8 |
0.55 |
0.44 |
G03 |
0.6 |
0.5 |
0.3 |
0.09 |
运算模块接收信息输入模块提供的初始工件信息序列,并将初始工件信息序列中最后1个工件元素与砂箱信息序列中的第1个砂箱元素对齐如下所示:
G02 |
G03 |
G01 |
|
|
|
|
|
|
|
|
|
S08 |
S03 |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
以上示意第一行为初始工件信息序列,第二行为砂箱信息序列,为观察方便只显示各序列元素中的编号值。
这种情况下工件G01和砂箱S08对齐,由于工件G01的宽度值0.25m大于砂箱S08的宽度值0.2m,故工件G01和砂箱S08不相匹配。
维持砂箱信息序列的位置不变,将初始工件信息序列向右移动1个元素位置如下:
|
G02 |
G03 |
G01 |
|
|
|
|
|
|
|
|
S08 |
S03 |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
这种情况下工件G01和砂箱S03对齐,工件G03和砂箱S08对齐。对相互对齐的元素进行匹配性判断,工件G01的长度值、宽度值和高度值分别为 0.35m、0.25m、0.15m,而砂箱S03的长度值、宽度值和高度值分别为0.4m、 0.3m、0.2m,则有工件G01的长度值<砂箱S03的长度值且工件G01的宽度值<砂箱S03的宽度值且工件G01的高度值<砂箱S03的高度值,故判断工件G01 和砂箱S03相匹配;而工件G03的长度值0.6m大于砂箱S08的长度值0.4m,故判断工件G03和砂箱S08不相匹配。因此,对工件G01对应的元素字典补充砂箱编号标识并分配与之匹配成功的砂箱S03元素的砂箱编号S03,得到工件信息元素字典为 {n:G01,l:0.35,w:0.25,h:0.15,v:0.013125,N:S03},并将工件信息元素字典添加进入最终工件信息序列,得到最终工件信息序列为[{n:G01,l:0.35,w:0.25,h: 0.15,v:0.013125,N:S03}]。同时,分别在初始工件信息序列和砂箱信息序列中将工件G01对应的元素和砂箱S03对应的元素均变更为空值None。此时初始工件信息序列变更为:[{n:G02,l:1,w:0.8,h:0.55,v:0.44},{n:G03,l:0.6,w: 0.5,h:0.3,v:0.09},None],砂箱信息序列变更为[{N:S08,L:0.4,W:0.2,H:0.2, V:0.016},None,{N:S04,L:0.5,W:0.3,H:0.3,V:0.045},{N:S01,L:0.6,W:0.3, H:0.4,V:0.072},{N:S10,L:0.7,W:0.5,H:0.3,V:0.105},{N:S02,L:0.7,W:0.4,H:0.5,V:0.14},{N:S06,L:1.2,W:1,H:0.9,V:1.08},{N:S07,L:2.5,W: 1.8,H:2.2,V:9.9}]。
然后,维持砂箱信息序列的位置不变,将初始工件信息序列向右移动1个元素位置如下:
|
|
G02 |
G03 |
None |
|
|
|
|
|
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
此时工件G02和砂箱S08对齐,但二者不相匹配,故维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
G02 |
G03 |
None |
|
|
|
|
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
此时工件G03和砂箱S04对齐,但二者不相匹配,故维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
此时工件G02和砂箱S04对齐,但二者不相匹配;工件G03和砂箱S01 对齐,但二者不相匹配。
维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
|
|
G02 |
G03 |
None |
|
|
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
此时工件G02和砂箱S01对齐,但二者不相匹配;工件G03和砂箱S10 对齐,但二者不相匹配。故维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
|
|
|
G02 |
G03 |
None |
|
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
此时工件G02和砂箱S10对齐,但二者不相匹配;工件G03和砂箱S02 对齐,但二者不相匹配。故维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
|
|
|
|
G02 |
G03 |
None |
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
S06 |
S07 |
此时工件G02和砂箱S02对齐,但二者不相匹配;工件G03和砂箱S06 对齐,且二者相匹配。故此时最终工件信息序列变更为[{n:G01,l:0.35,w:0.25, h:0.15,v:0.013125,N:S03},{n:G03,l:0.6,w:0.5,h:0.3,v:0.09,N:S06}],初始工件信息序列变更为:[{n:G02,l:1,w:0.8,h:0.55,v:0.44},None,None],砂箱信息序列变更为[{N:S08,L:0.4,W:0.2,H:0.2,V:0.016},None,{N:S04,L:0.5, W:0.3,H:0.3,V:0.045},{N:S01,L:0.6,W:0.3,H:0.4,V:0.072},{N:S10,L:0.7,W:0.5,H:0.3,V:0.105},{N:S02,L:0.7,W:0.4,H:0.5,V:0.14},None,{N: S07,L:2.5,W:1.8,H:2.2,V:9.9}]。维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
|
|
|
|
|
G02 |
None |
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
None |
S07 |
此时工件G02和砂箱None对齐,但二者不相匹配。维持砂箱信息序列的位置不变,再次将初始工件信息序列向右移动1个元素位置如下:
|
|
|
|
|
|
|
|
|
G02 |
|
|
S08 |
None |
S04 |
S01 |
S10 |
S02 |
None |
S07 |
此时工件G02和砂箱S07对齐,且二者互相匹配。故此时最终工件信息序列变更为[{n:G01,l:0.35,w:0.25,h:0.15,v:0.013125,N:S03},{n:G03,l:0.6, w:0.5,h:0.3,v:0.09,N:S06},{n:G02,l:1,w:0.8,h:0.55,v:0.44,N:S07}],初始工件信息序列变更为:[None,None,None],砂箱信息序列变更为[{N:S08,L:0.4, W:0.2,H:0.2,V:0.016},None,{N:S04,L:0.5,W:0.3,H:0.3,V:0.045},{N: S01,L:0.6,W:0.3,H:0.4,V:0.072},{N:S10,L:0.7,W:0.5,H:0.3,V:0.105}, {N:S02,L:0.7,W:0.4,H:0.5,V:0.14},None,None]。
迭代至这一步,初始工件信息序列中的所有元素均变更为空值None,故停止运算,运算模块输出最终工件信息序列[{n:G01,l:0.35,w:0.25,h:0.15,v: 0.013125,N:S03},{n:G03,l:0.6,w:0.5,h:0.3,v:0.09,N:S06},{n:G02,l:1,w: 0.8,h:0.55,v:0.44,N:S07}],经通讯模块传输至信息输出模块;信息输出模块获得最终工件信息序列后,在生产现场显示以上调度指令,指挥现场操作人员分别将工件G01、G03和G02对应的模具置于砂箱S03、S09和S07中,填充砂料后取出模具获得工件浇铸用空腔,启动工件铸造任务;使用条码扫描模块扫描砂箱S03、S09和S07,并将信息经通讯模块传输至数据库模块,将数据库模块中砂箱S03、S09和S07的可用信息状态变更为“不可用”。
完成工件铸造任务后,取出砂箱内铸造获得的工件G01、G03和G02和砂料;砂箱还原后扫描砂箱S03、S09和S07的条码,并将数据库模块中砂箱S03、 S09和S07的可用信息状态变更为“可用”。
本实施例提供的铸造过程的砂箱调度方法及调度***,分别整理可用砂箱和需要铸造的工件信息并按体积予以排序,得到砂箱信息序列和初始工件信息序列,在此基础上固定砂箱信息序列而逐步移动初始工件信息序列,在移动迭代过程中完成各工件的砂箱匹配;同时借助通过通讯模块完成非生产现场部分和生产现场部分各模块的信息交互,使用条码扫描模块进行铸造前后砂箱条码的扫描以保证数据库模块实时更新砂箱的可用状态信息,这种技术方案简洁高效、容错率高,逻辑清晰,普适性广,相应的砂箱调度***硬件成本较低且易于编程实现,并有利于在很短的时间内为需铸造的工件匹配总体积尽可能小的砂箱,从而节约砂量消耗,降低铸造综合成本。