一种铸造过程的砂箱调度方法及调度系统
技术领域
本发明属于铸造技术领域,具体涉及一种铸造过程的砂箱调度方法及调度 系统。
背景技术
铸造是将液体金属浇铸到与工件形状相适应的铸造空腔中,待其冷却凝固 后,以获得零件或毛坯的方法。铸造是一种应用十分广泛的金属热加工工艺, 其生产过程中需要将工件模具置于砂箱中,填充砂料后取出模具以获得铸造空 腔。因此,铸造过程中需要消耗大量的砂料,如何为工件匹配合适的砂箱并尽 可能使砂料的消耗量最小化,是节约铸造成本的重要途径。然而,实际工业生 产中库存的砂箱数目往往远大于需要铸造的当前批次工件数目,故为每个需要 铸造的工件挑选与之对应的砂箱,是一个运算量十分巨大的复杂的问题。譬如, 从N个砂箱库存中挑选n个砂箱以铸造n个工件,理论上存在个排列组 合,考虑到一般情况下N>>n,该排列组合数将十分巨大。此外,由于铸造现 场环境恶劣,铸造任务和进度多变,拥有的砂箱的占用状态也会随时发生变化, 调度环节难以实时掌握生产现场的砂箱可用状态,这进一步增加了砂箱匹配和 生产调度的难度。
目前公知的技术方案中,针对工件和砂箱类型繁多、生产任务和生产进度 多变的铸造过程,尚没有较为经济且容错率高的砂箱调度方法。因此,针对现 有铸造过程中砂箱调度方法的不足,如何设计高效经济、稳定可靠、快速灵活 的铸造过程的砂箱调度方法,并发展与之相应的砂箱调度系统,是一个亟待解 决的技术问题。
发明内容
本发明的第一个目的在于针对现有技术中存在的上述缺陷,提供一种算法 简单、适用范围广、方便灵活且最大限度节约砂料消耗的铸造过程的砂箱调度 方法。
本发明的上述目的是通过如下的技术方案来实现的:
该铸造过程的砂箱调度方法,包括如下步骤:
(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为本发明砂箱调度方法的流程框图。
图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的可用信息状态变更为“可用”。
本实施例提供的铸造过程的砂箱调度方法及调度系统,分别整理可用砂箱 和需要铸造的工件信息并按体积予以排序,得到砂箱信息序列和初始工件信息 序列,在此基础上固定砂箱信息序列而逐步移动初始工件信息序列,在移动迭 代过程中完成各工件的砂箱匹配;同时借助通过通讯模块完成非生产现场部分 和生产现场部分各模块的信息交互,使用条码扫描模块进行铸造前后砂箱条码 的扫描以保证数据库模块实时更新砂箱的可用状态信息,这种技术方案简洁高 效、容错率高,逻辑清晰,普适性广,相应的砂箱调度系统硬件成本较低且易 于编程实现,并有利于在很短的时间内为需铸造的工件匹配总体积尽可能小的 砂箱,从而节约砂量消耗,降低铸造综合成本。