《数控车床由浅入深的宏程序实例.docx》由会员分享,可在线阅读,更多相关《数控车床由浅入深的宏程序实例.docx(34页珍藏版)》请在优知文库上搜索。
1、数控车床由浅入深的宏程序实例裳华职业技术中专鲍新涛宏程序概述则是以直接的公式与语言输入的与C语言很相似在Oi系统中应用比较广。数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户能够使用变量进行算术运算、逻辑运算与函数的混合运算,此外宏程序还提供了循环语句、分支语句与子程序调用语句,利于编制各类复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,与精简程序量。宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不一致的系列零件的编程;适合工艺路径一样,只是位置参数不一致的系列零件的编程。较大地简化编程;扩展应用范围。B类宏A类宏下列都以#100与
2、#101与#102,及数值10与20做为例子,应用的时候别把他们当格式就行,基本指令HOl赋值;格式:G65H01P#101Q#102:把#102内的数值给予到#101中G65H01P#101Q#10:把#10给予到#101中H02加指令;格式G65H02P#101Q#102R#103,把#102的数值加上#103的数值给予#101G65H02P#101Q102R10G65H02P#101Q10R#103上面4个都是加指令的格式都是把Q后面的数值或者变量号内的数值加上R后面的数H03减指令;格式G65H03P#101Q#102R#103,把#102的数值减去#103的数值给予#101G65H0
3、3P#101Q102R10G65H03P#101Q10R103G65H03P#101Q20R10上面4个都是减指令的格式都是把Q后面的数值或者变量号内的数值减去R后面的数值或者变量号内的数值然后等于到P后面的变量号中.H04乘指令;格式G65H04P#101Q#102R#103,把#102的数值乘上#103的数值给予#101G65H04P101Q102R10G65H04P101Q10R103G65H04P#101Q20R10上面4个都是乘指令的格式都是把Q后面的数值或者变量号内的数值乘上R后面的数值或者变量号内的数值然后等于到P后面的变量号中.H05除指令;格式G65H05P101Q#102R
4、#103,把#102的数值除以#103的数值给予#101G65H05P#101Q#102R10G65H05P#101Q10R#103上面4个都是除指令格式都是把Q后面的数值或者变量号内的数值除以R后面的数值或者变量号内的数值然后等于到P后面的变量号中.(余数不存,除数假如为O的话会出现112报警)三角函数指令H31SIN正玄函数指令:格式G65H31P#101Q#102R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说能够直接用这个求出三角形的另一条边长,与往常的指令一样Q与R后面也能够直接写数值.R后面的#103内存
5、的是角度.结果是#101二#102*CoS#103,也就是说能够直接用这个求出三角形的另一条边长.与往常的指令一样Q与R后面也能够直接写数值.H33与H34本来应该是TAN与ATAN的但是通过我使用得数并不准确,希望有明白的人能够告诉我是为什么?开平方根指令无条件转移指令H80;格式:G65H80PlO;直接跳到第10程序段有条件转移指令H81H82H83H84H85H86,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86;定义能完成某一功能的一系列指令像子程序那样存入存储器,用户能够设定M、S、T、G代码调用它们,使用
6、时只需给出这个指令代码就能执行其功能,也能够像调用子程序一样使用。这样的程序也称作用户宏程序变量的表示与使用(一)变量表示#1(1=1,2,3,)或者机式子例:#5,#109,#501,#1+#2-12格式:V地址字#1这里的“代表变量号例:F#103,设#103=15则为F15Z-#110,设#110=250则为Z250X#24+#18*COS#1例:#30,设#30=3则为#3例:下述方法下同意O#l;I#26.00100.0;N#3Z200.0;例:#30=1100时,则M#30是不同意的程序定义时可省略小数点,例:#123=149一个在宏程序中局部使用的变量,其运算结果其他程序不可使用
7、。例:A宏程序B宏程序#10=20X#10不表示X20各用户宏程序内公用的变量,其运算结果任何程序调用都相同。例:上例中#10改用#100时,B宏程序中的#100#149断电后清空#500#531保持型变量(断电后不丢失)#5221值为X轴G54工件原点偏置值入时务必输入小数点,小数点省略时单位为m运算指令1 .定义#I=#j2 .算术运算#I=#j+#k#I=#j-#k#I=#j*#k#I=#j/#k3 .逻辑运算#I=#JOK#k#I=#JXOK#k#I=#JAND#k4 .函数#I=SIN#jl正弦#I=COS#j余弦#I=TAN#j正切#I=ATAN#j反正切#I=SQRT#j平方根#
8、I=ABS#j绝对值#I=ROUND#j四舍五入化整#I=FIX#j上取整#I=FUP#j下取整#1=BIN附BCDBIN(二进制)#I=BCN#jBINBCD1) 说明1)角度单位为度例:90度30分为90.5度2) ATAN函数后的两个边长要用隔开例:l=ATANl-ll,#1为了3503) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入例:设#1=L2345,#2=2.3456,设定单位lmG91X-#l;X-L235X#l+#2;X3.580未返回原处,应改为XROUND#1+ROUND#2;4)取整后的绝对值比原值大为上取整,反之为下取整例:设#1=L2,#2=-1.
9、2时若#3=FUP#1时,贝i#3=2.0若#3=FIX#1时,则#3=L0若#3=FUP#2时,则#3=-2.0若#3=FIX#2时,则#3二-1.05)指令函数时,可只写开头2个字母例:ROUNDROFIXFI6)优先级函数T乘除(*,bAND)一加减(+,-,OR,XOR)例:#1=#2+#3*SIN#4;7)括号为中括号,最多5重,园括号用于注释语句例:#l=SIN#2+#3*#4+#5*#6;(3重)转移与循环指令1 .无条件的转移格式:GOTO1;GOTO#10;2 .条件转移格式:IF条件式习GOTOn条件式:# jEQ#k表示=# jNE#k表示jGT#k表示1.T#k表示V#
10、 jGE#k表示之#jLE#k表示W例:IF#1GT10GOTO100;NlOOGOOG91X10;例:求1到10之与09500;#1=0#2=1NlIF#2GTlOGOTO2#1=#1+#2;#2=#2+1;GOTO1N2M301 .循环格式:WHlLE条件式DOm;(m=l,2,3)ENDm2 .省略WHlLE语句只有DOmENDm,则从DOm到ENDm之间形成死循环3 .嵌套4 .EQNE时,空与“0”不一致其他条件下,空与“0”相同例:求1到10之与OOOOl;#1=0;#2=1;WHILE#2LE10DOI;#l=#l+#2;#2=#2+#l;ENDl;M30由浅入深宏程序I-宏程序
11、入门基础之销轴加工关于没有接触过宏程序人,觉得它很神秘,事实上很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,与宏程序编程的基本思路即可。关于初学者,特别是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步:TOlOlM3S800G0X82Z5G0X76G1Z-40F0.2X82G0Z5G0X72G1Z-40F0.2X82G0Z5G0X68G1Z-40F0.2X82G
12、0Z5G0X68G1Z-40F0.2X82G0Z5G0X40G1Z-40F0.2X82G0Z5G0X150ZI50M5M30从上面程序能够看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。因此能够将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。05679TOlOlM3S800G0X82Z5#/=76N10G0X#lG1Z-40F0.2X82G0Z5#7=#7-4赋初始值,即第一次切削直径将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。NIO是程序段的编号,用来标识本段,为后面循环跳转所用。每行切深为2mm,直径方向递减4mmIF#IGE40】GoT
13、olO假如#1=40,即此表达式满足条件,则程序跳转到NlO继续执行。G0X150ZI50当不满足#1=40,即#1=40,即此表达式满足条件,则程序跳转到NlO继续执行。M03S1200当不满足#1=40,即#140,则跳过循环推断语句,由此句继续向后执行。G0X40由此开始精加工G1Z-40F0.IX82G0XI50Z150M5M30由浅入深宏程序3-宏程序车半球面在不使用循环切削加工圆弧时,能够有几种不一致的方式来安排走刀轨迹,本篇文章使用将圆弧段沿X方向偏移,由外籍内的加工方式进行。如图所示R20圆弧,假设刀具每次单边切深2mm,直径每刀吃4mm,则由端面切入的位置能够计算出需要切削:40/4=10刀每条圆弧起点与终点的Z坐标不变,但X坐标都同时向+X方向偏移一个相同的值,因此可设偏移量为#1,初始值为#1=36圆弧起点X坐标为#2=0+#1圆弧终点X坐标为#3=40+#1宏程序编制如下:03456TOlOIM3S800G0X42Z5#1=36赋初始值,即第一个圆弧直径偏移量NI0#2=0+#l计算圆弧起点的X坐标#3=40+#1计