1、华中数控铣宏程序加工宏程序加工实例一、宏指令编程 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刀具长度寄存器H0H99#700#799刀具半径寄存器D0D99#800#899刀具寿命寄存器#1000“机床当前位置X”#1001“机床当前位置Y”#1002“机床当前位置Z”#1003“机床当前位置A”#1004“机床当
2、前位置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”#
3、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“G
4、55零点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“G
5、57零点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“G
6、59零点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屏蔽字”
7、#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
8、”#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”
9、#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“用户自定义输出”#11
10、92“自定义输出屏蔽”#1193保留#1194保留(2)常量PI:圆周率TRUE:条件成立(真)FALSE:条件不成立(假)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/SQRT2*COS55*PI/180;#3*6 GT 14;3赋值语句格式:宏变量=常数或表达式把常数或表达式的值送给一个宏变量称为赋值。例如:#2=
11、175/SQRT2*COS55*PI/180;#3=124.0;世纪星铣床数控系统(HNC-21/22M)编程说明书4条件判别语句IF,ELSE,ENDIF格式(i):IF条件表达式ELSEENDIF格式(ii):IF条件表达式ENDIF5循环语句WHILE,ENDW格式:WIIILE条件表达式ENDW条件判别语句的使用参见宏程序编程举例。循环语句的使用参见宏程序编程举例。二、宏程序编制举例例1:G81宏程序例2 椭圆编程程序:a=50 b=30的一个椭圆; 弧度增量:0.1 宏程序: %1 G54G90G17G21 M03S3000 G00X50Y0Z10 G01 Z-1 F300 #1=0
12、 #2=50 #3=30WHILE #1 LT 2*PI #4=#2*COS#1 #5=#3*SIN#1 G01 X#4 Y#5 #1=#1+0.1ENDW 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 Y0.1*#1*#1-8 #1=#1-0.1 IF#1GE-19.8 GOTO_ G40 G01 X_Y_ G00Z100 M30 %例4切圆台与斜方台,各自加工3个循环,要求倾斜10的斜方台与圆台相切,圆台在方台之上,顶视图见图3
13、.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=0N06 G00 X?#12Y?#13;AN07 G01 Z?#10M03 S600 F200;Z轴进刀,准备加工圆台WHILE#0 LT 3;加工圆台N08+#0*6G01 G42 X?#12/2Y?90/2F280.0 D#0+101;BN09+#0*6X0Y?90/2;CN1
14、0+#0*6G03 J90/2;整圆加工N11+#0*6G01 X#12/2Y?90/2;BN12+#0*6G40 X#12Y?#13;AN13+#0*6G00 X-#12Y?#13;A#0=#0+1;#0中数值加1ENDWN100 Z-#10-#11;Z轴进刀,准备加工斜方台#2=90/SQRT2*COS55*PI/180;P1点坐标(X=-#12,Y=-#13)#3=90/SQRT2*SIN55*PI/180#4=90*COS10*PI/180;P1 P2间X增量为#4,Y增量为#5#5=90*SIN10*PI/180#0=0WHILE#0 LT 3;加工斜方台N101+#0*8G01 G
15、42 X?#12/2Y?90/2F280.0 D#0+101;BN102+#0*8X?#2Y?#3;P1N103+#0*8G91 X+#4Y+#5;P2N104+#0*8X?#5Y+#4;P3N105+#0*8X?#4Y?#5;P4N106+#0*8X+#5Y?#4;P1N107+#0*8G90 X#12/2Y?90/2;BN108+#0*8G00 G40 X?#12Y?#13;A#0=#0+1ENDWG00 X0 Y0 M05 M30例5要求沿直线方向钻一系列孔,直线的倾角由C65指令中的x,Y变量来决定,如图所示。%100G54G21M03 S1000G90G00X1Y1Z20G65P10
16、M05M30%10#10=10 孔数10#11=100 进给速度100#12=50 长轴50#13=25 短轴25#14=-10 孔深10G98G81X1Y1Z#14F#11R2G91WHILE#10GT0#10=#10-1G81 X#12Y#13R0ENDWM99例6加工一椭圆,椭圆长轴为100 mm,短轴为50 mm。HNC 系统在调用宏子程序的同时可进行参数传值,即将调用行所跟的主调参数AZ 各字段的内容拷贝到宏执行的子程序内为局部变量#0#25预设的存贮空间中;在HNC 系统中,对于每个局部变量,都可用系统宏AR来判别该变量是否被定义、是被定义为增量坐标还是绝对坐标方式。调用格式为:AR #变量号返回值:0,表示该变量没有被定义;90,表示该变量被定义为绝对方式G90;91,表示该变量被定义为增量方式G91。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1