汽车线束内联工艺自动规划算法
2014-06-05凌欣南徐本柱
凌欣南, 张 龙, 徐本柱
(1.合肥江淮新发汽车有限公司,安徽 合肥 230601;2.合肥工业大学 计算机与信息学院,安徽 合肥 230009)
0 引言
随着人们对汽车的安全性、舒适性、动力性、经济性、环保性和可靠性等各项性能指标要求的不断提高,汽车上的电器设备、功能也日趋增多,因此连接汽车电器件的线束也变得越来越重要[1-2]。汽车线束在生产之前,需要首先分析线束图纸[3],提取其包含的工序种类以及数目,然后进行合理的 工 艺 规 划[4-5]、制 定 高 效 的 工 艺 路 线[6-7]以提高实际生产的效率,最后经过裁线、压接、组装等一系列复杂的工序才能加工完成。然而,通常一款中等规模的汽车线束,其包含的工序达数千道之多。对于线束的工艺设计,国内很多线束生产企业都是使用通用CAD软件进行直接绘图,但是目前市面上的通用CAD软件基本上都是面对多专业的带有共性的开发平台,它所涵盖的范畴相对较大,在其环境下绘制图形时没有赋予特定领域所具有的语义[8]。这是一种低层次的设计方法,系统仅仅产生用户设计的结果,如二维或三维图形,用户在绘图时无法精确地表达设计意图,因此也不能很好地理解设计[9]。
汽车线束的内联设计是线束工艺设计中的重要步骤,是线束生产过程中必不可少的环节。线束内联设计需要工艺设计人员根据导线连接回路表,分析汽车线束图纸中各种电器件及导线的复杂连接关系,同时分析各个导通回路之间的约束,确定中间压接端子的位置(称之为内联点),并由此计算各导线的下线尺寸,最后还要制作内联工艺卡等工艺文件用于指导车间的生产。如果纯粹依靠工艺设计人员手动进行整个内联设计,计算工作量非常大,错误率高,效率低。据统计,由一名操作熟练的工艺设计人员单独完成一套整车线束内联设计至少需要2周时间,且正确率经常不能得到有效保证。本文针对目前汽车线束生产企业进行线束内联设计工作量大、错误率高、效率低、与企业追求信息化的需要脱节等问题[2],基于ObjectARX2007开发包,以SQL Server2005为后台数据库,对AutoCAD软件进行二次开发,设计并实现了一个汽车线束内联设计系统。
本系统可以自动从线束图纸中提取出所有内联回路(导通回路),并且根据参与压接的各根导线所在接插件的位置,生成内联设计交互环境,同时提示可供用户选择的内联点和可能发生位置干涉的内联点。线束工艺设计人员只需根据系统的提示输入内联点位置,系统便可自行生成内联工艺卡。
1 汽车线束工艺图及内联回路的定义
汽车线束主要由导线、接插件、包裹件、紧固件以及压接端子等几部分组成。汽车线束工艺图如图1所示,它是对线束的抽象和图形化表示,主要描述线束中各导线间连接关系、功能布局和几何尺寸等信息,其中接插件包含了除线长之外的导线线号、颜色、线径等信息。
研究其导线部分,线束本质上是一个无向连通无环图,下面给出线束工艺图中的端点、结点和线束段等的定义。
图1 线束工艺图
图1中,度为1的结点为线束工艺图的端点,是多根导线线端的集合d={1,2,…,n},其中1,2,…,n为导线的线号(表示一根导线的线端,也可表示为1A、50B等),一般端点连接到接插件,所有端点的集合记为D;线束工艺图的分支点是图1中度为2或2以上的结点,为线束工艺图的分支点,记录着线束的定位信息,描述其分支情况,所有分支点的集合记为B;线束工艺图中端点和分支点统称为结点,将线束工艺图结点顺序编号,所有结点集合V=D∪B={v1,v2,…,vk}为结点的集合。线束工艺图中连接2个结点的边称为线束段,设顶点u,v∈V为线束工艺图的结点,则边e=(u,v)为线束段,它是导线的集合,线束段内包含1根或多根导线。线束工艺图中所有线束段的集合记为E={e1,e2,…,en}。
1根或多根物理上连接在一起可以相互导通电流的导线集合称之为线束工艺图的导通回路,记为CL(connection loop),可以用线束段序列{e1,e2,…,ek}表示,其中ei∈E对应该线束段中的1根实际导线。
为了在内联设计过程中针对不同情况实施不同的处理方法,本文先对导线进行分类,线束图纸中的导线根据电路逻辑连接关系可以分为2大类:单根线和内联线。
(1)单根线。对于给定的导线全集W={w1,…,wi,…,wn},若wi与其他任何导线wj(wi,wj∈W,1≤i,j≤n,i≠j)均不构成导通回路,则称wi为单根线。单根线的两端通常直接插于不同接插件的端口中。
(2)内联线。对于给定的导线全集W={w1,…,wi,…,wn},若wi与其他任何导线wj(wi,wj∈W,1≤i,j≤n,i≠j)能构成导通回路,则称wi为内联线。wi的一端通常插于接插件的端口中,而另一端与wj通过中间压接端子连接,形成内联回路。
2 内联回路的自动提取和规划算法
2.1 内联回路自动提取算法
线束的回路表如图2所示,它记录线束工艺图中的各导线端点的线号和位置,简洁明了地反映各回路的组成,表中每个回路号对应的线号集组成一条回路线号集。回路表中包含的信息众多,人工输入耗时费力并容易出错,需要考虑回路表的自动生成,目前根据不同的线号规则和输入原则有3种生成回路表的方式。
图2 线束的回路表
(1)基于线号命名规则方式。线号的命名采用如下规则:线号是数字加字母的组合,其中数字表明回路号,字母表示回路的端点,如1A、1B、1C、1D构成1号回路,并且具有4个端点,基于本规则可以提取出回路表。该方式无需显示输入回路信息,由线束工艺图给出线束的回路表就是这种方式。
(2)预先输入导线两端的连接情况。这种方式主要输入内联线的信息,绘制线束工艺图之前手动输入每根导线两端的连接情况,如1A一端连接接插件,一端连接1B,表明1A、1B同属于一个回路,再根据1B的连接情况确定回路组成。单根线的两端都与接插件相连接,不与其他导线合压并且两端线号相同,可以不用另行输入。
(3)自定义方式。线束工艺图绘制完成后,自动将图中出现的线号全部列出,由操作者选择一些线号作为回路,指明回路组成情况,最后搜索线束图纸产生回路表。
为正确提取线束工艺图中的回路信息,除了需要各回路的线号组成外,还需作以下约定:
(1)回路表中线号所对应的任意一个顶点都可在线束工艺图的端点中找到。
(2)线束工艺图中的任意一个端点(度为1的结点)都至少在回路表中出现1次,这也保证了每一个都接有电气元件。
上述约定可以保证算法处理的点都是线束工艺图中的端点,同时可以对每一个有效结点进行处理。在此基础上,结合模型表示,根据回路提取算法1从线束工艺模型中提取出回路信息,作为内联设计的依据,进而产生线束BOM。
算法1 线束工艺图回路提取算法。
输入:线束工艺图和回路表。
输出:线束工艺图所有回路。
步骤如下:
(1)对线束工艺图基于上述约束规则进行检测。若满足,算法继续;否则,返回错误请求修改。
(2)从回路表中取回路线号集规则CSR={wn1,wn2,…,wnk}表示的回路,其中wni为回路中的线号,k为线号个数,CSR⊂WN,初始化该回路CL=∅。
(3)搜索接插件集合C,寻找c使得c∈C,c与wn1相连接,记录接插件c的名称及孔位信息和连接端点d,令i=2。
(4)++i,深度搜索图得到x1与xi之间路径CL′={e1,e2,…,el},搜索C,寻找c使得c∈C,c与wni相连接,记录接插件c的名称、孔位和端点信息,令j=1。
(5)如果线束段ej∉CL,将ej加入CL,++j。
(6)如果j≤l,转步骤(5)。
(7)如果i≤k,转步骤(4)。
(8)对在导通回路CL中首尾相接、构成一条直线的多条线执行合并操作。
(9)将回路CL中相关信息保存到回路表中(显然CL⊂E)。
(10)回路表中回路已处理完则算法结束;否则跳至步骤(2)。
线束工艺图含有6条回路线号集,运行算法1可以对其进行分解,最终获得6个回路,如图3所示,其中1~3号回路为内联回路,4~6号回路则是单根线。
图3 回路提取结果
2.2 内联回路规划算法
提取全部回路信息后可求出单根线的导线组成和线长,但不能确定内联回路的导线组成和长度,还需要指定其内联点,确定导线间的连接后方可求出其导线组成及每根线的长度。
内联点(connection point,简称CP)是内联回路CL中2根或以上导线物理连接的位置,在CP处用中压端子将导线连接在一起,构成导通回路。由于安全及成本关系,内联点不能选在分支点上,必须偏移一定的距离,一般在20~50mm。同时内联点必须在内联回路上,不能存在于独立导线中,否则会产生多余的中间压接端子,造成材料浪费。
算法2 内联回路规划算法。
输入:线束工艺图所有回路。
输出:内联工艺卡片、BOM等工艺文件。
步骤如下:
(1)根据线束图纸语义模型中导线的逻辑连接关系,提取出各个内联回路,并建立连接回路表。
(2)取出连接回路表中的一个未处理内联回路,为其生成内联设计交互环境。
(3)用户输入内联点,并保证其满足前文所述的2个约束条件。
(4)内联点确定后,分析内联回路中导线实际物理连接关系并计算每根导线的长度尺寸。
(5)根据导线属性,在专业知识数据库的支持下,自动为导线添加端压端子和中间压接端子。
(6)根据当前设计要求,选择添加热缩管等附加件。
(7)为内联回路生成内联工艺卡。
(8)重复步骤(2)~步骤(7),直至把连接回路表中所有的内联回路处理完毕。
内联回路CL中所有的内联点构成CL的内联点集合,记为CPSCL。若内联点CPi处于其他2个内联点CPj、CPk之间,则称CPi为中间内联点。如图4所示,CP2和CP3是中间内联点,CP1和CP2则为非中间内联点。内联点CP是内联回路CL的非中间内联点,记为CPi→CL。
图4 中间内联点与非中间内联点
内联回路在选定内联点的情况下并不能完全确定导线的实际物理连接关系,如图5所示。图5a所示为内联回路CL中选择了2个内联点CP1、CP2,于是对于端点d2中的导线连接便有2种可能性:一种是连接到内联点CP1上,如图5b中虚线所示;另一种是连接到内联点CP2上,如图5c中虚线所示。在这2种情况中,顶点d2中导线的长度尺寸也会有所不同。
图5 导线的实际物理连接关系
根据内联点选择的具体位置,线束内联设计就是把内联回路的无向连通图结构变换成符合导线实际物理连接关系的有向树。对于已指定内联点的内联回路,可以构建出表示其所包含导线的实际物理连接关系的有向树。
首先选择内联回路CL中合法的内联点,然后确定CL的主内联点,主内联点确定规则如下:
内联点CP的度定义为内联回路中不通过其他内联点而直接与其连接的端点个数,记为degree(CP),令δ(CL)=min{degree(CP)|CP∈CPSCL∧CP→CL},则集合CPSCL中所有满足degree(CP)=δ(CL)∧CP→CL的内联点作为主内联点,如果满足该条件的内联点不止1个,则任取其中1个作为主内联点。主内联点起着确定内联回路CL中各导线实际连接方向的作用。
最后以确定的主内联点CPm为有向树的根结点,采用广度优先搜索算法遍历内联回路CL,获得的广度优先搜索数即为所求。
内联回路的有向树如图6所示。对图6a所示内联回路,选定内联点为CP1和CP2,可知与CP1直接相连端点为d2和d3,与CP2直接相连端点为d3、d4和d5,故有degree(CP1)=2,degree(CP2)=3,因而选CP1为主 内联点,以CP1为根进行广度优先搜索如图6c所示的有向树。根据该有向树可知这个内联回路由5根导线组成,其中d2和d3连接到CP1,d4和d5连接到CP2,CP1和CP2相连导线为内联点间的导线,称为中段,需要人工指定其规格。
图6 内联回路的有向树
3 系统运行实例
图7所示为利用本系统绘制出来的线束工艺辅助设计系统样例。
图7 线束工艺辅助设计系统样例
图8所示为内联规划算法交互环境。
图8 内联规划算法及交互环境
图9所示为系统自动生成的内联工艺卡,目前根据本规划算法所生成的内联工艺卡已经应用于新发公司实际生产之中,较之以前的人工规划,极大地提高了效率和准确性。
图9 内联工艺卡片
4 结束语
本文针对线束内联设计的特点,总结了线束内联设计过程中的工程语义约束信息,并建立关联图模型,通过内联回路自动提取算法以及规划算法自动完成对整个线束图纸的内联设计序列规划。最后的实例表明该方法是有效可行的,能较好地解决大线束图纸中内联设计序列规划问题。本方法的最大优点是整个内联设计序列规划能够自动完成,不需要与用户进行交互。然而由本文方法得到的内联设计序列仅是所有可行内联设计序列中的一个,并不能确保其是最优的,原因在于当多个接插件的“内联度”和“单联度”都相等时,主件选择具有一定的随机性。此外,若遇到线束图纸中存在某些极端情况,如大接插件与其他所有接插件均有回路约束关系时,该算法会把整个线束作为一个子装配体。如果能够进一步总结线束内联设计过程中的其他约束,如设定主件的内联回路数目阈值,考虑压接位置约束、子装配体数目约束等,将使自动内联设计规划的结果更符合工程设计上的要求,进一步提高装配的效率。
[1]吁 苗.汽车线束设计原则[J].汽车与配件,2010(1):37-39.
[2]吴 黄.线束工艺图的建模研究[D].合肥:合肥工业大学,2008.
[3]刘晓平,吴 黄,何士双,等.线束工艺图的建模研究[J].工程图学学报,2009,30(2):155-161.
[4]Li Xinyu,Gao Lian,Zhang Chaoyong.A review on integrated process planning and scheduling[J].International Journal of Manufacturing Research,2012,5 (2):161-180.
[5]Wang Jinfeng,Du Biqiang,Ding Haimin.A modified genetic algorithm (GA)for optimization of process process planning [J].Journal of Computers,2011,6(3):1430-1437.
[6]徐本柱.变结构工序状态网的模型与算法研究[D].合肥:合肥工业大学,2011.
[7]Miao Jian,He Deqiang,Wei Tao,et al.Research on process route designing and production line management based workflow driven [C]//Industrial Mechatronics and Automation(ICIMA),2012 2nd International Conference on,Vol 2,2012:569-573.
[8]李忠泽,徐本柱,刘晓平.基于操作语义的线束工艺设计系统研究[C]//计算机技术与应用进展2009.合肥:中国科学技术大学出版社,2009:614-618.
[9]陈 纯.异构CAD协作模型及其操作语义交换机制研究[D].上海:上海交通大学,2006.