韩星 李高

(上汽通用汽车有限公司,上海 201208)

1 前言

试制车间主导开发的电控无线扭矩系统是通过数字信号传感器和软件编程实现装配拧紧、过程控制、数据采集储存和管理等一系列功能的一整套电脑、电动工具、应用软件和网络的集成,其主要由3 部分组成:服务器、工作台(含控制器,电动工具和软件)、培训和标定车(含工具管理软件)。

通过系统控制拧紧装配,由传感器式拧紧工具自动采集过程曲线和拧紧结果,通过系统的自动配对、计数和逻辑校验,实现系统自动激活合适的工具和拧紧程序,自动判断拧紧完成和未达标状态。每个装配操作的人员、零件信息、拧紧结果等都互相关联,形成完整的追溯链,显着改善拧紧的质量控制和过程追溯。其中关键难点是如何高效的实现单车单零件的程序准确调取,也是本系统向智能化系统推进的重要步骤,本文以此为出发点进行阐述。

2 无线扭矩系统简要概述

如图1 所示,改进前扭矩拧紧及质量管控主要依靠人工。员工根据零件的扭矩信息进行拧紧工具的参数设置,人工拧紧后进行手工记录,需要耗费大量的人力分层审核,确保零质量问题。随着项目和车型的增加对人员能力提出更高的要求,同时伴随着国家智能制造策略的推进,扭矩拧紧需要向数字化智能化方向推进。

图1 电控扭矩系统背景及改进方向

改进后扭矩拧紧及质量管控减少了人工干预,向自动化智能化推进。标准的工作台可以接收数据服务器的数据,控制器接收到数据后匹配对应的拧紧程序,激活相应的拧紧工具,拧紧后数据自动采集并通过工作台回传至服务器,实现从数据下发到拧紧结果记录上传全过程的自动化。后台的程序库和零件扭矩参数关系的建立需要人工进行分解整合,需要有高效准确的解决方案,属于扭矩系统数据预处理研究范畴。

3 扭矩系统预处理具体要求

结合图2 可以看出,扭矩系统预处理解决“项目标准物料清单(BOM)”到“工具能调用到拧紧程序”的研究范围,需要具体解决以下3 个问题:

图2 预处理数据流

a.BOM 系统传递过来的标准BOM 如何打散到单车BOM。标准BOM 是到配置级别的BOM,扭矩系统需要输入的是单车BOM,需要建立两者的转换桥梁。

b.单车BOM 的零件的扭矩样式有多种,如普通型D100+/-15NM S85-115NM,D1.2+/-0.2NM S1NMMIN FDSNS,带角度型INSTALL D100NM+45TO60DEG(YIELD)|TORQ:CONTROLLER TORQUE AT FINAL ANGLE:110-220NM|TORQ:AUDIT:S110-220NM,规则可以统一为以D 开头的都是动态扭矩,以S 开头的都是静态扭矩,DEG 代表角度等。工程通过单一字符串发布扭矩信息,需要将其控制参数识别出来并转化为工具能够识别的格式,扭矩发布形式多样且存在多扭矩状态,常规函数算法无法自动精确识别和提取到需要的数据。

c.如果给每一个需要紧固的零件定制一个拧紧程序,以每一个程序编写需要5 min、每个项目300 个拧紧点来计算,需要投入3 天左右的人时,需要提升效率。

4 数据预处理的实现方法

4.1 VBA 编程实现标准BOM 到单车BOM 的数据拆解

定义目标为应现场精细化控制要求需要实现一车一BOM;BOM 维护的数据量随车辆数累加,万行以上的BOM 数据维护非常困难,解决方案如下。

创建三维BOM 结构,实现一车一BOM 的管理,BOM维护的数据量控制在百行以内。单车BOM利用软件从三维结构BOM 自动生成并与三维结构BOM 数据同步。如图3所示,三维空间中XY平面表达了项目“车型配置-零件信息”的对应关系,可以理解为项目标准BOM,三维空间中的XZ平面表达了“车型配置-项目车号”的对应关系,需要项目前期输入信息,最后需要得到的输出为YZ平面信息,“项目车号-零件信息”的关系即为单车BOM。通过VBA(Visual Basic 的一种宏语言)自开法的软件设计一键实现单车BOM 自动生成,只需要维护标准BOM 和项目车号配置表,改变了原本直接进行单车BOM的维护方法,每次只需要维护变化点数据。

图3 构建的三维BOM

4.2 Python编程实现零件扭矩参数的自动生成

定义目标为根据BOM 扭矩信息字符串自动提取扭矩参数,参数包含扭矩标准值、扭矩公差、静态扭矩上下限、贴合扭矩、角度上下限等。拧紧工具的拧紧程序自动匹配是通过BOM 中各零件的扭矩参数和程序库程序的对应的参数进行匹配,由于BOM 中的扭矩信息是字符串数据且格式多样,工具控制需要的数据需人工二次加工,具体解决方案如下。

解决方案:分析扭矩字符串的规律,利用Python 自主编程进行扭矩参数智能识别和自动转化,程序逻辑如图4 所示,读取BOM 表完整信息,判读扭矩列类单个单元格中的动态扭矩的个数,如有多个动态扭矩,将对应的零件信息复制拆解为多行的单一扭矩信息,根据扭矩表达式的类型定义不同的正则表达式提取扭矩参数并填写到对应的单元格中,完成遍历后保存信息,即完成参数的自动提取功能。Python 编程程序便于维护,是一种近几年流行起来的跨平台的、面向对象的、通用的、开放的编程语言[1]。

图4 扭矩拆解逻辑

4.3 VBA编程实现工具拧紧程序库维护与匹配

定义目标为零件根据扭矩参数自动匹配拧紧程序。每个拧紧零件的拧紧都需要工具有对应正确的程序,如果对每一个零件定制编程,对单个项目而言需要进行大量重复的编程调参工作。实际对每个拧紧程序进行分析,有大量参数雷同,重复会导致工事的浪费,解决方案如下。

建立拧紧程序中心化管理策略,基于扭矩参数唯一性创建拧紧程序库,拧紧程序库供所有项目和车辆共用,由软件自动进行零件扭矩参数和拧紧程序配对引用。如图5 所示,原始方式是每个项目根据零件的扭矩参数编制对应的拧紧程序,通过采用中心化的管理方式,对于项目只需要将新的扭矩参数对应拧紧程序加入到拧紧程序库,通过开发的VBA 程序对新项目的所有需要拧紧的紧固件进行拧紧程序匹配。这样就实现了仅对变换点的零件进行拧紧程序编程,大幅提升了编程效率。

图5 新项目拧紧程序匹配

4.4 拧紧程序库调用

上述3 步操作完成之后,结合系统的拧紧数据库,根据调用逻辑可以完成单车紧固件的唯一程序的调用。

如图6 所示,为BOM 导入之后自动生成的扭矩类型、拧紧点数、贴合扭矩、扭矩下限、扭矩公称值、扭矩上限、角度下限、角度目标值、角度上限的结构化的信息,用于和程序库匹配信息基准。

如图7 所示为扭矩系统程序库部分信息表,以扭矩信息为表主键进行结构化的拆解,输入到扭矩系统中,对工作台的电枪实现程序绑定。结合图6拆解的扭矩角度、扭矩上下限、目标扭矩等信息进行匹配,在执行单车单零件扭矩时,调用工作台上对应的工具,工具执行对应的程序号。每个工作台上的电枪适用的扭矩范围不一样,一个完整的工作台有6 把工具组成,可以柔性覆盖全车型。如BOM有新增扭矩信息,只需要进行程序增加即可满足新车型新扭矩需求,对于其中有特殊要求的扭矩,单独编制拧紧程序,将程序号分配给特殊零件即可满足要求。程序的匹配逻辑和防错可以参考关于本系统的另外一篇论文[2]。

图6 部分BOM的扭矩自动拆解后的信息表

图7 扭矩系统程序库部分信息表

5 数据自动处理成果展示

上述方法已经应用到试制扭矩系统的前期数据处理中,程序自动处理数据,降低人为操作的失误风险,另外在数据前处理的效率上提升了76%,实现团队“项目导入准备周期从2 周压缩到3 天以内”的目标,具体各项收益如图8 所示。

图8 新项目收益汇总

6 结束语

无线扭矩系统的应用实现了整车在试制装配阶段的拧紧过程的拧紧结果控制和过程质量监控,对整车的质量和安全起到了关键作用,满足对安全关键零件和质量关键零件最新的全球控制计划控制要求。该套扭矩系统从设计开发到应用,已成熟应用于试制车间。本文的研究内容是进一步缩短了项目准备的时间,同时这个过程的实现也是通过Python 或VBA 编程语言实现,利用数字化的方法推动了试制拧紧系统向智能化起到了进一步的推动作用,符合当前国家智能制造推动的方向。