曾鹏飞,蒿宇宇,郝永平,史春景,刘锦春
(1.沈阳理工大学机械工程学院, 沈阳 110159; 2.沈阳理工大学CAD/CAM技术研究与开发中心, 沈阳 110159;3.北方华安工业集团有限公司, 黑龙江 齐齐哈尔 161000)
弹药是军工产品中产量最大、品种最多的一类。目前,弹药生产过程中的数字化和可追溯性管理能力有待提高,对弹药生产过程中的数据难以进行及时有效分析[1]。随着信息化的发展,在弹药生产、运输、存储、质量、寿命、勤务与维护、报废与销毁等全寿命周期中,实现数据的数字化、规范化和可追溯性是弹药生产管理的必然趋势[2]。条码因其具有存储信息量大、可靠性强、使用灵活等特点,已被广泛应用于物流业及电子商务等领域[3-5]。一些专家学者也开始将条码技术引入到车间生产过程中,秦开涌等[6]实现了将条形码技术应用于车间生产信息采集系统中;杨展等[7]针对小批量离散型制造企业提出了基于条码技术的数据采集方法,设计和开发了生产数据采集原理系统;庄存波等[8]针对复杂产品装配中物料动态跟踪困难,提出了基于流程和条码的复杂产品离散装配过程中的物料动态跟踪与管理技术。本文针对弹药生产过程中信息采集时效性、信息化管理程度和质量问题追溯等问题需求,提出了基于条码的弹药生产数字化车间管理方法,利用弹药标识编码及其相关技术规范实现弹药生产过程的全方位信息管理和可追溯性。
利用弹药标识编码技术对弹药生产信息进行编码处理,实现对弹药生产信息采集与传输、监管与全过程可追溯。弹药生产过程的每道工序产生的信息和数据必须被记录[9],通过对弹药进行编码,将弹药所有有关信息通过条码方式进行存储。在对弹药条码进行设计的时候,需要尽可能地把弹药生产过程所有涉及的信息存储到条码中,以便于对弹药从零件加工开始到成品出库进行全过程的实时质量跟踪和控制。当弹药质量出现问题时,通过扫描弹药条码实现生产全过程的可追溯,找到问题出现的关键环节。弹药条码设计分为弹药条码主信息设计和弹药条码附加信息设计两个部分。
弹药条码主信息设计主要包括对弹药的弹丸编码设计、弹药的引信编码设计、弹药的发射装药编码设计和弹药的包装箱(托盘)编码设计。弹药条码的主信息设计是用于对弹药生产各道工序信息和数据的存储。
1.1.1 弹丸编码方法与规则
弹丸编码主要由分类信息码、使用信息码、生产信息码和校验码等四个部分组成,如图1所示。弹丸编码共有21位,由阿拉伯数字0-9构成,其中分类信息码4位,使用信息码5位,生产信息码11位,校验码1位。弹丸编码设计符合弹药标识编码技术规范等文件的标准要求[10-13]。
分类信息码由口径和弹药种类两部分构成。口径代码用于区分弹药的口径,弹药种类代码用于区分弹丸种类。
使用信息码又称弹丸质量,弹丸的实际质量以kg为单位,小数点后保留2位,位数不足时在前面补“0”;例如,弹重45.50 kg,使用信息码则表示为04550。
生产信息码由批次、年代、生产厂、顺序四部分构成。生产批次划分遵循实际生产时间段相同产品方可组成一个批次,在规定限度内具有同一性质和质量,并在同一生产周期中连续生产出来的一定数量的产品为一批。弹丸的批次码由生产厂根据实际生产情况确定,批次有2位代码。年代有2位代码,取4位年代号的后两位数。生产厂有2位代码,用于区分不同生产厂。顺序号用于区分弹丸在同一批次生产中所处的前后顺序,弹丸的顺序码由生产厂根据实际生产情况确定。
图1 弹丸编码内容及格式
1.1.2 校验码的计算方法
校验码有1位代码,位于编码从左向右数的第21位。校验码数字值的计算方法如下:
1) 包含校验码的所有数字从右向左编码,分别为1,2,…,21位;
2) 从第2位开始,所有偶数位的权数设置为3,从第3位开始,所有奇数位的权数设置为1;
3) 将对应位置的代码数字与相应的权数相乘,并定义所有乘积相加求和为:
(1)
式(1)中,xi为21位弹丸编码中偶数位的值,i=2,4,6,8,…,20;yj为21位弹丸编码中从第3个位置开始的奇数位的值,j=3,5,7,9,…,21。
4) 对上一步的和z,利用MOD10求余数a,即:
a=z%10
(2)
5) 如果余数a为0,则校验位值为0;否则,用10-a的值作为校验码。
以弹丸编码16110455003161307500X为例,则可以识别出弹丸代表的相应信息:2016年123厂生产的第03批155杀爆弹,弹重45.50 kg,共计7500发。具体编码示例,如表1所示。
设计弹药附加信息码的主要目的在于:当弹药质量出现问题时能够通过弹药条码的扫描识别可以快速追溯到承制部门和具体责任人,也便于弹药生产过程车间管理的数字化和智能化。弹药附加条码信息的主要内容包括人员身份序列号、弹药序列号、弹药ID、人员姓名、动工时间、完工时间、日完工数量、描述信息等。人员身份序列号、弹药序列号和人员姓名用于质量问题的追溯,而动工时间、完工时间和日完工数量则用于检测每道工序的生产进度、在制品情况、计划完成情况以及工作效率等。
表1 弹丸编码示例
生产车间是企业生产管理与生产制造的枢纽,是企业物流、信息流、工作流和控制流的交汇点。弹药生产属于多品种小批量、以订单为主来组织生产,属于典型的离散型生产方式[14],对于离散型车间这种离散加工、多品种、小批量生产,产品质量和生产率很大程度上依赖工人的技术水平;以往车间在数据采集上主要以手工上报为主,这样采集来的数据时间间隔大,并且难以保障数据的准确性和实时性。条码技术的应用可以通过条码识读设备将识别的数据信息存储到计算机中,使数据管理自动化,减少人工操作时间,提高生产数据收集的准确性。最终实现生产数据与生产控制的无缝衔接。
武器弹药生产有着严格的交货期限要求,准确合理的生产计划是实现最终目标的有效保障,必须围绕物料来组织制造资源实现准时生产。结合物料需求计划(MRP)和准时制生产(JIT)来综合制定系统的生产计划[15,16]。根据弹药主生产计划中规定的最终产品交货日期,来规定各项作业必须完成的时间,编制最终产品的零部件的生产计划,确定企业内部生产部门应完成的各种零部件产品的生产时间和数量,并且计划各种外协零部件的采购数量和采购时间,其原理如图2所示。
图2 弹药生产计划制定原理
通过对生产计划的制定和控制来消除浪费,降低成本,提高企业的经济效益和市场竞争力。MRP便于集成CAD/CAM和自动化加工中的信息,有着强大的信息处理功能,而在生产控制方面存在缺陷。针对离散型加工车间动态的、易变的生产环境,结合MRP和JIT各自的优点来合理的构建弹药生产计划制定的管理过程,如图3所示。首先从物料需求计划中分解出自制件生产计划,再按车间任务进行下达,然后根据零件需求的数量和时间,通过倒推的方式进行安排生产。
图3 车间生产计划制定与控制流程
根据企业生产车间数字化管理的实际需求和条码技术的应用要求,本文开发了相应的弹药数字化车间生产管理系统,系统主要包括系统管理、条码资源管理、计划与调度管理、信息管理、质量控制、人员管理和综合查询与统计等七个功能模块,其系统功能结构如图4所示。条码技术的应用贯穿系统功能的各个模块,在弹药正式投产前打印出配套的条码跟踪卡,此跟踪卡伴随弹药生产的工艺全过程及每道工序和生产工位,工作人员通过条码扫描设备识读跟踪卡上的条码信息,即可获取之前每道生产工序的数据信息,并需在跟踪卡记录本道工序,直至产品生产完成包装入库。在本系统的系统管理功能模块中的数据库设计里实现条码代码与弹药生产实际信息的一一对应且唯一关联。在条码资源管理、计划与调度管理、信息管理、质量控制等模块的底层信息流通都通过扫描相应的弹药条码实现。在人员管理模块设定系统内的每位工作人员以特定的身份序列号,通过弹药条码和人员身份序列号的按需管理,便可以通过扫描弹药条码来查询相关的工作人员信息,从而实现质量信息的可追溯性管理。在综合查询与统计功能模块里,通过扫描弹药条码将识别的弹药实际信息存入数据库,然后根据系统综合查询与统计功能采用浏览器便可实现对弹药生产过程数据的实时查看和按需统计。
图4 弹药数字化车间生产管理系统功能结构
为了能够清楚地反映出弹药数字化生产中各个环节和活动对信息采集、加工、处理和查询的要求,以及信息流动情况和数据之间的相互关联关系,同时使得条码技术及其相关的使用技术能够更好地融入到弹药数字化生产车间的管理之中,本文建立了弹药生产主信息、生产调度信息、弹丸信息、引信信息和发射装药以及弹药质量信息等的系统主要数据关系模型,如图5所示。
图5 系统主要数据关系模型
这也是本系统的主要的数据关系模型。通过数据关系模型的构建,可以清楚地辨识整个数据存储的结构关系,是整个系统资源信息共享的基础,其好坏将直接影响整个系统功能的性能、运行效率和实现效果。根据该弹药生产企业的产品特点、生产车间管理需求和条码设计的原则,选择SQL Server 2008数据库管理系统作为本系统的数据库服务系统,以提高事务处理的能力和实现更好的安全性控制。
弹药数字化车间生产管理系统的实施基于J2EE开发平台,采用MVC(模型-视图-控制器)模式和SSH(Struts2+Spring4+Hibernate5)[17,18]组合架构。系统采用B/S(Browser/Server)结构模式,基于Java Web分层设计原理将整个系统结构分为用户层、拦截器层、控制反转层、业务处理层、持久化类层、映射关系层和数据库等七个层次,如图6所示。
当有请求从用户浏览器端发送过来时,可由拦截器层在服务器的web.xml文件中配置的Filter来进行过滤筛选后将响应返回给浏览器,或者将请求映射到控制反转层,根据struts.xml文件中的配置转发给相应的Struts2 Action进行处理,并调用业务处理层中的Service来进行业务处理,Service调用持久化类层中的*DAO.java,通过*DAOImpl.java来实现对数据库的操作。持久化类层通过映射关系层中的Hibernate XML Mapping映射机制实现实体类中的属性名与数据库相关数据的映射关系。
系统在控制反转层、业务处理层和持久化类层之间的接口通信时,彼此类之间的关系依赖Spring IOC容器来实现相互关系的注入,Spring IOC则主要通过相应的Spring-Context.xml文件配置来实现三个层次之间的信息传递。这样大大降低了类与类之间的耦合度,提高了代码的可重用性。
图6 系统层次结构
弹药数字化车间生产管理系统以Windows 7为系统服务器的操作系统,采用Microsoft SQL Server 2008作为后台数据库管理系统、Apache Tomcat 7.0作为系统服务器、JDK/JRE 1.7.0作为Java部署和运行环境等进行了系统实施的相关工作,并完成了在微软IE和谷歌Chrome等浏览器环境下的系统测试工作。除此之外,在系统完善与开发效率方面,系统应用面向切面编程(Aspect Oriented Programming,AOP)的思想,并使用Spring AOP动态代理机制实现细粒度的权限控制与事务等的通用逻辑[19]。
弹丸条码主信息条码生成功能界面,只有将弹丸编码的分类信息码、使用信息码、生产信息码和校验码全部选择后才可对弹丸条码主信息进行二维码生成,少任何一项系统都会报错,如图7所示。通过下拉列表的形式进行点选,以提高输入的准确性,选入的项为弹丸的实际信息,点击查看按钮会自动跳转到二维码生成界面,但在二维码生成界面是以弹丸实际信息对应的代码形式来进行显示的,点击二维码生成按钮即可生成相应二维码。其中条形码生成按钮可生成一维码,在车间生产中主要使用二维码,一维码为辅,如图8所示。
图7 弹丸条码主信息初始生成
图8 弹丸条码主信息生成
弹药信息显示界面是通过条码阅读设备识别弹药跟踪卡进而对弹药主信息和附加信息进行显示的界面。弹药主信息显示功能界面有对弹药种类和数量进行分类查询功能,如图9所示为根据年代查询显示的弹丸信息。附加信息显示界面则有对弹药生产过程中涉及的部门和个人进行指定查询的功能,如图10所示。附加信息显示界面可为弹药生产进度统计、在制品统计、计划完成情况以及质量问题的快速准确追溯提供依据。
图9 弹丸主信息查询显示界面
图10 弹丸附加信息显示界面
本文参考弹药标识编码技术规范等标准,设计了弹药条码的主信息组成和弹药附加码包含的信息内容,并设计了确定校验码值的MOD10计算方法。基于MRP和JIT等精益生产相关理论完成了系统需求的分析,构建了具有系统管理、条码资源管理、计划与调度管理、信息管理、质量控制、人员管理和综合查询与统计等功能模块的管理系统,同时完成了数据库的设计。系统开发基于J2EE平台,采用B/S系统结构,结合MVC设计模式和SSH底层架构进行了系统实施。下一步将选择适合的打码设备,并完成与系统的衔接工作。通过基于条码技术的弹药生产数字化车间管理系统的实现,为企业实现对弹药生产数据的数字化、信息化和网络化管理奠定了基础。