文档库 最新最全的文档下载
当前位置:文档库 › 华中数控铣宏程序加工

华中数控铣宏程序加工

华中数控铣宏程序加工
华中数控铣宏程序加工

宏程序加工实例

一、宏指令编程

1宏变量及常量

(1)宏变量

#0~#49当前局部变量

#50~#199全局变量

#200~#249 0层局部变量

#250~#299 1层局部变量

#300~#349 2层局部变量

#350~#399 3层局部变量

#400~#449 4层局部变量

#450~#499 5层局部变量

#500~#549 6层局部变量

#550~#599 7层局部变量

#600~#699刀具长度寄存器H0~H99

#700~#799刀具半径寄存器D0~D99

#800~#899刀具寿命寄存器

#1000“机床当前位置X”#1001“机床当前位置Y”#1002“机床当前位置Z”#1003“机床当前位置A”#1004“机床当前位置B”#1005“机床当前位置C”#1006“机床当前位置U”#1007“机床当前位置V”#1008“机床当前位置W”#1009保留#1010“程编机床位置X”#1011“程编机床位置Y”

#1012“程编机床位置Z”#1013“程编机床位置A”#1014“程编机床位置B”#1015“程编机床位置C”#1016“程编机床位置U”#1017“程编机床位置V”#1018“程编机床位置W”#1019保留#1020“程编工件位置X”

#1021“程编工件位置Y”#1022“程编工件位置Z”#1023“程编工件位置A”#1024“程编工件位置B”#1025“程编工件位置C”#1026“程编工件位置U”#1027“程编工件位置V”#1028“程编工件位置W”#1029保留

53

#1030“当前工件零点X”#1031“当前工件零点Y”#1032“当前工件零点Z”#1033“当前工件零点A”#1034“当前工件零点B”#1035“当前工件零点C”#1036“当前工件零点U”#1037“当前工件零点V”#1038“当前工件零点W”

#1039保留#1040“G54零点X”#1041“G54零点Y”

#1042“G54零点Z”#1043“G54零点A”#1044“G54零点B”

#1045“G54零点C”#1046“G54零点U”#1047“G54零点V”

#1048“G54零点W”#1049保留#1050“G55零点X”

#1051“G55零点Y”#1052“G55零点Z”#1053“G55零点A”

#1054“G55零点B”#1055“G55零点C”#1056“G55零点U”

#1057“G55零点V”#1058“G55零点W”#1059保留

#1060“G56零点X”#1061“G56零点Y”#1062“G56零点Z”

#1063“G56零点A”#1064“G56零点B”#1065“G56零点C”

#1066“G56零点U”#1067“G56零点V”#1068“G56零点W”

#1069保留#1070“G57零点X”#1071“G57零点Y”

#1072“G57零点Z”#1073“G57零点A”#1074“G57零点B”

#1075“G57零点C”#1076“G57零点U”#1077“G57零点V”

#1078“G57零点W”#1079保留#1080“G58零点X”

#1081“G58零点Y”#1082“G58零点Z”#1083“G58零点A”

#1084“G58零点B”#1085“G58零点C”#1086“G58零点U”

#1087“G58零点V”#1088“G58零点W”#1089保留

#1090“G59零点X”#1091“G59零点Y”#1092“G59零点Z”

#1093“G59零点A”#1094“G59零点B”#1095“G59零点C”

#1096“G59零点U”#1097“G59零点V”#1098“G59零点W”

#1099保留#1100“中断点位置X”#1101“中断点位置Y”

#1102“中断点位置Z”#1103“中断点位置A”#1104“中断点位置B”

#1105“中断点位置C”#1106“中断点位置U”#1107“中断点位置V”

#1108“中断点位置W”#1109“坐标系建立轴”#1110“G28中间点位置X”

#1111“G28中间点位置Y”#1112“G28中间点位置Z”#1113“G28中间点位置A”#1114“G28中间点位置B”#1115“G28中间点位置C”#1116“G28中间点位置U”#1117“G28中间点位置V”#111“8G28中间点位置W”#1119“G28屏蔽字”

#1120“镜像点位置X”#1121“镜像点位置Y”#1122“镜像点位置Z”

#1123“镜像点位置A”#1124“镜像点位置B”#1125“镜像点位置C”

#1126“镜像点位置U”#1127“镜像点位置V”#1128“镜像点位置W”

#1129“镜像屏蔽字”#1130“旋转中心(轴1)”#1131“旋转中心(轴2)”

#1132“旋转角度”#1133“旋转轴屏蔽字”#1134保留

#1135“缩放中心(轴1)”#1136“缩放中心(轴2)”#1137“缩放中心(轴3)”

#1138“缩放比例”#1139“缩放轴屏蔽字”#1140“坐标变换代码1”

#1141“坐标变换代码2”#1142“坐标变换代码3”#1143保留

#1144“刀具长度补偿号”#1145“刀具半径补偿号”#1146“当前平面轴1”

#1147“当前平面轴2”#1148“虚拟轴屏蔽字”#1149“进给速度指定”

#1150“G代码模态值0”#1151“G代码模态值1”#1152“G代码模态值2”

#1153“G代码模态值3”#1154“G代码模态值4”#1155“G代码模态值5

#1156“G代码模态值6”#1157“G代码模态值7”#1158“G代码模态值8”世纪星铣床数控系统(HNC-21/22M)编程说明书

54

#1159“G代码模态值9”#1160“G代码模态值10”#1161“G代码模态值11”

#1162“G代码模态值12”#1163“G代码模态值13”#1164“G代码模态值14”

#1165“G代码模态值15”#1166“G代码模态值16”#1167“G代码模态值17”

#1168“G代码模态值18”#1169“G代码模态值19”#1170“剩余CACHE”

#1171“备用CACHE”#1172“剩余缓冲区”#1173“备用缓冲区”

#1174保留#1175保留#1176保留

#1177保留#1178保留#1179保留

#1180保留#1181保留#1182保留

#1183保留#1184保留#1185保留

#1186保留#1187保留#1188保留

#1189保留#1190“用户自定义输入”#1191“用户自定义输出”

#1192“自定义输出屏蔽”#1193保留#1194保留

(2)常量

PI:圆周率π

TRUE:条件成立(真)

FALSE:条件不成立(假)

2运算符与表达式

(1)算术运算符:+,-,*,/

(2)条件运算符

EQ(=),NE(≠),GT(>),

GE(≥),LT(<),LE(≤)

(3)逻辑运算符

AND,OR,NOT

(4)函数

SIN,COS,TAN,ATAN,A TAN2,

ABS,INT,SIGN,SQRT,EXP

(5)表达式

用运算符连接起来的常数,宏变量构成表达式。

例如:175/SQRT[2]*COS[55*PI/180];

#3*6 GT 14;

3赋值语句

格式:宏变量=常数或表达式

把常数或表达式的值送给一个宏变量称为赋值。

例如:#2=175/SQRT[2]*COS[55*PI/180];

#3=124.0;世纪星铣床数控系统(HNC-21/22M)编程说明书4条件判别语句IF,ELSE,ENDIF

格式(i):IF条件表达式

ELSE

ENDIF

格式(ii):IF条件表达式

ENDIF

5循环语句WHILE,ENDW

格式:WIIILE条件表达式

ENDW

条件判别语句的使用参见宏程序编程举例。

循环语句的使用参见宏程序编程举例。

二、宏程序编制举例

例1:G81宏程序

例2 椭圆编程程序:

a=50

b=30的一个椭圆;

弧度增量:0.1 宏程序:

%1

G54G90G17G21

M03S3000

G00X50Y0Z10

G01 Z-1 F300

#1=0

#2=50

#3=30

WHILE #1 LT 2*PI

#4=#2*COS#1

#5=#3*SIN#1

G01 X[#4] Y[#5]

#1=#1+0.1

ENDW

G01 X__Y__Z100;

M30

%

例3抛物线编程:

Y=0.1 *X*X

%0206

G54M03S600T1D1

M03S6000

G41 X27.9 Y32 D1

#1=17.9

G01 X[#1+10] Y[0.1*#1*#1-8]

#1=#1-0.1

IF[#1GE-19.8] GOTO__

G40 G01 X__Y__

G00Z100

M30

%

例4切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜方台与圆台相切,圆台在方台之上,顶视图见图3.50。

%8002

#10=10.0;圆台阶高度

#11=10.0;方台阶高度

#12=124.0;圆外定点的X坐标值

#13=124.0;圆外定点的Y坐标值

#101=8.0刀具半径偏置(粗加工)

#102=6.5刀具半径偏置(半精加工)

#103=6.0刀具半径偏置(精加工)

N01 G92 X0.0 Y0.0 Z10.0

#0=0

N06 G00 X[?#12]Y[?#13];→A

N07 G01 Z[?#10]M03 S600 F200;Z轴进刀,准备加工圆台WHILE#0 LT 3;加工圆台

N[08+#0*6]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[09+#0*6]X[0]Y[?90/2];→C

N[10+#0*6]G03 J[90/2];整圆加工

N[11+#0*6]G01 X[#12/2]Y[?90/2];→B’

N[12+#0*6]G40 X[#12]Y[?#13];→A’

N[13+#0*6]G00 X[-#12]Y[?#13];→A

#0=#0+1;#0中数值加1

ENDW

N100 Z[-#10-#11];Z轴进刀,准备加工斜方台

#2=90/SQRT[2]*COS[55*PI/180];P1点坐标(X=-#12,Y=-#13)

#3=90/SQRT[2]*SIN[55*PI/180]

#4=90*COS[10*PI/180];P1 P2间X增量为#4,Y增量为#5

#5=90*SIN[10*PI/180]

#0=0

WHILE#0 LT 3;加工斜方台

N[101+#0*8]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[102+#0*8]X[?#2]Y[?#3];→P1

N[103+#0*8]G91 X[+#4]Y[+#5];→P2

N[104+#0*8]X[?#5]Y[+#4];→P3

N[105+#0*8]X[?#4]Y[?#5];→P4

N[106+#0*8]X[+#5]Y[?#4];→P1

N[107+#0*8]G90 X[#12/2]Y[?90/2];→B’

N[108+#0*8]G00 G40 X[?#12]Y[?#13];→A

#0=#0+1

ENDW

G00 X0 Y0 M05 M30

例5要求沿直线方向钻一系列孔,直线的倾角由C65指令中的x,Y变量来决定,如图所示。

%100

G54G21

M03 S1000

G90G00X1Y1Z20

G65P10

M05

M30

%10

#10=10 孔数10

#11=100 进给速度100

#12=50 长轴50

#13=25 短轴25

#14=-10 孔深10

G98G81X1Y1Z[#14]F[#11]R2

G91

WHILE[#10GT0]

#10=#10-1

G81 X[#12]Y[#13]R0

ENDW

M99

例6加工一椭圆,椭圆长轴为100 mm,短轴为50 mm。

新代数控车床宏程序说明

一.用户宏程序的基本概念 用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。 在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。 用户宏有以下四个主要特征: 1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式; 2)能够进行变量之间的各种运算; 3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参; 4)容易实现程序流程的控制。 使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。 二.基本书写格式 数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO语法。而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。“@MACRO”关键词必须是大写字母。 对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。 例一:MACRO格式文档 % @MACRO //用户宏程序文档,必须包含“@MACRO”关键词 IF @1 = 1 THEN G00 X100.; ELSE G00 Z100.; END_IF; M99; 例二:ISO格式文档 % 这是标题行,可当作档案用途说明,此行可有可无 G00 X100.; G00 Z100.; G00 X0; G00 Z0; M99;

华中数控车床宏程序(图纸及程序)

椭圆宏程序 %0001 M03 S600 T01 G54 G00 X32 Z2. G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01 X0 F1000 Z0 #1=30 WHILE#1GE[-16.59] #2=15*SQRT[30*30-#1*#]]/30 G01 X[2*#2]Z[#1-30] #1=#1-1 ENDW G02 X30 Z-58 R16 F1000 G01Z-80 N20G00 X70 Z80 M05 M30 % %0002 M03 S600 T01 G54 G00 X37 Z2 G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01 X0 F1000 Z0 G03X16Z-8R8F1000 G01X20 Z-12.144 X22.98 #1=12.86 WHILE#1GE0 #2=15*SQRT[20*20-#1*#1]]/20 G01 X[2*#2]Z[#1-25] #1=#1-1 ENDW G01X32 X36Z-27 Z-60 N20G00 X70 Z80

M30 % %0003 M03 S600 T01 G54 G00 X50 Z0 G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01X27.13F1000 #1=33 WHILE#1GE8 #2=24*SQRT[40*40-#1*#1]/40 G01 X[2*#2]Z[#1-33] #1=#1-1 ENDW N20G00 X70 Z80 M05 M30 % %0004 M03 S600 T01 G54 G00 X50 Z0 G71 U2 R1 P10 N10 G01X37.13F1000 Z-10 #1=33 WHILE#1GE8 #2=24*SQRT[40*40-#1*#1]/40 G01 X[2*#2+10]Z[#1-33-10] #1=#1-1 ENDW N20G00 X70 Z80 M05 M30 %

华中数控铣床宏程序实例

华中数控铣床宏程序实例 O0001(分开的太极) %0001 G54G00X-30Y30Z50 M03S1000 Z3 #0=4 #2=90 WHILE#2LT180 G01Z[#0*SIN[#2*PI/180]]F 200 #101=ABS[#0*COS[#2*PI/1 80]] G01G41Y9D101 X7 G02Y-9R9 G01X-7 G02Y9R9 G03X0Y20R20 G01G40X-30Y30 G41X-12Y13D101 G03X-7Y9R5 G02Y0R4.5 G03Y-9R4.5 G01G40X30Y-30 G41X12Y-3D101 G03X7Y-9R5 G02Y0R4.5 G03Y9R4.5 G01G40Y30X-30 #2=#2+1 ENDW G00Z50 M30 o0002(花) %0002 G54G00X0Y0Z50 M03S1500 Z5 G01Z0F250 #1=90 WHILE#1GE0 #2=10*COS[#1*PI/180] #3=10*SIN[#1*PI/180]-10 G18G01X[#2]Z[#3] G17G02I[-#2] #1=#1-1.5 ENDW G00Z5 X-10 #6=270 WHILE#6GE180 #7=14*COS[#6*PI/180] #8=10*SIN[#6*PI/180] #9=#7-10 #10=#7+28 #11=ABS[#9*COS[72*PI/18 0]] #12=ABS[#9*SIN[72*PI/18 0]] #13=ABS[#9*COS[144*PI/1 80]] #14=ABS[#9*SIN[144*PI/1 80]] G18G01X[#9]Z[#8] G17G03X[-#11]Y[#12]R[#1 0] X[-#13]Y[#14]R[#10] Y[-#14]R[#10] X[#11]Y[-#12]R[#10] Y0X[#9]R[#10] #6=#6-1.5 ENDW G00Z50 M30 O0003(太极倒角) %0003 G54G00x-20y60z50 M03S1500 Z5 #1=90 WHILE#1GE0 G01Z[5*SIN[#1*PI/180]-5]F 250 #101=ABS[5*COS[#1*PI/18 0]]-5 G01G41X0D101 Y42 G02Y0R21 G03Y-42R21 G01Y-60 Y-42 G02J42 Y0R21 G03Y42R21 G01Y60 G40X-20 #1=#1-1 ENDW G00Z50 M30 O0004(椭圆铣平面) %0004 G54G00X0Y0Z50 M03S1500 Z5 G01Z-3F250 #1=41 WHILE#1GE5 G01X[#1] #2=0 WHILE#2LT360 #3=#1*COS[#2*PI/180] #4=#1*4/5*SIN[#2*PI/180] G01X[#3]Y[#4] #2=#2+1 ENDW #1=#1-5 ENDW G00Z50 M30 其二 G54G00X43Y0Z50 M03S1500 Z5 G01Z-3F250 #1=43

数控车床由浅入深的宏程序实例

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。 A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序 则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。 宏程序的作用 数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。 宏的分类 B类宏 由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如(FANUC)OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好

再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A 类宏的引用; A类宏 A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,xx 的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM.#xx就是号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD 系统中有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 应用 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令 H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把#10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

数控铣宏程序实例

第四章数控铣宏程序实例 §4、1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360° ) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴与短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控车床宏程序编程

数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01 X[3+5] ; 有表达式3+5 (2)G00 X4 F[#1] ; 有变量#1 (3)G01 Y[50*SIN[3]] ; 有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF #3 GE 9 ; 有选择执行命令 ENDIF 2)WHILE #1 LT #4*5 ; 有条件循环命令 ENDW

二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。 一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 X25.0 上面的程序在X tt作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1 是一个变量 G00 X[#1] ;#1 就是一个变量 宏程序中,用“ #”号后面紧跟1~4位数字表示一个变量,如#1, #50, #101,……。变 量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ; 表示G01 X25 #1=-10 ; 运行过程中可以随时改变#1的值 G01 X[#1] ; 表示G01 X-10 用变量不仅可以表示坐标,还可以表示G M F、D H、MX、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ; 表示G03 X30 例1 使用了变量的宏子程序 %1000 #50=20 ; 先给变量赋值 M98 P1001 ; 然后调用子程序 #50=350 ; 重新赋值 M98 P1001 ; 再调用子程序 M30

华中数控车宏程序

华中数控宏程序 一.什么就是宏程序? 什么就是数控加工宏程序?简单地说,宏程序就是一种具有计算能力与决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量与表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。 一.宏变量及宏常量 1.宏变量 先瞧一段简单的程序: G00 X25、0 上面的程序在X轴作一个快速定位。其中数据25、0就是固定的,引入变量后可以写成: #1=25、0 ;#1就是一个变量 G00 X[#1] ;#1就就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30

数控铣床编程实例[1]1[1]

第五节数控铣床编程实例(参考程序请看超级链接) 实例一毛坯为70㎜×70㎜×18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件材料为45钢。 1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线 1)以已加工过的底面为定位基准,用通用台虎钳夹紧工件前后两侧面,台虎钳固定于铣床工作台上。 2)工步顺序 ①铣刀先走两个圆轨迹,再用左刀具半径补偿加工50㎜×50㎜四角倒圆的正方形。 ②每次切深为2㎜,分二次加工完。 2.选择机床设备 根据零件图样要求,选用经济型数控铣床即可达到要求。故选用XKN7125型数控立式铣床。3.选择刀具 现采用φ10㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。5.确定工件坐标系和对刀点 在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-23所示。 采用手动对刀方法(操作与前面介绍的数控铣床对刀方法相同)把点O作为对刀点。 6.编写程序 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。 考虑到加工图示的槽,深为4㎜,每次切深为2㎜,分二次加工完,则为编程方便,同时减少指令条数,可采用子程序。该工件的加工程序如下(该程序用于XKN7125铣床): N0010 G00 Z2 S800 T1 M03 N0020 X15 Y0 M08 N0030 G20 N01 P1.-2 ;调一次子程序,槽深为2㎜ N0040 G20 N01 P1.-4 ;再调一次子程序,槽深为4㎜ N0050 G01 Z2 M09

华中数控车宏程序文件

华中数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极简化编程,精简程序。适合于复杂零件加工的编程。 一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30

数控铣宏程序实例

第四章 数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm ) 椭圆心不在原点的参数方程 X=a*C OS [#1]+ M Y=b*SIN [#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*C OS [#1]+ M Y=#3=b*SIN [#1]+ N 因为此椭圆绕(M ,N )旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y :旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS [#1]+M;

#3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03;

华中数控系统功能特点

华中数控系统功能特点 一、显示功能 1、实体图形显示功能:华中HNC-21T系统,可根据用户选择的不同 形状刀具,对用户自定义大小的毛坯,进行仿真加工。 2、图形轨迹显示功能:可根据加工程序显示刀具运行轨迹 3、正文显示功能:可显示当前运行程序,帮助操作者更好了解机床 的运行状况。 4、大字符、坐标联合显示功能:可显示刀具在机床坐标系、工件坐 标系下的指令值、实际值,还可显示刀具运行各段程序时的剩余值。 5、其他显示功能:可显示当前运行程序名;当前运行程序行号;工 件坐标零点的坐标值;刀具实际进给速度;实际主轴转速;当前刀 具号;主轴速度、进给速度、快移速度的修调率等。 6、可显示当前编辑程序行的实际行号、列号。 二、编辑功能 1、可实现G代码程序(包括高级宏程序)单个字符的编辑,更方便程序的 编辑、修改操作。 2、除便捷的新建程序、保存程序、删除程序、程序另存功能外,还可将程 序中的部分内容通过快捷键进行块定义、拷贝、粘贴(也可粘贴到系统下其他G代码程序中)。 3、可用分号屏蔽程序段的运行,程序中可显示注释。 4、系统程序存储量大,系统标准配置内存32MB。 5、具有后台编辑功能:在加工过程中,可以在后台进行程序编辑。 6、具有蓝图编辑功能。 三、加工功能 1、小线段高速连续插补功能(G64指令):可高速圆滑拟合小线段程序的 轨迹,十分利于CAM生成的小线段程序的加工。

2、断点保存功能、任意指定行加工的功能、程序跳段功能 四、华中数控系统编程指令特点 1、G01、G02(G03):除基本的直线、圆弧插补功能外,还可倒角、倒圆 2、华中数控HNC-21T(车床系统)还有直径、半径编程指令G36、G37;螺 纹加工G32指令;固定循环G80、G81、G82;复合循环G71、G72、G73、 G76;恒线速度控制指令G96、G97、G46等。其中需关注的是:G36、G37指令可在同一个程序中实现直径、半径编程的转换; 复合循环G71、G72指令的刀具轨迹,可完成每层粗切时的残料加工,满足现代加工中余量均匀的要求,有利于刀具寿命和加工精度; 复合循环G71指令还可实现凹槽轮廓的粗加工,宏程序轮廓的粗加工。宏程 序凹槽粗加工实例如下: %0003 T0101 G00 X100 Z50 G64 G00 X56 Z2 G71 U1.5 R1.5 P1 Q2 X0.4 N1 G00 X32 G01 X40Z-2 Z-20 #1=17.32 WHILE #1 GT [-17.32] #0=[SQRT[20*20-#1*#1]]/2 G01 X[50-2*#0] Z[-[37.32-#1]] F100 #1=#1-5 ENDW g01 x40 z-54.64 G01 Z-62.64 G02 X44 Z-64.64 R2 G01 X47 G03 X55 Z-68.64 R4 G01 Z-87.15 N2 X56 G00 X100 Z50 M30

华中数控车宏程序加工实例分析

华中数控车宏程序加工实例分析 数控加工中常有含有非圆曲线(如椭圆曲线、抛物线、双曲线和渐开线等)零件,其加工效率和质量往往成为生产制造的关键。文章利用华中世纪星HNC-21T数控车削系统,用实例加工的方法对车削椭圆轮廓的宏程序编程思路进行探讨,详细讲解加工方法和程序含义,并用斯沃数控仿真软件对程序进行加工仿真模拟,让学习者能够真正理解宏程序加工的精髓,做到学练结合举一反三。 标签:椭圆加工;宏程序;数控仿真 Abstract:Non-circular curve(such as ellipse curve,parabola,hyperbolic and involute)is often included in CNC machining,and its machining efficiency and quality are often the key to manufacturing. Using Huazhong Century Star HNC-21T CNC turning system,this paper discusses the idea of macro program programming for turning ellipse outline,and explains the machining method and program meaning in detail. Using SW CNC simulation software to simulate the process of the program,so that learners can truly understand the essence of macro program processing,so that the combination of learning and training can draw inferences from one another. Keywords:elliptical machining;macro program;numerical control simulation 數控车床对于圆柱面、锥面、圆弧面和球面等的加工,可以利用直线插补和圆弧插补指令完成,而对于椭圆、抛物线、双曲线和渐开线等一些非圆曲线构成的回转体曲面,手工编程具有一定的难度。数控系统本身提供的直线插补和圆弧插补不能直接用于非圆曲线回转面的加工,虽然可以凭借CAD/CAM软件自动编程,但是程序条数太多也导致了加工中的不方便,而使用宏程序能极大地简化编程,精简程序,同时宏程序可以完成图形一样,尺寸不同的系列零件加工,灵活运用宏程序,不仅可以方便简捷地进行二次曲线编程,提高加工效率,所以宏程序在数控大赛中也屡见不鲜。 1 华中宏程序知识 华中世纪星HNC-21T宏程序功能是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: (1)使用了变量或表达式同时具有计算能力,例如:G01 Y[50*SIN[3]]。(2)使用了程序流程控制,华中数控系统有两种流程控制命令:a.IF-ENDIF,条件成立执行IF与ENDIF之间的程序,不成立就跳过。其中IF、ENDIF称为关键词,不区分大小写。IF为开始标识,ENDIF为结束标识。b.WHILE-ENDW,条件成立执行WHILE与ENDW之间的程序,然后返回到WHILE再次判断条件,直到条件不成立才跳到ENDW后面。

数控铣宏程序实例(DOC)

数控铣宏程序实例(DOC)

数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1:整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N1 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOT01; GOO Z50; M30;

例2:斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO Xa+M YN; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 ; GOO Z100; M30;

华中数控车宏程序修订稿

华中数控车宏程序 WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-

华中数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。

一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 上面的程序在X轴作一个快速定位。其中数据是固定的,引入变量后可以写成: #1= ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50, #101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30 例1 使用了变量的宏子程序。 %1000 #50=20 ;先给变量赋值 M98 P1001 ;然后调用子程序 #50=350 ;重新赋值

数控铣床编程实例及答案

数控铣床练习题一 答案: 铣床程序1 O1 N1 G90 N2 G54 N3 G17 N4 T03 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H03 Z100.0 N7 G00 X-50.0 Y-100.0 N8 G01 Z-7.0 F100 N9 G01 Y100.0 N10 G00 Z100.0 N11 G00 X50.0 Y-100.0 N12 G00 Z-3.0 F100 N13 G01 Y100.0 N14 G00 Z100.0 N15 G49 N16 G00 X0.0 Y0.0 N17 T10 M06 N18 G43 H10 Z100.0 N19 G81 G98 X-50.0 Y-30.0 R5.0 Z-18.0 F100 N20 Y0.0 N21 Y30.0

N22 X50.0 N23 Y0.0 N24 Y-30.0 N25 G80 N26 G49 N27 G00 X0.0 Y0.0 N28 M05 N29 M30 立体仿真图片

数控练习题二

答案: 铣床程序2: O2 N1 G90 N2 G54 N3 G17 N4 T04 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H04 Z100.0 N7 G00 X65.0 Y-50.0 N8 G01 Z-8.0 N9 G41 D04 Y-30.0 F200 N10 G03 X50.0 Y8.0 R50.0 N11 G01 X18.089 Y13.153 N12 G02 X8.0 Y25.0 R12.0 N13 G01 Y30.0 N14 G03 X8.0 Y60.0 R20.0 N15 G01 Y74.972 N16 G01 X50.0 Y82.0 N17 G01 X99.233 N18 G02 X99.233 Y8.0 R60.0 N19 G01 X50.0 N20 G40 N21 G01 X0.0 N22 G01 Y90.0 N23 G01 X120.0 N24 G01 Y0.0 N25 G01 X0.0 N26 G00 Z100.0 N27 G49 N28 T09 M06 N29 G00 X0.0 Y0.0 M03 S1000 N30 G43 H09 Z100.0 N31 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N32 X65.0 N33 X90.0 N34 G80 N35 G00 Z100.0 N36 G49 N37 T58 M06 N38 G00 X0.0 Y0.0 M03 S1000 N39 G43 H58 Z100.0 N40 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N41 X65.0

数控铣床宏程序编程 经典

变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 说明: 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。 例如:#[#1+#2-12] 变量的类型 变量根据变量号可以分成四种类型 变量号变量类型功能 #0 空变量该变量总是空,没有值能赋给该变量. #1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. #1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值. 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111. 小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义#1=123;变量#1的实际值是123.000。 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。 例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:

华中数控车宏程序

华中数控宏程序 一.什么是宏程序 什么是数控加工宏程序简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。 一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 上面的程序在X轴作一个快速定位。其中数据是固定的,引入变量后可以写成: #1= ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变量有什么用呢变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30

数控铣宏程序实例

第四章数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控宏程序实例

第7章宏程序 7.3 宏程序调用 7.3.1 宏程序调用指令(G65) 在主程序中可以用G65调用宏程序。指令格式如下: G65 P L 〈自变量赋值〉; 其中:P指定宏程序号:L为重复调用次数(1—9999);自变量赋值是由地址和数值构成的,用以对宏程序中的局部变量赋值。 例如: 主程序: O7002 ... G65 P7100 L2 A1.0 B2.0 ... M30 宏程序: #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99

7.3.2 自变量赋值 自变量赋值有两种类型。自变量I使用除去G,L,N,O,P以外的其他字母作为地址,自变量II可以使用A,B,C每个字母一次,I,J,K每个字母可使用十次作为地址。表7—3和7—4分别为两种类型自变量赋值的地址和变量号码之间的对应关系: 表7—3 自变量赋值的地址和变量号码之间的对应关系 表7—4 自变量II的地址与变量号码之间的对应关系

上表中的I,J,K的下标只表示顺序,并不写在实际命令中。在G65的程序段中,可以同时使用表4—1及表4—2中的两组自变量赋予值。系统可以根据使用的字母自动判断自变量赋值的类型。 7.4 变量的控制和运算指令 7.4.1 算术运算和逻辑运算 在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

表7—5 算术和逻辑运算 运算的优先顺序如下: 1)函数。 2)乘除,逻辑与。 3)加减,逻辑或,逻辑异或。 可以用[ ]来改变顺序

7.4.2 控制指令 1.无条件转移(GOTO语句) 语句格式为: GOTO n 其中n为顺序号(1—9999),可用变量表示。例如: GOTO 1; GOTO #10; 2. 条件转移(IF 语句) 语句格式为: IF [条件式] GOTO n 条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。 条件式有以下几类: # j EQ # K # j NE # K # j GT # K # j LT # K # j GE # K # j LE # K 条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。下面的程序可以得到1到10的和: O7100

相关文档