基于C语言数控机床智能后置处理程序的制作.pdf
基 于C语 言 数 控 机 床 智 能 后 置 处 理 程 序 的 制 作 陈德存 温州职业技术学院机械工程系,浙江温州325035 摘要介绍了U GC LS文件中的信息,再结合实际的业务要求,利用C 语言对U G 后处理文件的编辑,实 现利用操作名称可以帮助定义后处理的过程、检查刀具名称和刀具参数是否对应、保证m m 程序刀 轴矢量的正确性。这些后处理文件满足了特殊机床的特殊要求。并且其余UG CA M 文件也可以采 用类似方法。 关键词C 语言U GCLS文件后处理 中图分类号TP391文献标识码 D evel opm ent ofN Cm achi ne7S intelli gentpOst prOcessl ng procedur e bas edonCl anguage C H END ecun D epartm ent ofM echanical Engi neer ing,W enzhou V ocati onal Technical Col l ege。W enzhou325035,C H N A bstr act This art i cl etellst hei n at i onofU GCL Sfi l e,com bi ni ng pract i caloperat i ngrequest s andw i t ht he hel p ofCl anguage’Sedi t i onofU Gpos t processi ng,achi evet he fol l ow i nggoal sus i ngoperat i on nam e todef ini tet he procedure of postpr ocessi ng,exam i ne w het hert het oolnam em at chest het ool par am eter s, guarantee t hecorrect i onoftool axi sori ent at i on.These post -processi ng skill scannot onl ysat isf y t he speci al dem andof speci alm achi ne。but al socanbeusedi not herU GC A Mm achi ni ng. K eyw or dsCLanguage;U GCL SFi l e;Post -process i ng U G 后处理操作是U G CA M 数控加工工作中一个 重要环节,主要任务是把在UG 加工环境下生成的加 工刀位文件转换成机床可接受的数控代码文件。UG 本身提供了强大的PostBui l der后处理构建器,但是从 实践使用来看,普遍存在后处理过程缓慢,后处理不能 够智能,调整不灵活等弊端。这主要是因为,对应不同 的加工方式,所要求的刀位文件格式不一样,这就要求 编程者,针对每一个操作根据不同的加工方式,选择不 同的后处理模板,操作非常繁琐,容易出错。很多使用 U G软件做数控编程的企业,或多或少的都存在这样 的问题。另外,在构建后处理工具时,后处理构建者大 多只考虑后处理的刀位文件格式能否被机床认可,而 G 9l A l 80 G 9lG 28Y O M 46 M 44 M 52 M 30 % 3 结语 ;数控转台旋转到零度 ;夹具见装置松开 ;夹具头架松开 ;夹具尾架松开 该工艺方案经过实践验证了其切削参数合理性、 工艺过程正确性,加工精度完全达到了用户图纸要求, 成为车桥加工成熟的加工工艺典范,在生产实践中承 担大量成批生产的重任,加工出的车桥具有精度高、互 134 换性好等优点,完全满足当代“节能汽车,环保汽车” 所需的车桥,值得在车桥类零件加工中推广应用。按 此工艺方案已成功建设为某汽车制造企业车桥生产 线,得到了用户厂家领导、工艺人员及数控机床操作技 师们的好评。 第一作者贾冀青,男,1963年生,机械制造优秀 工艺师,研究方向为数控工艺及数控刀具的选择和应 用等。 编辑谭弘颖 收稿日期20121224 文章螬号131042 如暴缘蠢发囊对本文的■洼.请将文章■号填入读者童觅啊t 裹中的报应位置。 硒眇黜 弋瓷;每, , £ul J平幂l u删 很少有人考虑融人业务逻辑的智能处理和智能检查功 能,后处理T序的智能化还没有受到普遍的重视。 1后处理程序制作 在U G 加T环境下编制好的加T程序,可以整组 输出为C LS文件。充分分析C LS文件,我们可以利用 这个文件的特点来开发附带业务规则的后处理工具。 为了更好地进行介绍,首先准备好一个CLS文件,并 分析其特点选中一组编制好的加工操作,这组加丁.程 序包含两个加工操作,P50一A 和P30一B它们的刀轨 分别如图1和图2二 CLS文件已经准备妥当,现在开始详细介绍 图1 图2 1.1 CLS文件的简单分析 下面是U G后置出来的一段CLS文件 1.R A PID/ 2,GO TO /一13.0000.一5.7446.30000.0.0000000,0.0000000 1.000000 3.PA I N T/CO LO R ,42 4.FED R A T/M M PM ,250.0000 5.G O T /一13.0000.一5.7446.0.0000 6.CIRCI.E/一17.0000,0.0000,0.0000,00000000,0.00001300 1.0000000,7.0000,0.0600,0.5000,20.0000,3.13000 7G O TO/一10.0000.0.0000.0.0000/ 8.PA I N T/CO LO R .31 9.G07FO /一100000.220.0000.0.0000 第1行RA PID代表快速进给,它将影响下一行的 走刀方式。第2行G O TO语句,后面跟的是点的坐标, 前三位为x,y,z坐标,后三位为刀轴的方向矢量,由 于上一行有R A PI D 指令,所以这一句处理成N C 代码 就应该为G 00 X ~13.0000Y 5.7446 Z3.0000,如果是 五轴设备,则应该处理成G 00 X 一13.0000Y5.7446 Z3.0000AO .000B O.000或C 00X 一13.0000Y5.7446 Z3.0000A0.000CO .000等。第3行是着色语句,只对 U G 自身起作用,不用也不能转化为N C。第4行为 FEDRA T/M M PM ,250.000,这一行是给定进给速度。 第6行C IRC LE开头,表明即将走一段圆弧,前三位一 17.0000,0.0000,0.0000是圆心坐标,接下来三位 0.0000000.0.0000000,一1.0000000表明圆弧的矢量 国甍糌 cNcsemInar 数控专栏 方向,可以决定圆弧所在的平面和圆弧走刀的方向,后 面的几位数字是刀具信息和精度等相关信息,我们在 这里可以忽略。 1.2 自动判断输出格式 利用操作名称可以帮助定义后处理的过程。以图 l 、图2两个操作的操作名称分别以“A ”和“B”作为后 缀。我们可以在CLS文件中提出每一个操作名称的 后缀,然后根据后缀的不同,安排不同的后处理格式。 比如,我们约定“A ”代表着直头仿形铣操作,后处理格 式要求如下X300.000Y 180.000Z250.000;而“B”代 表平面轮廓操作,后处理格式要求如下X 300.000 Y 180.000。下面我们就可以根据操作名称后缀的不 同,来让后处理自动判断输出为对应的格式。 首先打开C LS文件,然后通过循环读取C LS文件 的每一行。通过关键字筛选获得操作名的字符串,并 根据操作名后缀来决定后处理格式 基本代码如下 pr inl “正在处理%s\n”,sN CN ame; i f sN CN am e[ str lensNC Nam e一1’A’ i Post Type1 elsei f sNC Nam e[ st rl ensNCN am e一1b’B ’ i Post Type2; else i Post Type0 str act sNC Pat h,sNC Nam e ; st raet sN CPat h,“.N C”; p_f _ne sNC Pat h.“w” fst rst rhet s,“GOTO /”N ULL1 stm epy X ,X YZFr ee,20 ; stnm py Y ,X YZFr ee.20 ; st m epyZ,X Y ZFm e,20; for i5,j 0;f_gets[i ’,’;i ,j XiJ}f _get s[ i] ; f or i i1,J0;f_get s[i j ’,’;i ,j Yj ]-匕etsi; i fi Post Type1 { fpri nt fp_f_nc.“X%s Y %sZ %s \n”.X .Y,Z 1 ,L ; 瑚 酬 卜 ,一 “}Z 陆 , fpri nt fpLn。,“X %sY %s \n”,X ,Y el se if iPostType0 1 fprintf pf_nc,“后处理格式尚未定义” pri nt f “按键盘Enter 键结束后处理\n” 代码调试环境在W i nX P操作系统上,使用Vc 调试工具完成,也可用c语言环境完成。调试运行这 个程序前,请首先保证在目录C\L i zi \下面已经存放 了UG 刚刚导出的Li zi .CLS文件。并在C\目录下创 建名为“N C”的文件夹。调试运行程序结果如图3。 图3程序调试结果 后处理的N C文件存放在C\Li zi \下,其格式如 .Zl4所示 图4后处理程序结果比较 上面的介绍,只是利用操作名的一个简单的方法, 利用操作名我们还可以加入更多的业务规则。如果深 人一步,还可以增加输出数控加工程序单等功能。 1.3检查刀具是否正确 一般在定义刀具名称的时候我们都会附加一定的 含义。比如比较复杂的刀具命名“T15一D 6一CR2_0一一 58000”表示直径6m m ,刀具圆角半径2m m ,留量0.1 m il l,主轴转速8000 m m ;简单的刀具命名有“B A LL一 50”表示直径为50 m m 的球刀,“M ILL一20”表示直径 20m m 的端铣刀等。但是在创建刀具时,往往会出现 编程人员疏忽导致的刀具名称和刀具参数不对应的情 况发生。这是很危险的。因为这会造成编程员主观选 择了认为正确的刀具,而实际却使用错误参数的刀具 进行编程,这种错误一般不易察觉,可能会造成被加工 工件报废的情况发生,后果比较严重。现在应用UG 做数控编程普遍采用编程模板,模板里包含了参数正 确的刀库,可以有效避免这样的情况发生。还没有使 用模板的编程者,应当考虑在后处理中增加自动检查 环节。将刀具名称与刀具参进行对比。如果不一 致,中断后处理,并提示错误信息。这样可以彻底屏蔽 136 刀具名称和刀具参数不一致的情况发生,明显提升数 控加工程序的可靠性。具体方法是在C LS文件里分 别抽取刀具名称和刀具参数。进行对比。如不一致中 断后处理工作,并报错。报错界面如图5。 基本代码如下 If strst rf_gets.⋯FOO LPA TH /”N U LL{ pToolNam ePos s tr st r fget s,“TOO L,”; f or i pTool N am ePosf』;ets55 ,J0;f _gets[i j ’\n’;i ,j1 sToolN am e[ j] f_get s[ i一; I f st r st r f_get s,“T LDA TA /” NUL L{ f or i pToolNam ePosf_{gets1,J0;Lget s[ i] sToolDat a[ J]f_gets[i ] dTD im dat aat of sToolD ata; i f dTD i m f rom nam e dTDim data{ pri nt f “刀具名称和刀具参数不一致\n” pr intf “刀具名称%s \n”,s Tool N am e; printf“刀具参数%s\n”,sToolData; pr intf “后处理过程被强制中止\n” ; gotoTheer r ; 在上面的例子中,我们只检查了一个刀具参数。 如果刀具命名十分讲究的话,还可检查其他参数。甚 至结合操作名,检查操作是否使用了合适的刀具等等。 图5程序报错界面 1.4检查主轴轴向参数 对于一个复杂的待加工工件。可能需要编制300 头、90。头、五轴加工程序。一般在UG C AM 环境下编 制一个非直头程序,需要指定刀轴矢量,如果不小心指 定错误例如30。指定成了35。往往不易被发现。那 么我们可以在后处理时,利用主轴轴向参数检查刀轴 矢量主轴轴向是否正确,从而保证加工程序刀轴矢 量的正确性。具体方法是在CLS文件里抽取主轴轴 向参数。如轴向参数不正确,中断后处理工作并报错。 以30。头为例,主轴轴向参数的K 值一定等于 G O TO /3381499.00188000,1500000,05000000,0 0000000,08660254 III 主轴膛主轴J值主轴赠 图6主轴参值 国萝糌 、专 ;j cuIJ 年帚I u朋 厣蒸 0.8660254.如图6。 如果在处理30。头程序的时候,其轴向参数如果 不等于0.8660254,那么就报错图7。 if s/rst rf _gets,“GO TO/”N U I 。L { f or i 0,jo,k0;f_get si ij ’\n’;i i f fgets[ i]_’,’{ i ; if j5 { sK[k] fget s[i I] k if j5 { i f st rcm psK ,“0.8660254\n” 0 pr i ntf “30。头刀轴矢量指定错误\n” pr i ntf “后处理过程被强制中止。kn”; got oTheer r; 图7报错界面 在上面的例子中,我们只检查了30。头的刀轴矢 量。稍作变化我们就可以检查直头、90。头的刀轴矢 量。结合操作名,我们可以进行对应检查。例如我们 cN cSem .na『数控专栏 约定以数字“3”为后缀的操作名表示30。头操作,那么 可以在后处理操作名后缀为“3”的操作时进行刀轴矢 量检查,如果K 值不等于0.866 0254就报错。 直头 K 1.0000000;90。头K0.0000000 。如果深人利 用主轴轴向参数,我们还可通过,、.,、K值来得到五轴 加工操作的A 、c值或日、c值等,并将它们输出到NC 文件和加工程序单中,这里由于篇幅关系就不详述了。 2结语 充分利用U GC LS文件中的信息,多重组和这些 信息,再结合实际的业务要求,我们可以实现加工操作 打包,自动换刀,智能判断后处理格式,加工余量留 量检查,组合对应检查,计算加工时间,多功能程序 单,G 00代码设置等等功能。智能后处理工具,不但明 显简化了后处理工作的复杂性,提升了后处理的效率, 还对加工操作又增加了一道智能检查环节,全面提升 了加工程序的可靠性,使绝大部分的编程错误在后处 理过程中都予以避免,可以为企业减少非常可观加工 损失。 参考文献 [ 1] 安杰,邹昱章.uG后处理技术M 北京清华大学出版社.2003. [ 2j 谭浩强.C程序设计[M ] .北京清华大学I叶J版社,1991 编辑孙德茂收稿日期20120917 文章编号131043 如果您想发表对本文的看法。请将文章编号填入读者意见调查表中的相应位置。 名词解释 气动传感器用气动方法检测系统的参数并转换成相应的模拟信号或数字信号,供后续系统进行判断和控制的装置。 电气传动生产过程中,以电动机作为原动机来带动生产机械,并按所给定的规律运动的电气设备。 串级电气传动绕线式感应电动机的转差功率,通过变流装置回馈到交流电网的电气传动 超同步串级电气传动绕线式感应电动机的转子,从电网吸收能量以运行于同步转速以上的串级电气传动。 施控系统由对被控系统进行控制的所有元件组成的系统。 线性控制系统用线性方程来描述的线性控制系统。系统中不包含非线性元件或环节。 闭环控制系统系统的输出量对系统的控制作用有直接影响的控制系统。 自适应系统在环境变化的影响下,通过对系统的监测,自动调整系统的参数,使系统具有适应环境变化,获得与事先给定目 标相一致的最优性能的控制系统。 模糊控制利用模糊数学的基本思想和理论的控制方法。 集中分散控制系统具有控制功能分散,显示和操作功能集中的控制系统。 特种铸造传统砂型铸造以外的其他铸造方法。如熔模铸造、壳型铸造、金属型铸造、压力铸造、低压铸造、离心铸造、真空铸 造、连续铸造等。 过冷熔融金属或合金冷却到平衡的凝固点 或液相线温度以下,而没有凝固的现象。这是不稳定平衡状态,较平衡状态的 自由能高,有转变成固态的自发倾向。 等轴晶液态金属结晶过程中,在各个晶轴方向得到均等发展的晶体。 充型能力液态金属充满铸型型腔,获得尺寸精确、轮廓清晰的成型件的能力。 铸件线收缩率铸件线收缩量与收缩前对应长度之比。以模样与铸件的长度差除以模样长度的百分比表示。 中间合金为便于向铸造合金中加人一种或多种元素而特别配制的合金。 固尝等浮 k;7 ‘⋯O }I uM 137