一.获取坐标
1.拥有完整的坐标档案包括:XY坐标。角度。位置编号。这样的档案最好,直接与BOM整合就可以了。
2.EDA文件,如protel .powerpcb的原始PCB文件。需要从这些软件中再输出坐标。
3.GERBER文件。这种数据最烦琐。需要很麻烦的转化和处理。现在的gc power place最强
二.结合BOM
用坐标文件与BOM整合,删除多余的位置加入元件料号。
三.开始编程
1.一般每个工厂都有自己的编程方式,这个很灵活,可以自己编写的小软件。可以购买专业的离线软件。可以是设备厂家自带的编程软件。如:松下的panapro 环球的ups
2.用这些软件对刚才的坐标文件进行处理,基本程序都包含.mark data .pcb data. location data . offset data. Components data .等。
3.对程式进行优化,这个要结合机器的配置。需要长时间观察和理解。好软件的话基本自动优化就可以了。
4.转出程式,导出上料表。
机器程序详解
自动装着设备NC程序的分析
目前电子行业的自动装着包含自动插件(AI)和表面贴装(SMT)两大类。该行业在我国虽然属于较新的课题,经过近些年的实际生产总结仍然涌现了许多专业方面的技术人才。但基本上各自动装着厂家目前自动装着设备的NC程序编制和管理依然完全依赖进口设备厂家或由台湾、新加坡等地区编制的管理软件。首先,购买原厂软件及相关设施是一笔不小的费用,从普通编程电脑到专用编程机电设备其价格也从USD5000至USD100000不等;其次,由其他公司提供的安装软件一旦出现问题或自身再引进新设备,那么往往又必须重新购买。所以许多中小型企业宁愿直接在装着设备上编制程序,这当然影响了设备的利用率。为此,我们希望针对自动装着设备使用的NC程序进行内部结构分析,从而为生产的顺利进行打下先行基础。
第一单元:NC程序的存储方式
无论是自插还是贴片机它们都是靠不断循环执行其所需的各项设定参数来完成每个元件的装着过程,而这些参数就记录在我们的NC数据当中。尽管各类型的设备有着不同的NC数据格式,但首先我们可以发现它们往往都能用您计算机Windows中的“写字板”来将其打开,换句话说,它们都是以文本文件的形式予以纪录存储,只不过使用了不同的扩展名来给予标示。NC数据的存储又分为单一文件存储和多文件存储两类,所谓单一文件存储是指设备所需的全部NC数据都包含在一个文件当中,如三洋等SMT设备用*.NCZ数据,多文件存储的方式往往是为了方便管理和灵活运用而将一条NC数据存放在两个或多个文件当中,这一类程序以松下自插、贴片机用*.NCD和*.UDR数据为代表。了解NC程序的存储方式是编制程序的基础,也是相互转换不同设备用NC数据工作所必须了解的前提。
第二单元:NC程序的内容
前面提到NC程序是以文本文件的形式予以纪录存储,在此我们就利用Windows中的“写字板”来分别分析松下自插机和三洋贴片机用的NC程序。
以下是一条仅有2个元件自插的松下RH6用程序,假设它分别由
CF000000.NCD和CF000000.UDR构成。其中CF000000.NCD是RH6的数据文件,如下:
N 0001/0G 1M 000T 004X+000000Y+000000Z-00000V+00000W+00000 +00000D
N 0002/0G 0M 001T 001X+004950Y-020000Z+00001V+00000W+00000 +00000D
N 0003/0G 0M 011T 002X-006250Y-003950Z+00002V+00000W+00000 +00000D
N 0004/7G 0M 001T 002X-006750Y-003570Z+00003V+00000W+00000 +00000D
N 0005/0G 0M 000T 000X-006750Y-003570Z+00003V+00000W+00000 +00000D
熟悉松下自插机的技术人员马上就可以看出其中的“X、Y、Z”后面跟的分别是设定自插用的X、Y坐标和自插材料位号Z,对!并且X、Y是绝对坐标。那么其中的N0001至N0004是程序的序号;“/”是条件跳越参数;“G”是自插机的轴类型区分参数;“M”是自插动作控制参数;“T”是角度、速度和换板等参数;“V”是部品高度参数;“W”是部品宽度参数;“+00000D”是程序行结束,具有固定性;最后程序以“*”符号标志结尾。当然V和W仅适用于RHⅢ、AV系列等插件机而RH6设备中不要求,所以它们都是“0”。由于松下机是以多文件存储的方式存,它还需要一个扩展名为*.UDR的目录文件才能被数据终端(PDT)识别。其中CF000000.UDR文件内容如下:
0001P014 ABCDE M3 CF000000.NCD.NCD RH6 200104130 i
A 00200B8.NCT C008 31
同样让我们对其中内容进行逐段分析。文件开头以“0001”表示该目录文件中仅有一条NC数据;“P014 ABCDE
M3”是用户定义的程序名,可以根据不同的PCB板任意起名方便用户区分,但规则是第一位必须为“P”,后面的三位应是非“000”的任意数字,否则部分插件机会认定为非法名称;“CF000000.NCD.NCD”是NC数据的DOS名称,它是目录文件中唯一不重复的区分标示;“RH6”当然就是代表程序适用于的设备名称;“200104130”表示程序做成的日期;“i”是increment相对坐标的缩写代码;“A00200B8.NCT
C008”是NC数据的标注信息,可以根据用户需要任意给予标注;“31”表示该NC数据有3个装着点(后面的1为固定,不代表装着点数据),其中一点被设为无效。
好了,现在我们可以根据以上两个数据文件和目录文件做一个总结:
其一、如果把以上两例中的代码原文分别拷贝到对应的CF000000.NCD和CF000000.UDR文件中(由于格式固定原因,其中的空格也必须包括在内),你会在PDT终端上发现这已经是一个完整可用的RH6机NC程序,到此为止就可以算是具有编写NC程序的能力了。当然,一个实用的NC程序还应由相关的开发应用软件和优化软件来支持,这部分将在第三单元进一步讨论。
其二、你完全可以通过修改其中的数据或代码来改变程序的特征,例如除了修改坐标、料位号改变插件位置外,你还可以通过简单的修改目录文件中的“i”为“a”(绝对坐标absolute缩写代码)来改变其相对坐标为绝对坐标的特性,甚至修改“RH6”为“AE”实现NC程序的兼容移植。
其三、对于单一文件存储的NC程序(如三洋最新高速贴片机TCM-3000系列)也可触类旁通,只不过此类型NC程序将所有的信息按固定格式存储在一个文件当中。由于TCM-3000Z型贴片机用单一文件存储NC程序以及其自身内容的复杂性,即使是少量的贴装实例也包含了各类繁琐的参数,在此难以写下整个程序的内容,但只要通过打开其中的内容加以分析,其实也不难理解它的NC程序是用分段方式来进行逐项数据管理。
“程序内容首行”段:记录的是程序名、做成日期、版本信息等数据;
“:CORE”段:记录了方便用户识别的标示数据、线路板尺寸数据和各类OFFSET(偏移量)数据;
“:RECOG”段:识别点数据,用于选择识别点坐标和特征代码;
“:MARK”段:记录了线路板校示识别点的内容特征数据;
“:SETUP” 段:工作台、轨道传送方向等数据;
“:OPE-C”&&“:OPE-D”段:贴片机操作数据,用于记录设备运转速度、临时原点、补件方式等数据;
“:PARTS &&:PLT1”段:元件ID名数据;
“:PLT2 &&:M-DAT01” 段:贴装坐标、角度位置等数据;
“:A-DAT01” 段:多面板重复偏移量数据。
需要提醒大家的是以上内容是由数字代码“1”、“0”等等来区分“开”、“关”或“数量级”,并用“逗号”作为分隔符。而且并非所有程序都要一一对应,如工作台、轨道传送方向数据在客户选择设备订单的生产方式时就已经决定其内容,而我们的程序通常是为正常生产方式而编制,所以类似“设备运转速度”等一般固定为高速不变。
第三单元:用于开发NC程序的软件制作
了解了NC程序的各项内容特征后,要开发一套属于自己的软件编辑管理系统就不再是遥远的事。对于多文件存储(以前面松下RH6等设备为例)可以直接采取后台数据库调用编辑与导出,对于单一文件存储(以前面三洋TCM3000Z等设备为例)除了以上步骤外,在导出到NC程序时还应分别将各程序段进行汇总,还记得DOS时代的“COPY
File1+File2
File3”命令么?你所要做的正是在你的程序中实现这一命令的结果。就笔者而言,我认为一套优秀的开发NC程序软件制作关键不在于如何生成可用的NC程序,真正的难点在于实现程序的灵活性以及如何优化生成的NC程序,其中涉及到复杂的逻辑算法,这就要求我们的程序员既要有相应的编程能力,又要对自动装着有一定的了解,甚至可以成立相关成员小组联合开发。
了解对应装着设备的一些重要参数是实现一套实用NC程序管理软件的基础。这类数据大致有以下:
1、 Tact数据:它是设备在装着一个元件运转周期中所允许的最大移动范围。合理的限定Tact数据有助于我们的程序在最短时间内完成一块线路板的装着。考虑到实际生产时存在非理想状态,Tact数据应具有不完全限制性;
2、 Limit数据:是针对各类装着设备中的各项极限参数,例如材料的最大装载数、工作台允许线路板的大小极限尺寸、适用元件的大小极限尺寸等等。原则上Limit数据是采取严格限制,否则最终生成的NC程序可能会出现不可用,但考虑到各类型设备程序的兼容性移植,所以仍然建议设计成可修改形式;
3、 Speed数据:该数据是设备的能力数据的经验值。自动装着生产线的工序平衡是影响效率的重要原因,不同的设备搭配应有不同的工作量分配,否则会出现后面工序等前面或前道工序半成品严重堆积现象。所以Speed数据也应在一定程度上可调;
4、 PartsID数据:这是一个描述装着元件形态尺寸的数据库。虽然它和NC程序相对独立,早些年的自动装着设备也不需要PartsID数据,但现在却已广泛的采用在了SMT生产当中。就连松下卧式自插机AVF的改进型机AVKⅡ也加入了PartsID管理。其实即便是用于旧式自插机,PartsID数据还是能在工艺区分、死区(Dead
Space)防止等方面发挥它的作用。
这类数据在计算机生成各类NC程序的过程中会被随时调用,我们称之为基础数据,所以建议用专门的数据库给予保存管理,并在一定程度上允许高级用户修改,如此一来我们软件的灵活性会大大得以增强。
至于NC程序的优化方式可以说是计算机编程的软肋,有点像“深蓝”与卡斯帕罗夫的人机大战,似乎电脑永远无法超越人脑,但对于繁重而匆忙的编程任务时它又往往会优胜。不难想象一块两三百点的普通线路板其装着路径方案早已是接近无穷大。即使目前许多著名自动装着设备厂家销售的NC程序管理软件,其最终“优化”结果也实在让人不敢恭维,甚至存在优化后材料排列错乱的严重BUG。正因如此,众多的第三方软件提供商都会着重强调自己的软件在优化方面的杰出,同时也被当成商业机密而难以在业界内相互交流。其实NC程序的优化方式没有最好,只有更好或者说各有长处。相信在实际应用的过程中不断加以完善才能做出最符合本单位的专用NC程序编辑管理软件。