宏编程.docx
《宏编程.docx》由会员分享,可在线阅读,更多相关《宏编程.docx(11页珍藏版)》请在冰豆网上搜索。
![宏编程.docx](https://file1.bdocx.com/fileroot1/2022-11/16/4086bfe5-4220-4376-8f3f-e653c0f90d0a/4086bfe5-4220-4376-8f3f-e653c0f90d0a1.gif)
宏编程
数控车宏程序编程
宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如:
系列零件加工宏程序、椭圆加工宏程序、抛物线加工宏程序、双曲线加工宏程序等。
数学运算功能:
加法:
#i=#j+#k
减法:
#i=#j-#k
乘法:
#i=#j*#k
除法:
#i=#j/#k
运算的优先顺序:
①函数;
②乘除、逻辑与;
③加减、逻辑或、逻辑异或。
可以用[]来改变顺序。
函数运算功能:
正弦#i=SIN[#j]单位:
度
余弦#i=COS[#j]单位:
度
正切#i=TAN[#j]单位:
度
反正切#i=ATAN[#j]/[#k]单位:
度
平方根#i=SQRT[#j]
绝对值#i=ABS[#j]
取整#i=ROUND[#j]
逻辑判断功能:
等于:
EQ格式:
#jEQ#k
不等于:
NE格式:
#jNE#k
大于:
GT格式:
#jGT#k
小于:
LT格式:
#jLT#k
大于等于:
GE格式:
#jGE#k
小于等于:
LE格式:
#jLE#k
宏程序的控制语句:
(1)、无条件转移(GOTO语句)
格式:
GOTOn;
式中:
n——顺序号(1~9999),可用变量表示。
举例:
GOTO1;
GOTO#10;
(2).条件转移
条件转移语句1
IF[条件表达式]GOTOn
当条件满足时,程序就跳转到同一程序 中语句标号为n的语句上继续执行
当条件不满足时,程序执行下一条语句
(3).循环嵌套:
DO—END循环嵌套:
WHILE[条件式1]DO1;
……
WHILE[条件式2]DO2;
……
WHILE[条件式3]DO3;
……
END3;
……
END2
……
END1;
例:
正椭:
椭圆参数方程:
#1=α
X=b*sinα#2=b*sin[#1]
Z=a-a*cosα#3=a-a*cos[#1]
O0001;
N10G97G99M03S1000;
T0101;
G00X62.Z2.0;
G90X55.Z-45.F0.2;
X50.;
X45.;
X41.;
G00X45,.Z2.;G90粗车循环定位起点;
#1=90;粗车起始角度
N90#2=2*20*sin[#1];任意一点X坐标值(直径值)
#3=50-50*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.2;粗车循环开始
#1=#1-5;步距角5度
IF[﹟1NE0]GOTO90;终点判别;
G00X0.0Z2.0;快速到精车安全点
G01X0.0Z0.0F0.1;工进到精车起点
#1=0;粗车起始角度
N170#2=2*20*sin[#1];任意一点X坐标值(直径值)
#3=50-50*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.1;精车循环开始
#1=#1+0.5;步距角0.5度
IF[﹟1NE0]GOTO170;终点判别;
G01Z-45.F0.1;
G01X62.0;
G00X100.0;
Z100.;
M30;
倒椭:
椭圆参数方程:
#1=α
X=a*sinα#2=a*sin[#1]
Z=b-b*cosα#3=b-b*cos[#1]
O0001;
N10G97G99M03S1000;
T0101;
G00X102.Z2.0;
G90X95.Z-45.F0.2;
X90.;
X85.;
X81.;
G00X85,.Z2.;G90粗车循环定位起点;
#1=90;粗车起始角度
N90#2=2*40*sin[#1];任意一点X坐标值(直径值)
#3=20-20*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.2;粗车循环开始
#1=#1-5;步距角5度
IF[﹟1NE0]GOTO90;终点判别;
G00X0.0Z2.0;快速到精车安全点
G01X0.0Z0.0F0.1;工进到精车起点
#1=0;粗车起始角度
N170#2=2*40*sin[#1];任意一点X坐标值(直径值)
#3=20-20*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.1;精车循环开始
#1=#1+0.5;步距角0.5度
IF[﹟1NE0]GOTO170;终点判别;
G01Z-45.F0.1;
G01X82.0;
G00X100.0;
Z100.;
M30;
局椭:
椭圆参数方程:
#1=α
X=b*sinα#2=b*sin[#1]
Z=a*cos21-a*cosα#3=a*cos[21]-a*cos[#1]
椭圆参数方程:
#1=α
X=a*sinα#2=a*sin[#1]
Z=b*cos37-b*cosα#3=b*cos[37]-b*cos[#1]
O0001;
N10G97G99M03S1000;
T0101;
G00X82.Z2.0;
G90X75.Z-65.F0.2;
X70.;
X65.;
X61.;
G00X75,.Z2.;G90粗车循环定位起点;
#1=90;粗车起始角度
N90#2=2*30*sin[#1];任意一点X坐标值(直径值)
#3=50*cos[30]-50*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.2;粗车循环开始
#1=#1-5;步距角5度
IF[﹟1NE0]GOTO90;终点判别;
G00X0.0Z2.0;快速到精车安全点
G01X0.0Z0.0F0.1;工进到精车起点
#1=0;粗车起始角度
N170#2=2*20*sin[#1];任意一点X坐标值(直径值)
#3=50*cos[30]-50*cos[#1];任意一点Z坐标值
G90X﹟2Z-﹟3F0.1;精车循环开始
#1=#1+0.5;步距角0.5度
IF[﹟1NE0]GOTO170;终点判别;
G01Z-65.F0.1;
G01X82.0;
G00X100.0;
Z100.;
M30;
凹椭
例:
O0001;
N10G97G99M03S1000;
T0101;
G00X82.Z2.0;
G90X75.Z-70.F0.2;
X70.;
X65.;
X61.;
G00X65.Z2.;G90粗车循环定位起点;
#1=0;粗车起始角度
N90#2=30-30*sin[#1];任意一点X坐标值(半径值)
#3=50*cos[#1];任意一点Z坐标值
#4=2*#2;任意一点X坐标值(直径值)
G90X﹟4Z-﹟3F0.2;粗车循环开始
#1=#1+5
IF[﹟1NE90]GOTO90;终点判别;
G00X0.0Z2.0;快速到精车安全点
G01X0.0Z0.0F0.1;工进到精车起点
#1=90;粗车起始角度
N170#2=30-30*sin[#1];任意一点X坐标值(半径值)
#3=50*cos[#1];任意一点Z坐标值
#4=2*#2;任意一点X坐标值(直径值
G90X﹟4Z-﹟3F0.1;精车循环开始
#1=#1-0.5;步距角0.5度
IF[﹟1NE0]GOTO170;终点判别;
G01Z-65.F0.1;
G01X82.0;
G00X100.0;
Z100.;
M30;