生产工单派报工系统的设计与实现
2013-11-24孙赫勇
孙赫勇
(南车青岛四方机车车辆股份有限公司 信息技术部,山东 青岛 266111)
ERP系统(Enterprise Resource Planning)在制造企业生产现场的管理的颗粒度粗,无法满足精益生产的要求;MES系统 (Manufacturing Execution System)作 为 面向车间层的生产管理技术与实时信息系统,可以提供快速反应、精细化的制造业环境,但系统庞大,实施难度大、周期长、费用高昂,后期维护成本高,可控性差。
我公司在ERP系统(SAP ECC6.0)的设计与实施过程中,充分考虑到公司作为离散制造型企业的生产特点(分工细、专业化强、注重制造执行层级的管理与精益化生产),对MES系统在实施、维护过程中将会面临的问题及其实效性进行了分析,并结合公司现阶段的业务需要,自行设计并开发了与ERP系统对接的生产工单派报工系统(以下简称派报工系统)。该系统实现了制造执行系统的部分功能,全面解决了公司的业务需求,系统的规模小、费用低、实施周期短、易控制、操作性好、维护方便,实现了对生产执行计划的管控,细化了对生产管理的颗粒度[1]。
1 业务需求
公司ERP系统上线初期,在生产现场管理层级信息系统需要实现如下主要功能,以满足公司生产的业务需要:
(1)工步派工:细化制造执行层级管理,对 ERP系统中的工序进一步分解,细化到工步。生产组长以工步为单位进行派工,指定工作人员、工作内容、定额工时、质检方式,工作人员根据打印的派工单进行生产。
(3)开口项管理:影响生产过程的因素具有多样性与突发性的特点,这些因素会造成某道工序暂时欠件、欠工的现象。在不影响产品质量的前提下,为了保障生产进度,公司采取开口项管理的方式,把欠件或欠工的工序记录为开口项后转入下道工序按计划生产。在产品交付前,在ERP系统中通过事物CO07创建返工工单对开口项工序补件、补工,生产报工后关闭开口项。派报工系统须具备开口项的记录、修改与查询功能。
(4)快速报工:工序数量多,常规的数据查询方式效率低,不适应公司的生产需要。派报工系统要快速定位到预报工工序、快速报工。
(5)通知质检:公司执行“自检、互检、专检”三检管理,关键产品经生产组长互检合格后,派报工系统须即时通知质检员 “专检”。分别记录生产与质检的报工时间,从而明确部门间责任。
(6)综合查询:完备的信息查询功能是系统不可或缺的。派报工系统要求具备对工单、派工、开口项、报工、质检及失败信息的查询能力,实现对生产过程的全程监控。
(7)易于操作:生产一线职工对信息化系统的操作水平层次多样,派报工系统须提供友好、简洁的界面,易于操作,从而保障系统可以快速普及、高效投用。
2 系统总体设计
基于需求分析,在ERP系统外开发派报工系统,两系统间采用函数相关联,ERP系统是数据的源头与最终的报工实现,派报工系统用来实现在ERP系统中无法或难于实现的一些制造执行层级管理功能,进行生产或质检的预报工。派报工系统设计为 “字典维护”、“业务处理”、“查询分析”三个模块。系统拓扑图以及各模块的功能结构如图1所示。
图1 派报工系统拓扑图
“字典维护”、“业务处理”与“查询分析”三个模块的主要功能如图2所示。
在西斯内罗斯的后期代表作品《卡拉米洛披肩》(Caramelo,2002)中,主人公赛利亚面临的同样是这三重危机:赛利亚一家处于美国社会的底层阶级,没有固定的房子,难以真正融入美国主流社会,少数族裔的身份更让她面临着了来自同龄人的疏离和欺凌;对于祖母身上体现的墨西哥女性传统价值观念,她有着本能的排斥;在有着六个兄弟的大家庭里,她渴望拥有属于自己的房间。
图2 派报工系统模块功能结构图
派报工系统作为ERP的外接系统在公司内网环境使用,其功能处理逻辑复杂、业务数据量大,因此结合职工以往信息化系统的使用习惯,确定系统基于Client/Server结构,采用C#语言、Oracle 11G数据库,以Microsoft Visual Studio 2010作为平台进行系统设计与开发。
3 主要功能实现
3.1 ERP系统二次开发
生产工单在ERP系统中是工序与组件物料的载体,用来作为ERP与派报工系统间是数据传输的对象。
在ERP系统中,对系统预留的PPCO0001的用户出口进行增强开发,从而当用户通过事物Co01创建或Co02修改生产工单时,通过增强程序把需要的与工单相关的信息实时保存到自建的数据库表ZPPWO中。不采用从系统标准数据库表中关联取数,从而避免了数据量大、数据间关联逻辑复杂、运算时间长的问题,提高了系统执行效率[2-4]。
基于 RFC(Remote Function Call)方式创建用于与派报工系统间实现生产工单数据交互的输出与输入接口函数[2-4]。
基于BDC (Batch Data Conversion)方式调用事物Co11创建批量报工函数[2-4]。
3.2 派报工系统开发
派报工系统定时调用ERP系统的RFC函数,从数据库表ZPPWO中获取未报工工单数据、从视图CRHD_V1中获取工作中心数据。
生产组长对未报工工单中的工序进行维护分解,细化到工步并打印派工单向组内员工派工。派报工系统工序维护界面如图3所示,工单处理界面如图4所示。
图3 派报工系统工序维护界面图
图4 派报工系统工单处理界面图
员工根据派工单分配的工步内容完成生产任务后汇报组长,如果工序中有欠件或欠工情况,组长需要在系统中维护开口项信息。组长通过扫描枪扫描派工单中的工序条形码,系统依据扫入的工序控制码值的不同,分别触发生产直接预报工、生产预报工并移交质检或直接提报质检的三种预报工方式。对于后两种预报工方式, 系统会自动触发 PDA (Personal Digital Assistant)短信功能,通知质检员,质检员“专检”合格后提交预报工。系统会分别记录生产与质检的报工时间,用于反映部门间的业务响应速度,进而明确部门间的责任。
派报工系统定时调用ERP系统的RFC接口函数,将预报工数据传给ERP系统,并把回传的报工结果信息更新到派报工系统中。ERP系统与派报工系统间的业务操作与数据流程关系如图5所示。
图5 ERP系统与派报工系统间业务操作与数据流程关系图
4 辅助功能实现
派报工系统中采用如下一系列开发技术,满足了附加的业务需求:
(1)通过刷员工卡登录系统的方式,满足了快速登录系统的需要。用户刷员工卡,读卡器通过键盘输入端口将磁卡芯片的物理ID号输入到派报工系统登录界面的文本框内,系统根据ID号关联员工编号与密码,完成自动登录。
(2)以备忘录形式实现了开口项管理,形成闭环管理功能。创建开口项时须指定截止工序,在截止工序预报工时如果开口项仍未关闭,系统提示“关闭开口项本工序后才能报工”信息,不允许预报工。
(3)条码扫描,快速报工。用户使用扫描枪扫描派工单中已完工工序的条形码,条形码信息通过键盘输入端口传入派报工系统、触发“KeyPress”事件,系统通过事件参数“KeyPressEventArgs”获取条形码信息,并从信息中拆分出“工单号”、“序列”及“工序”信息,从而快速定位到目标工序[5]。
(4)PDA短信通知质检。质检员用PDA登录派报工系统后,系统自动在PDA中实例化一个Socket,调用Socket.Bind方法设置该台PDA的IP及监听端口号2008,再调用Socket.Listen方法开始监听2008端口号。生产移交或提报质检工单时,系统触发PDA的信息发送方法,通过质检员PDA信息表查询到当前工单工序对应的质检人员PDA设备IP地址,将PDA设备IP地址与预留的2008端口号转化为 Socket传 输 协 议 的IPEndPoint参数,由C#实例化的Socket接入 IPEndPoint参数,将报工的工序信息序列化后通过 Socket.Send方法发送到PDA,PDA设备监听到传输到2008端口号的信息后,系统将序列化字符转换成字符串显示到 PDA屏幕[5]。
(5)系统界面友好、易操作。派报工系统界面使用公司既有业务用语,所见即所知;根据用户既往以EXCEL维护数据的使用习惯,采用C#的GRID控件开发了数据处理功能,使系统的维护与查询操作仍保持表格处理方式。采用帧页方式并行显示多类型业务,保持界面简洁、可快速切换业务;另外,开发了数据导出功能,便于系统外的数据分析。
派报工系统,实现了制造执行系统(MES)的部分功能,为操作人员和管理人员提供计划的执行与跟踪,加强了对生产执行计划的管控,细化了对生产管理的颗粒度,实现了企业计划层、生产执行层间的有效衔接,实现了ERP系统对生产现场的管理延伸,弥补了信息化平台在生产执行层面的空缺,把计划同车间生产现场控制关联起来,提升了公司制造资源的利用效率和生产运作的管理水平,提升了公司的核心竞争力。
[1]王新亭,张怀京.企业生产执行系统的构建与实施[J].软件导刊,2012(1):1011-1019.
[2]马一然,佟红岩,吴卫亮.唐钢 ERP系统二次开发语言ABAP 探究[J].数字技术与应用,2012(1):158.
[3]关宇平.SAP R/3系统客户化接口程序的开发方法及实现[J].计算机系统应用,2007(2):49-50.
[4]刘建武.浅谈基于SAP系统的远程功能调用[J].长炼科技,2008,34:51-54.
[5]NAGEL C,EVJEN B,GLYNN J.C#高级编程 (第6版)[M].李铭,译.北京:清华大学出版社,2008.