宏程序是c语⾔吗,宏程序是什么?如何编程和应⽤?
原标题:宏程序是什么?如何编程和应⽤?
1. 什么场合会⽤到宏程序编程?
其实说起来宏就是⽤公式来加⼯零件,⽐如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来⽤直线逼近,如果是个光洁度要求很⾼的⼯件的话,那么需要计算很多的点,可是应⽤了宏后,我们把椭圆公式输⼊到系统中然后我们给出Z坐标并且每次加⼀个量,那么宏就会⾃动算出X坐标并且进⾏切削,实际上宏在程序中主要起到的是运算作⽤。
⼿⼯编程加⼯公式曲线(计算简单,输⼊快捷)
有规律的切削路径(作为⼀个切削模块)
程序间的控制(程序的调度)
⼑具的管理(⼑具的磨损)
⾃动测量(机内测头)
2. 什么叫宏程序?
在编程时,我们会把能完成某⼀功能的⼀系列指令像⼦程序那样存⼊存储器,⽤⼀个总指令来调⽤它们,使⽤时只需给出这个总指令就能执⾏其功能所存⼊的这⼀系列指令称作⽤户宏程序本体,简称宏程序。
这个总指令称作⽤户宏程序调⽤指令。在编程时,编程员只要记住宏指令⽽不必记住宏程序。
3. ⽤户宏程序与普通程序的区别
1)在⽤户宏程序本体中,能使⽤变量,可以给变量赋值,变量间可以运算,程序可以跳转。
2)普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执⾏,不能跳转,因此功能是固定的,不能变化。
3)⽤户宏功能是⽤户提⾼数控机床性能的⼀种特殊功能,在相类似⼯件的加⼯中巧⽤宏程序将起到事半功倍的效果。
4. 变量的三种类型
数控系统变量表⽰形式为“#”后跟1~4位数字,变量种类有三种:
(1)局部变量:#1~#33是在宏程序中局部使⽤的变量,它⽤于⾃变量转移。
(2)公⽤变量:⽤户可以⾃由使⽤,它对于由主程序调⽤的各⼦程序及各宏程序来说是可以公⽤的。#100~#149在关掉电源后,变量值全部被清除,⽽#500~#509在关掉电源后,变量值则可以保存。
(3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加⼯参数等系统信息。
5. 宏程序的特点
宏程序可使⽤变量,可⽤变量执⾏相应操作;实际变量值可由宏程序指令赋给变量。
6. 指令
(1)宏程序的简单调⽤格式
宏程序的简单调⽤是指在主程序中,宏程序可以被单个程序段单次调⽤。
调⽤指令格式:
G65 P(宏程序号)L(重复次数)(变量分配)。
其中:G65―宏程序调⽤指令;
P(宏程序号)―被调⽤的宏程序代号;
L(重复次数)―宏程序重复运⾏的次数,重复次数为1时,可省略不写;
(变量分配)―为宏程序中使⽤的变量赋值。
宏程序与⼦程序相同的⼀点是,⼀个宏程序可被另⼀个宏程序调⽤,最多可调⽤4重。
(2)宏程序的编写格式
宏程序的编写格式与⼦程序相同。其格式为:
0~(0001~8999为宏程序号)
N10 指令
N~ M99
上述宏程序内容中,除通常使⽤的编程指令外,还可使⽤变量、算术运算指令及其它控制指令。变量值在宏程序调⽤指令中赋给。
7. FANUC系统宏程序应⽤
(1)宏程序切槽
1)WHILE语句
G00 X52 Z2;
#2=-14;
是⼑具z向的起⼑点(因为⼑宽为4mm,所以起⼑点定在Z-14的位置)
WHILE〔#2 GE -30〕DO2;
是z⽅向的约束条件,当z等于-30时,z向就不再移动G00 Z〔#2〕;
z⽅向的当前位置
#2=#2-2;
z⽅向的移动步距,每次移动2mm
#1=52;
是x⽅向的起⼑点
WHILE〔#1 GE 20〕DO1;
X⽅向的约束条件,当直径等于20时就不再切削
G01 X〔#1〕F0.2;
x⽅向的切深
G00 X〔#1+1〕;
x⽅向的相对退⼑量
#1=#1-1;
x⽅向的步距(每次切1mm)
END1;
G00 X52;
END2;
c语言下载什么
完整程序:
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X52 Z2;
#2=-14;
WHILE〔#2GE-30〕DO2; END1;
G00 Z〔#2〕;
#2=#2-2;
#1=52
WHILE〔#1GE20〕DO1;
G01X〔#1〕F0.2;
G00X〔#1+1〕;
#1=#1-1;
END2;
G00 X150 Z150;
M30;
2)IF语句
G00 X52 Z-2;
#1=-14;
是⼑具的z向起⼑点(⼑宽为4mm)
N2 #1=#1-2;
是z⽅向的移动步距
#2=52;
为x⽅向的起⼑点
N1#2=#2-1;
是x⽅向的步距(每次切深1mm)
G01 X〔#2〕F0.2;
X⽅向的当前位置
G00 X〔#2+1〕;
X⽅向的相对退⼑量
IF 〔#2 GE 21〕GOTO1;
x⽅向的约束条件(当x的数值切到20时就进⾏下⾯程序,不再返回) G00 X52;
X退⼑到52的位置
G00 Z〔#1〕;
Z⽅向的当前位置
IF 〔#1 GE -30〕GOTO2;
Z⽅向的约束条件,当z等于-30时,z向就不在移动
完整程序:
O1234;
G40G97G99;
T0101;
S1000M3;
G00 X52 Z-2;
#1=-14;
N2 #1=#1-2;
N1#2=#2-1;
G01 X〔#2〕F0.2;
G00 X〔#2+1〕;
IF〔#2GE21〕GOTO1;
G00X52;
G00Z〔#1〕;
IF〔#1GE-30〕GOTO2;
G00X200;
Z200;
M5;
M30;
(2)椭圆编程
1)椭圆WHILE语句的标准格式:
#1=a;
a :为⼑具的起⼑点在相对椭圆的轴线Z的正⽅向a mm处
WHILE〔#1 GE b〕DO1;
b: 为椭圆加⼯的终点在相对椭圆的轴线Z的负⽅向b mm处(如果加⼯的是⼀个完整的半椭圆,那a、b是数值相同符号不同的两个数值) #2= c*SQRT〔1-#1*#1/d*d〕;
c: 椭圆的短半轴
d: 椭圆的长半轴(根据椭圆公式求#2,长半轴为d,短半轴为c,#2代表X的数值,#1为Z的数值,SQRT是开⽅的意思)
G01 X〔±2*#2+e〕Z〔#1±f〕;
e: 椭圆的X向轴线相对⼯件坐标系的偏移量(直径值)
f: 椭圆的Z向轴线相对⼯件坐标系的偏移量
#1=#1-1;步距(每次移动1mm)
END1;
注意事项:当车削凹椭圆时X后括号中的“±”取“﹣”;当车削凸椭圆时X后括号中的“±”取“+”。
当椭圆的X轴线向正向偏移则Z后括号中的“±”取“+”;当椭圆的X向轴线向负向偏移则Z后括号中的“±”取“﹣”
2)椭圆IF语句的标准格式
#1=a;
a: 为⼑具的起⼑点在相对椭圆的轴线Z的正⽅向a mm处
N1#2=b*SQRT〔1-#1*#1/c*c〕;
b:椭圆的短半轴c:椭圆的长半轴(根据椭圆公式X/c+ Y/b=1,SQRT是开⽅的意思)
G01X〔±2*#2+d〕Z〔#1±e〕F0.2; d:椭圆的X向轴线相对坐标零点的偏移量(直径值)e:椭圆的Z向轴线相对零⾯的偏移量