本发明涉及电镀生产控制技术领域,具体涉及一种对电镀生产线的生产优化以及动态生产产品的行车控制优化系统。
背景技术:
目前各大电镀厂商普遍使用的电镀生产流程是人工进行电镀产件的信息录入,电脑记录信息后传达到plc控制系统,由plc控制系统转化成机器上的移动与操作。每次的电镀生产都需要重新进行电镀生产件的重新录入,并且工人通过肉眼判断式地进行生产过程的监控和测试。
若采用这种方式进行电镀生产,一是人力资源需大量配备,包括线上对电镀生产情况的检测人员、电镀产件的信息录入员、电镀液浓度检测员等;二是对于机器的使用与控制率并没有达到优化,单条生产线上只能单件单件地生产,使用率低而且生产效率也低;三是信息的非统一管理使生产过程的信息管理有可能产生遗失、错漏等失误。
由于长期以来没有一个政府部门专门负责管理电镀工业,电镀工业的分布和发展缺少总体的、完整的规划。由于厂点多、规模小、专业化程度低,造成生产效率低,经济效益差,大多数国内电镀企业均面临亏损。并且对电镀工业的投入不够,在过去十年中,对电镀工业的投资有限,用于技术改造和技术引进的投资更是十分缺乏,限制了电镀工业技术的更新和发展。
通过规模化的生产管理系统,可以将整体生产过程进行数字化控制与管理,将电镀镀件的信息输入到系统中,对所有的生产过程进行信息记录,可查看生产过的电镀镀件,可查看生产历时记录,可查看当前生产情况等等,这些都符合大数据时代的数据管理与数据分析,通过大规模的数据不仅能将生产流程数字化,还能对数据进行分析、统计,产生更合规模的生产方式和设计合理的运作模式。
非线性优化排程可以实现同时进行多个电镀工件的生产和生产流程的优化。录入多个产品后,系统进行计算并得出最优或较优的电镀生产计划,由该系统主动控制plc控制系统进行电镀生产流程的调度和控制。与此同时生产过程中在电镀槽内设置多重监测器和传感器将实时的温度、电镀液浓度、电镀生产时间等信息反馈到系统当中,以方便检测生产过程中的不利因素从而排除不良情况。
非线性优化排程应用到电镀生产行业当中并非先例,但在国内该技术并没有得到广泛的宣传与应用。国外例如日本、以色列、德国等国家,在非线性排程优化生产的发展道路上发展得相对比我们要完善。相对于传统的线性单调的单件生产流程而言,非线性优化排程在处理生产流程该技术上不仅可以优化电镀厂商的生产计划,还能提高生产效率,带来更大的经济效益,并在技术革新上对传统工业进行翻新。然而,现有国外的非线性优化排程系统并没有能够与国内电镀行业进行有效整合,因其没有考虑到国内电镀行业大多是小规模生产的实际状况。
在能耗方面,全国电镀工业生产每年消耗铜、锌、镍等金属在7万吨以上,年消耗氰化钠2万吨以上,消耗铬酸酐3.5万吨以上,消耗酸、碱等化工原料40万吨以上。传统技术中需要在废水处理以及残渣处理方面投入大量整合资源,以确保对环境有效的保护,避免对环境严重的破坏。
另外,专利105821468a提出了一种电镀生产线行车预判调度控制方法,该方法可以根据产品的生产工艺流程生成行车指令序列,同时可以避免新增加进入生产线的产品不会影响线上生产的产品,可以实现多个不同产品的生产。但该发明中没有提及是否可以进行行车移动的动态控制以及多个产品的电镀排程优化,同时没有提供web端管理的功能。
技术实现要素:
本发明要解决的技术问题是提供一种同时包括集产品电镀排程、行车动态移动控制、产品动态添加生产、plc通讯控制、web管理以及生产历史数据管理于一体的基于电镀生产线的非线性约束优化排程系统。
为解决上述技术问题,本发明采用如下技术方案:一种基于电镀生产线的非线性约束排程优化系统,其特征在于:整个系统架构包括以下模块,
系统功能模块,实现对系统核心功能的统一控制和设置,以及对系统进行功能性拓展;系统功能模块包括有用户管理模块、产品管理模块、生产任务计划模块、历史记录模块和排程算法优化模块;
核心处理模块,包括非线性约束排程优化引擎以及行车动态控制引擎;
plc通讯处理模块,实现通过内存进行数据交换,系统读取plc的共享内存区,取出plc反馈的数据,再写入通知plc执行动作的指令,以此来达到与plc的通讯;
网络管理模块,负责进行接受网页客户端的连接,响应客户端的请求,向客户端传输电镀生产线的生产情况;
数据库管理模块,mysql数据库进行连接,存储和管理电镀生产过程中产生的数据,包括产品生产历史数据、产品的的实际电镀流程、产品的质量情况、计划中的产品生产安排任务、产品在每一步电镀步骤中的生产情况;
行车控制处理模块,实现生产线的行车动态控制,根据线上产品的电镀情况,实时进行行车的移动,通过不断地向plc终端发送行车指令来控制行车,根据实际要求进行产品的搬运,动态控制行车;
根据每种电镀产品的工艺流程,通过非线性数学规划,记录和计算每一种生产工艺的约束条件,编写待生产的产品的排程约束优化函数式,根据产品的生产工艺条件约束,计算在规定时间内可以完成生产的产品数量,以及进行生产次序的排列,同时包括对行车动态搬运产品的动作计算,以及生产线槽组的封闭。
进一步地,所述用户管理模块,实现对不同用户访问的权限控制,不同用户具有不同的对系统的访问权限,将对用户的权限进行判断,符合权限才可进行操作,并进行系统员工信息管理,将操作员的信息统一化及数字化;
产品管理模块,实现对产品信息的管理,包括产品的增加、删除、修改、查询;产品的增删改查操作会同步到数据库中,并在系统中生成记录可供查询和核实;产品信息包括产品名称、产品种类、产品数量、产品电镀过程信息,以对产品添加图片使其更形象化;产品可直接添加到生产队列当中,当生产队列中取消某产品的操作时,并不会影响产品管理模块中对该产品的信息保存;
生产任务计划模块,实现生产计划的控制及查看所有当前或未来的生产计划;当生产计划正式生成后,可在该模块中查看该生产计划,包括查看当前生产的产品、生产顺序、生产时间及相关信息;该模块还能预约未来的生产计划,选定生产日期后,系统会自动对该生产计划排程,同时生成该生产计划的电镀过程,若当天生产计划已到达饱和状态,可询问用户对生产计划进行调整;所有生产计划都会记录在历史记录当中以便进行查看和核实;
历史记录模块,实现对所有操作的记录和生产计划的记录,并且包括所有错误信息的记录;历史记录包括产品信息操作的记录、系统设置的修改或设置、系统生产计划的编写记录或修改记录、数据库写入或读取的记录、操作员登录以及登录信息的记录、plc反馈回来的错误信息以及网络通讯的信息记录;
排程算法优化模块,实现将系统写入的生产计划任务通过算法与核心操作形成优化的电镀生产过程,将电镀的生产过程反馈到系统的可视化界面中进行显示;该模块的核心算法基于非线性数学规划,将线性参数通过约束优化,形成电镀生产过程非线性控制的结果。
进一步地,非线性约束排程优化引擎的算法步骤如下:
(1)根据每种待生产产品的生产工艺流程及生产线的电镀槽排布情况,制定生产规划的约束条件,同时为确保产品的生产质量,根据客观条件添加约束,并且制定非线性函数式;
(2)在约束范围内,根据非线性函数式,计算电镀排程的最优结果,制定产品的生产次序以及在工作时间内上线生产的产品个数;
(3)对排程优化的结果进行筛选,剔除暂时不进行生产的产品,并再次进行排程优化运算,对产品进行重新排程。
进一步地,行车动态控制引擎的处理步骤如下:
(1)查询线上生产每一种产品的生产状态,找出在电镀槽中已经浸泡一段时间的产品,把其生产状态信息存储在集合中,得到线上待处理产品的生产状态集合;
(2)根据状态集合中的每一个状态进行状态迭代,得到每一个状态对应的行车移动动作集合以及下一状态集合,判断新的状态集合中是否存在影响产品生产质量的状态,若存在,则舍弃这一状态对应的动作集合;
(3)根据步骤(2)中得到的状态集合,进行最优化比较,找出其中最优的行车移动方案,进行行车移动,搬运产品;
(4)继续返回步骤(1)重复执行,直到线上所有产品生产完毕以及没有新的产品需要进行生产。
进一步地,plc控制终端与pc端电镀排程优化控制系统的通讯交互采用进行内存数据存储区交互(或者进行socket)的方式来传输行车控制指令信息,根据所述行车移动动作集合来生成行车移动指令,并传输给plc控制终端,同时从数据库获取行车移动的反馈信息。如此,可以动态地进行生产线行车的控制,而不必把每一种产品的生产流程的行车移动序列事先进行编码,通过实时的监控生产线上的产品的生产情况,可以有效的避免行车的突发故障以及电镀槽的故障影响线上产品的生产质量,从而大幅提供电镀生产线的生产效率以及产品质量,同时还解决了行车移动的冲突问题,避免了行车在搬运产品的过程中发生碰撞。
进一步地,网络管理模块的web管理端的实现系统进行生产线的远程管理,通过web管理端登录该系统实时的查看生产线的产品生产情况,以及浏览历史生产数据。
进一步地,所述约束优化函数式如下,
其中,约束式:
pn代表需要进行生产的产品数量,pm代表每一产品需要的电镀工艺步骤数;
work表示生产线每天的工作时间;
总体而言,本发明具备如下特点:
第一,可以对多种不同产品进行电镀排程优化,使同一时间内电镀生产线的电镀槽可以达到最大利用率;
第二,可以对要生产的电镀产品进行计划安排,通过对需要进行电镀的产品进行非线性排程,按照每一种产品的电镀工艺进行生产时间的安排,可以最大化的实现电镀生产线上电镀槽的最大利用率;
第三,实现生产线的行车动态控制,根据线上产品的电镀情况,实时地进行行车移动,通过不断地向plc终端发送行车指令来控制行车,根据实际要求进行产品的搬运,动态地控制行车可以有效的解决实际电镀生产中的行车故障以及行车碰撞的问题;
第四,电镀生产数据的管理使用mysql数据库存储和管理生产过程中的产生的产品数据,便于进行历史生产数据的管理和查看,通过查看历史生产数据,结合实际的产品的电镀情况进行产品电镀工艺的修正,以及利于本系统进行数据判断,更有利于电镀生产线的行车控制,使其可以生产出质量更高的产品;
第五,基于网页端的系统管理模块,使生产线管理人员可以通过网页进行远程登录本系统来查看和管理电镀生产线的数据,通过网页可以实时的查看电镀生产线的生产情况;
第六,基于unity3d的仿真模拟动画,通过仿真模拟动画来显示实际电镀生产线的行车搬运产品的情况,可以更方便地观察到行车的移动情况以及行车是否碰撞。
附图说明
图1为本发明整体架构图;
图2为本发明系统算法架构图;
图3为本发明管理过程架构图;
图4为本发明非线性约束优化算法引擎流程图;
图5为本发明行车动态控制流程图。
具体实施方式
本实施例中,所述基于电镀生产线的非线性约束排程优化系统,参照图1、图3、图4和图5,系统功能模块实现对系统核心功能的统一控制和设置,对系统可进行功能性拓展,通过可视化界面,包含了该系统用到的所有功能。系统功能模块包括五个小模块,即用户管理模块、产品管理模块、生产任务计划模块、历史记录模块和排程算法优化模块。其中:
(1)用户管理模块实现对不同用户访问的权限控制,不同用户具有不同的对系统的访问权限,部分操作将对用户的权限进行判断,符合权限才可进行操作,该模块还可进行系统(或公司)的员工信息管理,将操作员的信息统一化、数字化。高权限管理员可查看其他操作员的操作记录和个人信息。
(2)产品管理模块实现对产品信息的管理。如产品的增加、删除、修改、查询。产品的增删改查等操作将会同步到数据库当中,并在系统中生成记录可供查询和核实。产品信息包括产品名称、产品种类、产品数量、产品电镀过程等信息,可以对产品添加图片使其更形象化。产品可以直接添加到生产队列当中,当生产队列中取消某产品的操作时,并不会影响产品管理模块中对该产品的信息保存。
(3)生产任务计划模块实现生产计划的控制,可查看所有当前或未来的生产计划。当生产计划正式生成后,可在该模块查看该生产计划,可查看当前生产的产品、生产顺序、生产时间等信息。该模块可以预约未来的生产计划,选定生产日期后,系统会自动对该生产计划排程,同时生成该生产计划的电镀过程(已经过优化),若当天生产计划已到达饱和状态,可询问用户对生产计划进行调整。所有的生产计划都会记录在历史记录当中可进行查看和核实。
(4)历史记录模块实现对该系统的所有操作的记录和生产计划的记录,并且包括所有错误信息的记录。历史记录包括产品信息操作(增删改查)的记录、系统设置的修改或设置、系统生产计划的编写记录或修改记录、数据库写入或读取的记录、操作员登录以及登录信息的记录、plc反馈回来的错误信息(包括传感器信息、行车运动信息、电镀液浓度信息等)、网络通讯的信息记录等。默认情况下,该模块不可进行删除、修改等操作,对用户而言只有可读权限,对历史记录源文件进行加密操作,所有操作会写入历史记录当中。
(5)排程算法优化模块实现将系统写入的生产计划任务通过一定的算法与核心操作形成更优的电镀生产过程,将电镀的生产过程反馈到系统的可视化界面中进行显示。该模块的核心算法基于非线性数学规划,将线性参数通过约束优化,形成电镀生产过程非线性控制的结果。
核心处理模块包括非线性约束排程优化引擎以及行车动态控制引擎,其中非线性约束排程优化引擎的具体步骤如下:
(1)系统接收用户输入的产品的生产工艺流程,包括:产品在每一个电镀槽中的浸泡时间、产品的滴水时间、产品的氧化时间等,电镀生产线行车的移动情况,包括:行车平移时间、上升时间、下降时间、每一个电镀槽之间的距离以及电镀槽的个数,同时用户可以规定产品的生产时间以及完成产品生产的时间,以上数据作为非线性约束优化的约束条件。
(2)根据用户要求,设计非线性约束优化的函数式,添加约束条件,使用lingo进行非线性约束求解,根据求解结果进行进一步的优化,把产品优化结果输出显示,如果用户有需要修改的地方,可以重新进行优化排程。
(3)根据优化排程结果进行产品上线生产,依照排程结果的产品次序进行生产,通知工人依序上挂产品,上挂完毕开始控制行车搬运产品进行生产。
行车控制引擎的具体步骤如下:
(1)扫描线上生产的产品电镀情况,取出已达到生产标准的产品,存储在集合中,根据集合中每一个产品的生产状态进行下一状态的迭代,保存其每一个状态所产生的的行车动作,得出产品的下一个状态集合,根据该集合的产品状态,筛选出最优的状态,即执行完该状态后不会影响到线上产品的生产情况。
(2)根据步骤(1)中得到的最优结果,进行行车移动,根据产品的工艺流程,生成对应动作的行车移动指令,在向plc发送指令前需要获取到即将移动的行车的当前状态,避免行车发生故障导致无法移动产品,从而影响其他产品的生产,若行车状态良好则通过与plc通讯的模块向plc发送行车指令,从而进行动态的移动行车。
(3)扫描和移动线上产品的同时,根据电镀槽的空闲情况以及线上产品的生产情况,判断是否需要添加新的产品进行生产,添加新的产品上线生产的同时不能影响线上产品的生产。
(4)产品未生产完毕,则重复步骤(1)、(2)、(3),直到所有产品生产完毕。
plc通讯处理模块具体实现:通过内存进行数据交换,系统读取plc的共享内存区,取出plc反馈的数据,再写入通知plc执行动作的指令,以此来达到与plc的通讯。(也可通过串口来与plc终端进行数据传输)。
网络(web)管理模块负责进行接受网页客户端的连接,响应客户端的请求,向客户端传输电镀生产线的生产情况,例如:线上产品的生产情况,待生产产品列表、电镀生产线的电镀槽使用情况、行车状态等等。
可以通过电镀生产线仿真模拟系统的显示方式,通过行车控制模块生成的行车指令实现动态控制行车的前进、后退、上升、下降,形象的显示行车实时移动的场景,通过仿真模拟动画可以了解电镀生产线的整个生产流程以及行车是否会发生碰撞等等。
图2为系统算法架构图,非线性约束排程模块主要负责接收用户输入的关于产品生产的条件以及产品的生产工艺流程,通过进行非线性约束求解,得出产品的上线生产排程结果,进行显示,同时用户可以根据结果进行再次的调整,触发重新排程,把最终的排程结果输送到主程序模块进行产品上线生产安排。
主程序模块包括对非线性排程的结果进行解析,并根据排序的产品的电镀工艺流程以及生产次序进行安排生产,由行车控制模块对待生产的产品进行动态添加上线生产以及线上产品的动态控制;主程序模块通过数据库管理模块与mysql数据库进行连接,存储和管理电镀生产过程中产生的数据,包括产品生产历史数据、产品的的实际电镀流程、生产的产品的质量情况、计划中的产品生产安排任务、产品在每一步电镀步骤中的生产情况;
web管理模块与主程序进行连接,负责管理和维护通过web页面登录进来的用户,同时处理远程用户的请求,远程用户可以通过web登录该系统,进行实时的电镀生产数据查看,在web网页上可以显示当前生产线的生产情况以及线上产品的移动过程,同时显示仿真动画,管理员用户可以通过该web页面进行生产线的产品管理以及生产任务的安排。web服务器负责客户端的页面数据展示,接收用户请求,通过web管理端接口转发到主程序进行获取生产数据,返回给客户端。
系统建立与实际生产线一样的内存模拟生产线,进行产品的生产,与实际生产线进行映射,通过操作和控制模拟生产线的产品数据来达到间接对实际生产线的控制,对模拟生产线上的产品进行生产状态检查,根据已达到生产要求的每一种产品进行模拟移动,达到下一个生产状态,同时得出控制移动每一个产品对应的行车指令动作,通过判断移动后的产品状态是否对线上产品的生产质量造成影响,如果其中一个优先级高的产品进行移动后并没有影响到线上产品的生产质量,则认为当前产品可以进行移动到下一个电镀步骤。同时,行车控制模块在处理线上产品时,同样需要判断是否可以添加新的产品上线生产,添加新的产品时不能影响线上产品的生产质量。
plc控制模块主要工作原理:接收由行车控制模块生成的行车控制指令,通过与plc建立的通讯通道传输控制指令,同时接收plc的反馈信息,行车的每一个动作指令都需要通过plc控制模块进行传输,从而达到对行车的动态控制,在行车的控制过程中(包括移动行车到待处理产品的电镀槽上方,行车上升、下降以及搬运产品到目的电镀槽),如果有另外一个产品需要使用该行车进行搬运,则必须等待该行车操作完成才能进行下一个产品的搬运。
以上已将本发明做一详细说明,以上所述,仅为本发明之较佳实施例而已,当不能限定本发明实施范围,即凡依本申请范围所作均等变化与修饰,皆应仍属本发明涵盖范围内。