2010-03-17 08:39:52 来源:万方数据
0 引 言
随着信息技术的发展,ERP/MRPⅡ (Enterprise Resource Planning/Manufacturing Resources Planning)系统应用和理念已深入企业中,但是由于车间管理的薄弱,使企业的信息化出现了断层。MES(Manufacturing Execution System)的出现填补了这一空白。尽管现有的一些企业车间管理系统做了很多积极的工作,但是面对我国航天企业的特殊情况,目前还存在以下一些问题:
1)车间生产不能很好地适应客户个性化需求,对客户提出的按需生产不能很好地控制,其生产过程不能自定义调整,车间生产的自适应性很差。
2)信息传递的层次和环节多,速度慢,调节迟缓,各生产环节不能有效地协同,尤其是涉及到多个生产部门时,各个部门信息不能有效地共享,上一个环节的信息不能及时被下一个环节所利用,整个生产信息流不通畅,这样造成了生产过程的拖沓,整个车间生产的协同性、集成性很差。
3)车间生产各个任务离不开“人”的参与,“人”在车间生产中是最重要的。而现有的车间管理信息系统只是在很大程度上提高了车间设备资源等的集成度,并没有将人、信息、技术很好地集成在一起。
4)企业的某些设备比较陈旧,但又不可能在短期内更换,这些设备使得MES严格控制时间的计划和排产难以真正执行。
5)企业的生产模式为批量生产和研制生产相结合的模式,在这种模式下经常出现紧急任务。这让计划和排产难以执行。
由于以上问题的存在,本文提出了一种新的排程模式——基于反馈的实时排程。这种模式的优势在于贴合我国制造业的实际情况,排程模式简单灵活,易于使用和掌握,而且能很好地解决企业的信息化问题。
1 实时排程模式介绍及该模式下车间的业务流程
1.1 实时排程模式简介
实时排程是一种完全区别于计划排程的排程模式。在实时排程模式下,计划员不是一次把批次任务都按计划安排好(当出现异常或加工任务没有准时执行时再去调整计划),而是每次只派发一个批次中的一道工序,等该道工序加工完成后,才将该批次的第二道工序派发下去,它的特点是只考虑实时性而没有考虑计划性。要在MES中实现实时排程模式,并取得好的效果,有两个问题要解决,一是工序之间的流转,即过程导航,另一个是实时性。
1.2 实时排程模式下车间的业务流程分析
根据对车间现有业务流程的分析,去除一些不必要的过程,可依据当前车间的习惯重新设计在实时排程下车间生产的业务流程。
1)计划员接收来自ERP的月度生产计划,然后将月度生产计划分解并给每个批次一定的优先级,按照优先级,计划员将各批次任务的每一道工序派发给各班组(班组按工种划分),并通知工装处准备送工装至各班组。
2)班组长接收到来自计划员的加工任务列表。将任务按照一定的工序选择规则和批次的优先级进行排序。班组长可依据系统获知班组内设备当前任务状态,然后结合自己的经验将任务派发到相应的无任务状态的设备,按规则每个设备不能同时有两个以上可加工任务存在。只有当工人加工完任务并提交给班组长时,班组长才可以继续下发下一个任务给工人。
3)工人获取工装和工艺规程(直接从工人客户端获取)后即开始加工。如果是批次任务的首道工序,则在加工完该工序的第一个零件之后,由检验员对首件进行三检,并将检验结果记录在质检卡中。如零件有问题,则停止该批次的加工,研究出现问题的原因,直到解决后才可进行加工。
4)工人加工完毕,反馈信息给班组长,班组长再给该工人派发自己任务列表中的其他任务。同时工人通知质量员检验零件,待检验结束,工人再通知计划员,该工序已检验完毕,计划员收到信息后,就可以将该批次的下一道工序派发给某班组。如此一直进行下去,直到该批次任务全部加工完成。
2 实时排程模式的关键技术研究
2.1 基于工作流技术的过程导航解决方案
2.1.1 工作流模型的元模型定义及过程建模
根据工作流联盟的定义,要进行工作流建模,首先要定义一个元模型。元模型即描述工作流模型的模型,它是用来描述工作流模型内在联系的模型,元模型是实现车间生产按过程方式运行的基础。为了实现车间生产过程及其相关的人、物料、设备和在制品的全面集成,并对它们进行有效管理、跟踪和控制,需要对车间生产活动进行抽象,建立统一模型。车间生产活动元模型如图2所示,图2中[1∶]表示活动对象和活动过程定义之间的关系即描述与被描述的关系。其中的数字表示他们之间的数量比,即一个过程定义描述—个活动对象。“?”号则表示个数未知。
对于车间制造过程,工艺规程基本上就是一个车间制造过程的流程,因此结合过程模型的元模型和工艺规程,就可以定义出一个制造车间的生产过程工作流模型。
2.1.2 过程实例化
每一个定义好的过程模型都可以成为车间生产的模版,它可以被多次运行,也可以同时有多个实例在运行。每个批次对应一个过程实例,每当一个新的任务来到时,即启动一个新的工作流程。依据具体的业务流程,每个过程实例有以下八种运行状态:等待、待下发、已下发、就绪、运行、挂起、加工完成和检验完成。这八种过程状态对不同的工作流模型含义基本相似。对于每一个活动实例,也有八种状态,其含义解释如下:
1)等待:工序还不能下发,可能是因为其前一工序还没加工/检验完成。
2)待下发:其前一工序已检验完成,该工序已可下发,但是计划员还没将其下发。
3)已下发:计划员已将该工序下发到班组,且在班组长的任务列表中该工序/活动实例被置为黄色。
4)就绪:班组长将任务下发工人,任务出现在工人任务列表中,颜色为深绿,表示该任务工人随时可以加工。
5)运行:工人选择接受派工,开始加工该任务,任务颜色变为粉红色,表示活动实例正处在运行状态。
6)挂起:由于出现异常或错误,该活动实例被暂时挂起,活动处于静止状态,即工人正在加工中出现生产异常(如:加工超差,设备故障等),当前工序无法按正常情况完成,必须挂起,任务颜色变为深红色。
7)加工完成(terminated):该工序加工完,工人通知班组长,任务颜色变为灰色。
8)检验完成:检验员将零件检验完成,工人通知计划员。该活动实例结束,计划员开始下一活动实例的启动。
2.1.3 工作流的过程导航
生产过程实例化后就进入到运行阶段,在这个过程中,由于过程模型已经确立了制造过程中各个活动间的时序关系、逻辑关系和资源属性等,因此工作流引擎根据过程定义和工作流相关数据为过程实例的流转进行导航。其具体运行过程如下:
1)计划员实例化一个过程实例,该过程实例的第一个活动/工序即被启动,该工序即处于待下发状态,表明它已满足下发条件,计划员可随时下发该工序。同时过程实例中的其他活动/工序状态都为等待,表示不能下发,须等待其前面工序加工检验完成后才可下发。
2)计划员下发待下发工序,工序状态即改变成为已下发。
3)班组长查看任务列表中的已下发任务(已下发任务以黄色表示),根据任务和机床的加工情况将各任务下发到具体的工人。每个工人同一时刻只可拥有一个可加工任务。
4)工人查看自己的任务列表,选其中的就绪任务(以深绿色表示其状态)开始加工,此时任务状态自动变为粉红色,表示任务正在运行。若加工过程中设备或任务出现超差等问题,任务状态即改为挂起,以深红色表示。待问题解决后任务重新启动,状态再改为运行。
5)工人加工完一个任务即提交加工完成,任务状态改为灰色,表示已加工完成,正在检验中。此时班组长即可给工人派发下一个任务。待检验员检验完该任务的零件,任务状态改为检验完成,用蓝色表示。过程实例中的下一活动实例状态即由等待状态改为待下发,开始下一活动实例的启动与运行。
2.2 基于多Agent的实时反馈和相互协作
2.2.1 Agent在工作流中的运用形式
第一种形式Agent完全控制工作流活动,Agent和工作流集成在一起。
第二种形式Agent作为一个独立的层存在,为工作流提供服务和功能补充。在本系统中采取第二种形式,Agent负责各个工作流活动间的通信及协作。下面详细介绍Agent在系统中的具体实现。
2.2.2 Agent的创建
依据工作流过程模型中的各个活动,在系统中,实现以下几个Agent:计划员Agent、班组长Agent、工人Agent、质量员Agent和工艺Agent等。车间中每个人员都有自已的Agent。凭自己的ID和密码登陆,并向Main-Container注册,各个登陆的Agent都有自己独立的功能界面。Main-container负责管理各个Agent,从而形成一个Agent网络。
其他Agent直接按其ID登录即可,这里要特别说明工人Agent的登录。对每个工人都有一个ID和密码。当他们登录时,还需要选择当前其需要操作的设备名称,这样就能在该工人Agent登录的时间段内把工人和设备联系起来。系统中使用jade这个Agent平台,jade已经定义好Agent的各种接口,只需在系统中实现其接口并给各个Agem自己特定的行为即可。下面以工人Agent为例说明Agent在系统中的实现。
2.2.3 各Agent的功能分配
车间中各Agent的功能主要是依据车间中制造流程的各个活动的功能来定义的。通过对各功能的抽象,然后将这些抽象的功能封装到已实现的Agent中。从而形成一个具备一定功能同时又能与其他Agent密切配合的Agent。下面以工人Agent为例来说明其功能形式。
工人以自己的ID登录并注册Agent。系统弹出工人Agent主界面。在界面上有工人待加工的任务列表。待加工任务以深绿色来表示。工人点击接受派工按钮,则任务颜色为粉红,表示正在加工。如加工过程中出现设备故障,点击异常报告按钮,向班组长和维修Agent发送消息,任务颜色改为深红。班组长Agent接收到信息后,则班组长收回正在加工的任务,再选择其他设备下发。如班组长不在,则Agent根据已定义的规则,自动处理这个过程。任务加工完成,则工人Agent向检验发送信息要求检验零件。同时通知班组长Agent,班组长Agent即给工人Agent下发下一个任务。检验完毕,工人Agent向计划员发送信息,计划员Agent接收到信息,自动刷新界面,并依据工作流的导航技术,该任务的下一工序即自动处于待下发状态。计划员再选择派发该工序。
2.2.4 Agent的信息反馈
部署Agent主要是为了实现车间生产中的信息通信和数据的实时反馈。从而有利于车间各实体间的相互协作。
在图4中,当有一个Agent发送信息给另一个Agent时,信息将以一个信息框的形式置于所有窗口的最前面,使得操作者不得不首先处理该信息内容才可以做其他操作。这样就避免了操作者因为其他事情而忽视了处理当前反馈的信息,使得实时性得到了很好的保障。在操作者确定已查看信息后,其Agent界面将自动刷新,并从实时数据库获取当前的实时信息,这就更进一步地保证了各个Agent所获取的都是当前最新的数据,也使得其对任何事情的处理都不会有延迟。组长Agent和工人Agent只是一个代表,实际中会有很多个这样的班组长Agent和工人Agent同时在运行。
3 系统运行实例及应用效果
系统采用Java语言开发,C/S结构。数据库为当前流行的SQL Server关系数据库。Java语言的跨平台性很适合于企业应用,同时也能更好地与其他系统集成。有利于整个系统的实施。以下界面展示了系统在某航天企业运行的效果。
该系统在企业应用后,大大提高了车间加工的自动化程度,减少了加工过程中的等待时间。同时当加工过程中出现异常时的处理时间也大大缩短,而且能很好地配合企业的批量生产和研制模式的生产,极大地提高了员工的积极性,提高了车间生产的效率,同时整个企业的信息化进程也得以完善。
4 结 语
制造执行系统作为企业信息化中重要的一环,它的出现弥补了企业信息化中上层与下层系统脱节的问题。本系统正是根据某航天企业的需求研究开发的。通过对企业特殊情况的分析提出这种新的排程模式,满足了企业的需求,解决了企业长期存在的问题,为制造业特别是军工企业信息化建设起到了一定的指导和借鉴作用。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。
