宏程序编程实例与技巧方法_第1页
宏程序编程实例与技巧方法_第2页
宏程序编程实例与技巧方法_第3页
宏程序编程实例与技巧方法_第4页
宏程序编程实例与技巧方法_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用户宏程序编程在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充。宏程序不仅可以实现象子程序那样,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。华中数控宏程序FANUC数控宏程序SIEMENS数控参数编程2021/5/91数控加工技术华中数控用户宏程序HNC-21/22T、HNC-21M为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。一、基础知识1.宏变量及常量(1)宏变量HNC-21/22T华中世纪星数控系统变量表示形式为#后跟1~4位数字,变量种类有三种:①局部变量:#0~#49是在宏程序中局部使用的变量,用于存放宏程序中的数据,断电时丢失为空。2021/5/92数控加工技术一、基础知识②全局变量:用户可以自由使用#50~#199,它对于由主程序调用的各子程序及各宏程序来说是可以公用的,可以人工赋值。HNC-21/22T子程序嵌套调用的深度最多可以有8层,每一层子程序都有自己独立的局部变量(变量个数为50)。③系统变量:系统变量为#1000~#1199,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。(2)常量PI:圆周率π;TRUE:条件成立(真);FALSE:条件不成立(假)

1、宏变量及常量2021/5/93数控加工技术2、运算符与表达式(1)算术运算符:+,-,*,/(2)条件运算符:EQ(=),NE(≠),GT(>),GE(≥),LT(<=),LE(≤)(3)逻辑运算符:AND,OR,NOT(4)函数:SIN,COS,TAN,ATAN,ATAN2,ABS,INT,SIGN,SQRT,EXP(5)表达式:用运算符连接起来的常数,宏变量构成表达式。例如:175/SQRT[2]*COS[55*PI/180];#3*6GT14

2021/5/94数控加工技术3、赋值语句格式:宏变量=常数或表达式把常数或表达式的值送给一个宏变量称为赋值。例如:#2=175/SQRT[2]*COS[55*PI/180;

#3=124.0

2021/5/95数控加工技术4、条件判别语句IF,ELSE,ENDIF格式(i):

格式(ii):

IF条件表达式

IF条件表达式

……ELSEENDIF…ENDIF2021/5/96数控加工技术5、循环语句WHILE,ENDW格式:WHILE条件表达式…ENDW2021/5/97数控加工技术6、宏程序/子程序调用的参数传递规则G代码在调用宏(子程序或固定循环,下同)时,系统会将当前程序段各字段(A~Z共26个字段,如果没有定义则为零)的内容拷贝到宏执行时的局部变量#0~#25,同时拷贝调用宏时当前通道九个轴(轴0~轴8)的绝对位置(机床绝对坐标)到宏执行时的局部变量#30~#38。宏程序的调用格式为:M98P(宏程序名)<变量赋值>或G65P(宏程序名)<变量赋值>。……#25Z

2021/5/98数控加工技术%1000;长半轴、短半轴分别为40、30的椭圆G54G90G00Z30M03S800G00X45Y-15;快速定位至下刀点Z3G01Z-5F100#0=0;给角度

赋0初值WHILE#0LE360;当角度

≤360度时,执行循环体内容#1=40*COS[#0*PI/180];用椭圆的标准参数方程求动点M的X坐标值#2=30*SIN[#0*PI/180];用椭圆的标准参数方程求动点M的Y坐标值G01X[#1]Y[#2];用直线插补指令加工至M点,即用直线段逼近椭圆#0=#0+1;角度

的递增步长取1度

ENDWX45Y15;切出椭圆G00Z30M05X0Y0M307、用户宏程序编程思路2021/5/99数控加工技术%1000;长半轴、短半轴分别为40、30的椭圆G92X0Y0Z30M03S800G00X45Y-15M08;快速定位至A点Z3G01Z-5F100#2=0;给角度

赋0初值WHILE#2LE360;当角度

≤360度时,执行循环体内容#11=40*COS[#2*PI/180];用椭圆的标准参数方程求动点M的X坐标值#12=30*SIN[#2*PI/180];用椭圆的标准参数方程求动点M的Y坐标值G42G64G01X[#11]Y[#12]D01;用直线插补指令加工至M点,即用直线段逼近椭圆#2=#2+1;角度

的递增步长取1度

ENDWG40G01X45Y15;切出椭圆至C点Z3M09G00Z30X0Y0M05M30二、数控铣床用户宏程序编程2021/5/910数控加工技术2021/5/911数控加工技术2021/5/912数控加工技术宏程序编程实例

ZH7640立式加工中心由北京第三机床厂产生,采用华中铣床、加工中心数控系统。加工范围600mm×400mm×500mm。刀库可容纳20把刀。可用于镗、铣、钻、铰、攻丝等各种加工。实例为在预先处理好的100mm×100mm×80mm合金铝锭毛坯上加工如图所示的零件,其中正五边形外接圆直径为80mm。

2021/5/913数控加工技术O5000;FANUCG54G90G00Z40X70Y20M08M03S600G43Z3H01G01Z-5F100#0=18N10#1=80*COS#0#2=80*SIN#0G41X#1Y#2D01#0=#0+72IF[#0LT360]GOTO10G40X70Y70Z40M05M30O5000;HNC-21M%1000G54G90G00Z40X70Y20M08M03S600G43Z3H01G01Z-5F100#0=18IF[#0LT360]#1=80*COS#0#2=80*SIN#0G41X#1Y#2D01#0=#0+72ENDIFG40X70Y70Z40M05M30宏程序编程实例2021/5/914数控加工技术三、数控车床用户宏程序编程%3015#10=0;X坐标(直径值)#11=0;Z坐标T0101M03S600G00X0Z34WHILE#10LE32G90G64G01X[#10]Z[#11]F100#10=#10+0.32#9=#10/2;求出X坐标的半径值,便于求解#11#11=32-[#9*#9/8]ENDWG00X80Z100M05M30用宏程序编制如图所示抛物线的精加工程序。2021/5/915数控加工技术用宏指令编制椭圆部分的精加工程序。

%3016;精加工椭圆程序T0101M03S800G00X39Z22#1=60;A点的角度#2=0;X坐标#3=0;Z坐标WHILE#1LE120;120是通过计算得来的B点角度#2=2*23*SIN[#1*PI/180];直径编程#3=40*COS[#1*PI/180]G64G01X[#2]Z[#3]F100#1=#1+1;步长取1度ENDWG00X100Z100M05M302021/5/916数控加工技术用户宏程序训练2021/5/917数控加工技术2021/5/918数控加工技术2021/5/919数控加工技术一、构成1. 包含变量2. 包含算术或逻辑运算(=)的程序段3. 包含控制语句(例如:GOTO,DO,END)的程序段4. 包含宏程序调用指令(G65,G66,G67或其他G代码,M代码调用宏程序)的程序段FANUC数控系统用户宏程序2021/5/920数控加工技术二、FANUC宏程序的变量

FANUC数控系统变量表示形式为#后跟1~4位数字,变量种类有四种:2021/5/921数控加工技术2021/5/922数控加工技术三、刀具补偿存储器C用G10指令进行设定P:刀具补偿号R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。2021/5/923数控加工技术四、算术和逻辑运算

下列的运算可以在变量中执行。运算符右边的表达式可包含常量和/或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。1、(定义)赋值:#i=#j;2、加法:#i=#j+#k3、减法:#i=#j-#k4、乘法:#i=#j*#k5、除法:#i=#j/#k2021/5/924数控加工技术6、正弦:#i=SIN[#j];7、反正弦:#i=ASIN[#j];8、余弦:#i=COS[#j];角度以度指定9、反余弦:#i=ACOS[#j];90°30′表示为10、正切:#i=TAN[#j];90.5度11、反正切:#i=ATAN[#j]/[#K];12、平方根:#i=SQRT[#j];13、绝对值:#i=ABS[#j];14、舍入:#i=ROUND[#j];15、上取整:#i=FUP[#j];16、下取整:#i=FIX[#j];17、自然对数:#i=LN[#j];y=lnx18、指数函数:#i=EXP[#j];y=ex2021/5/925数控加工技术19、或:#i=#jOR#k;20、异或:#i=#jXOR#k;

按位执行21、与:#i=#jAND#k;22、从BCD转为BIN#i=BIN[#j];23、从BIN转为BCD#i=BCD[#j];注:①ARCSIN#i=ASIN[#j]取值范围当No.6004.0=0时:270°~90°No.6004.0=1时:-90°~90°②ARCCOS#I=ACOS[#j]取值范围180°~0°2021/5/926数控加工技术π/20-π/21-1π3π/2π/20-111-10π/2π2021/5/927数控加工技术③ARCTAN#i=ATAN[#j]/[#K];取值范围当No.6004.0=0时:0°~360°No.6004.0=1时:-180°~180°3π/2π/22ππ0π/2-π/2π-π0第一象限第二象限第四象限第一象限第二象限第三象限第三象限第四象限0~-π0~π0~2π2021/5/928数控加工技术④ROUND函数●在逻辑运算指令IF、WHILE中,ROUND函数在第一个小数位四舍五入。例如#2=1.2345;#1=ROUND[#2];变量1的值是1.0●在NC语句地址中,ROUND函数根据地值得最小设定单位指定四舍五入。例如#1=1.2345;#2=2.3456;G00G91X-#1;G01X-#2F300;G00X[#1+#2];1.2345+2.3456=3.5801=3.580不返回到初始位置或G00X-[ROUND[#1]+ROUND[#2]]1.235+2.346=3.581刀具返回到初始位置2021/5/929数控加工技术⑤上取整和下取整CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整,小于原数的绝对值时为下取整。设:#1=1.2,#2=-1.2#3=FUP[#1];则2.0赋给#3#3=FIX[#1];则1.0赋给#3#3=FUP[#2];则-2.0赋给#3#3=FIX[#2];则-1.0赋给#32021/5/930数控加工技术⑥运算次序函数→乘、除(*、/、AND)→加、减(+、-、OR、XOR)⑦括号嵌套(方括号[],圆括号用于说明)括号用于改变运算次序,可以使用5级。2021/5/931数控加工技术五、转移和循环

使用GOTO语句和IF语句可以改变控制的流向。有三中转移和循环可供使用。

GOTO无条件转移

IF条件转移

WHILE当型循环1、无条件转移

GOTOn;n为顺序例如:GOTO1;GOTO#10;2021/5/932数控加工技术2、条件转移

IF[<条件表达式>]GOTOn

例如:IF[#1GT10]GOTO2

程序

N2G00G91X10.0IF[<条件表达式>]THEN<表达式>

例如:IF[#1EQ#2]THEN#3=0

运算符:EQ等于(=)NE不等于(≠)GT大于(>)GE大于等于(≥)LT小于(<)LE小于等于(≤)

条件不满足条件满足2021/5/933数控加工技术例:求1~10的总和。

O9000;#1=0;

#2=1;N1IF[#2GT10]GOTO2;#1=#1+#2;#2=#2+1;GOTO1;N2M30;2021/5/934数控加工技术3、循环

WHILE[<条件表达式>]DOm;程序;

ENDm;

程序;说明:①m=1,2,3,可以多次使用。②最多嵌套三层。③省略WHILE,则产生从DO到END的无限循环。④WHILE比GOTO处理快。条件满足条件不满足2021/5/935数控加工技术标号可以多次使用:WHILE[…]DO1;

程序;END1;﹕WHILE[…]DO1;

程序;END1;可以嵌套3层:WHILE[…]DO1;﹕WHILE[…]DO2;﹕WHILE[…]DO3;

程序;END3;﹕END2;﹕END1;可以跳到循环外边:WHILE[…]DO1;IF[…]GOTOn;END1;N12021/5/936数控加工技术DO的范围不能交叉:WHILE[…]DO1;

程序;WHILE[…]DO2;﹕END1;

程序;END2;转移不能进入循环区:IF[…]GOTOn;﹕WHILE[…]DO1;N1…;END1;2021/5/937数控加工技术六、FANUC宏程序的调用1.非模态调用G65:格式:G65PpLl<自变量指定>其中p:要调用的程序号

L:调用次数(默认为1)自变量:数据传递到宏程序例:G65P8000L2A10.B2.;调用2次程序号8000,经自变量A传递到宏程序#1=10;自变量B传递到宏程序#2=2。2021/5/938数控加工技术自变量指定Ⅰ根据使用的字母,CNC系统自动地决定自变量指定的类型。地址不需要按字母顺序指定。但应符合字地址的格式。但是,I,J和K需要按字母顺序指定。2021/5/939数控加工技术自变量指定Ⅱ根据使用的字母,系统自动决定自变量指定的类型。自变量指定Ⅱ用于传递诸如三维坐标值的变量。I,J,K的下标用于确定自变量指定的顺序,在实际编程中不写。2021/5/940数控加工技术如果自变量指定Ⅰ和自变量指定Ⅱ混合指定的话,后指定的自变量类型有效。2021/5/941数控加工技术六、FANUC宏程序的调用2.模态调用(G66):G66PpLl<自变量指定>;程序点G67;(取消模态)例:G66P8000L2A10.B2.;G00G90Z-10.;X-5.;G67;一旦发出G66则指定模态调用,即指定沿移动轴移动的程序段后调用宏程序。移动到Z-10,调用2次程序号8000,移动到X-5,再调用2次程序号8000。2021/5/942数控加工技术%1000;长半轴40、短半轴30的椭圆G54G90G00Z30M03S800G00X45Y-15;Z3G01Z-5F100#0=0;给角度

赋0初值WHILE#0LE360;#1=40*COS[#0*PI/180];#2=30*SIN[#0*PI/180];G01X[#1]Y[#2];#0=#0+1;ENDWX45Y15;G00Z30X0Y0M05M30七、FANUC与华中系统用户宏程序编程对照G54G90G00Z30M03S800G00X45Y-15;Z3G01Z-5F100#10=0;给角度

赋0初值WHILE#10LE360DO1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论