数控机床宏程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)变量的赋值
直接赋值
#1=10; #112=#6*cos[#100]; 格式:变量=常数或表达式
§2.4 数控系统指令代码—6
直接赋值的规律:
§2.4 数控系统指令代码—6
宏程序中自变量赋值
§2.4 数控系统指令代码—6
变量赋值方法1
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
3.用户宏程序B
三、宏变量的类型
• 空变量
#0
• 局部变量 #1~#33
• 公共变量 #100~#199
• 系统变量 #1000~
#500~#999
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
四、宏变量运算 1、算术运算: 主要是指加、减、乘、除、乘方、函数等
转到第40段 执行,否则执行下一段;(40前不用加行号N)
N70 G00 G40 X0 ; N80 M30 ; 撤消刀补,回到起点 程序结束
§2.4 数控系统指令代码—6
说明:
若要提高椭圆的加工精度,可将自变量的角度 (步距)改小(如0.1°),修改程序很简单。 若要将此椭圆轮廓加工多次,只需多加两循环 语句。
CNC指令,进行变量运算,宏指令可以给变量设
定实际值。
§2.4 数控系统指令代码—6
变量
1)变量的概念:变量用#和后面的数字表示,其 格式为:#i(i =1,2,3…) 2)变量的引用:变量可以代替宏程序中地址后面 的数值。
例:F#103,G00 Z#100, G#130,
§2.4 数控系统指令代码—6
N20 G01 G41 X50 ;
N30 #1=0 ; N50 #1=#1+1 ;
图1中OX距离;
将角度设为自变量,赋初值为0; 自变量每次自加1;
N40 X[50*COS[#1]] Y[25*SIN[#1]] F200 ; XY轴联动的步距; N60 IF[#1LT360] GOTO 40 ; 如果变量自加后不足360度,则
② 接口输入信号(#1000~#1015、#1032) ③ 接口输出信号(#1100~#1115、#1132、# 1133) ④ 计时信息(#3011、#3012) ⑥ 模态信息(#4001~#4120)
wenku.baidu.com
⑤ 需要零件计数和加工零件计数信息(#3901、#3902) ⑦ 位置信息(#5001~#5083)
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
2、数学和逻辑运算:
通常是指两个数值的比较或者关系。
常用的运算有:
EQ
(等于)
NE (不等于) GT (小于) (或)
(大于)
GE (大于且等于) LT AND (与) OR
LE (小于且等于) NOT (非)
§2.4 数控系统指令代码—6
360 i i n
X=X + rCOS(θ i) Y=Y + rSIN(θ i)
§2.4 数控系统指令代码—6
N250 …;
孔加工代码
(或G90 G99 G81 X#103 Y#104 Z R F;) G65 H01 P#100 Q#100 R1 ; i=i+1 G65 H84 P200 Q#100 R#101 ;
变量赋值方法2
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
宏程序的调用
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
调用示例
§2.4 数控系统指令代码—6
G65调用指令说明
二、宏变量的表示及引用 (1)变量的表示 • 变量符号#+变量号
#0~ #49
如: #1= #2+100; G01 X #1 F300;
• 表达式(必须封闭在括号中)
如: #[#1+#2-12]
§2.4 数控系统指令代码—6
(2)变量的引用
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
函 数 格 #i=#j #i=#j+#k #i=#j-#k #i=#j*#k #i=#j/#k 式
赋值 Definition 求和 Sum 求差 difference 乘积 Product 求商 Quotient
§2.4 数控系统指令代码—6
函 正弦 sine 余弦 cosine 正切 tangent 反正切 arctangent 平方根 Square root 绝对值 Absolute value 四舍五入 Rounding off 或 OR 异或 XOR 与 AND 数 格 式
对于可以用标准的参数方程表示的曲线,如正 圆、抛物线、渐开线、摆线等,宏编程技术可 以方便的编制其加工程序。
§2.4 数控系统指令代码—6
4)运算指令和转移指令(G65) 格式:G65 Hm P#i Q#j R#k ; 其中:m=01~99,Hm表示运算指令和转移指令的功能; #i:运算结果的变量名; #j,#k: 被运算的变量名,可以定为常量; 例: G65 H01 P#100 Q0;#100=0 G65 H02 P#100 Q#101 R#102;#100=#101+#102 G65 H84 P2000 Q#100 R#101; #100<#101时,转移到N2000程序段
§2.4 数控系统指令代码—6
二.宏编程及其技术应用
椭圆
§2.4 数控系统指令代码—6
椭圆方程
§2.4 数控系统指令代码—6
椭圆拟合算法
§2.4 数控系统指令代码—6
用户宏程序
§2.4 数控系统指令代码—6
1.宏编程概念
宏程序:含有变量的程序。
宏程序的最大特点:
以FANUC 0i数控系统为例介绍宏指令编程
§2.4 数控系统指令代码—6
1、无条件分支GOTO语句
控制转移(分支)到顺序号n所在位置。
顺序号可用表达式指定。
格式:GOTO n; n—(转移到的程序段)顺序号 例:GOTO1; GOTO#10;
§2.4 数控系统指令代码—6
2、条件分支IF语句
在IF后指定一条件,当条件满足时,转移到顺序号为 n的程序段,不满足则执行下一程序段。
格式:WHILE [条件表达式] DO m;(m=1,2,3)
.
.
. ENDm;
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
• 五种情况说明:
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
宏程序的数学基础
§2.4 数控系统指令代码—6
常见曲线的标准方程
§2.4 数控系统指令代码—6
例1:T02内圆车刀
§2.4 数控系统指令代码—6
例2:加工一椭圆: 椭圆长轴为100,短轴为50
Y
50
-X
O
X
-Y
1 00
§2.4 数控系统指令代码—6
加工路线为O → X → Y → -X → -Y → X → O 假如现在要加工内形,它的刀具轨迹如下图。
§2.4 数控系统指令代码—6
O0001; N10 G92 X0 Y0 Z0 S1200 M03 ; 确定坐标系;
§2.4 数控系统指令代码—6
G代码 G65 ″ H代码 H01 H02 功 能 定 义 #i=#j #i=#j+#k
定义,置换 加法
″
″ ″ ″
H03
H04 H05 H22
减法
乘法 除法 绝对值
#i=#j-#k
#i=#j×#k #i=#j÷#k
#i= #j
#i=#j· SIN(#k) #i=#j· COS(#k)
N1 IF[#2 GT 10] GOTO2;
#1=#1+#2; 相加
相加条件
#2=#2+1;
N2 M30; 结束
下一加数
GOTO1 返回1
§2.4 数控系统指令代码—6
3、循环WHILE语句
在WHILE 后指定一条件表达式,当条件满足 时 , 执 行 DO 到 END 之 间 的 程 序 , ( 然 后 返 回 到 WHILE 重新判断条件 ,)不满足则执行 END后的下 一程序段。
§2.4 数控系统指令代码—6
宏程序调用示例
§2.4 数控系统指令代码—6
1.宏编程概念
宏程序类型:A、B。 B类程序符号直 观好记 FANUC 0系列只有A, 需用H指令
§2.4 数控系统指令代码—6
2. 用户宏程序A
使用方法与子程序类似,区别是在宏程序主体中, 除了使用通常的CNC指令外,还可以使用变量的
″
″ ″
H31
H32 H84
正弦
余弦
条件转移4
IF#j<#k,GOTOn
§2.4 数控系统指令代码—6
例:在以圆心为(X0,Y0),半径为r的 圆周上,始角为α加工n个等分孔。
X0、Y0: Y 第 3孔 第 2孔 第 1孔
螺栓孔圆周基准点的坐标值使用变量:
#500, #501 : 基准点的坐标(X0,Y0)
• N020 G92 X0 Y0 Z0 ; • N025 M98 P9010 ;
• G00 X0 Y0 ;
• N030 M02 ;
回原点
§2.4 数控系统指令代码—6
Y
第 3孔
第 2孔 第 1孔
r α
基准点X0,Y0
X
§2.4 数控系统指令代码—6
用户宏程序主体如下(子程序): O9010; N100 G65 H01 P#100 Q0 ; i=0 G65 H01 P#101 Q#504 ; ie =n N200 G65 H04 P#102 Q#100 R360000; G65 H05 P#102 Q#102 R#504 ; G65 H02 P#102 Q#503 R#102 ; G65 H32 P#103 Q#502 R#102 ; G65 H02 P#103 Q#500 R#103 ; G65 H31 P#104 Q#502 R#102 ; G65 H02 P#104 Q#501 R#104 ; G90 G00 X#103 Y#104 ;第i孔定位
i<ie时,转移到N200程序段
N300 M99 ; 用户宏程序主体结束
§2.4 数控系统指令代码—6
3.用户宏程序B
第一节 变量及其运算 一、宏变量 在宏程序中使用的变量称为宏变量。 宏变量值可在程序中修改或利用 MDI 面板操作进 行修改。
§2.4 数控系统指令代码—6
3.用户宏程序B
格式:IF [表达式] GOTO n; . . . Nn…;
条件表达式由两变量或一变量一常数中间夹比较运 算符组成,条件表达式必需包含在一对方括号内。 条件表达式可直接用变量代替。
§2.4 数控系统指令代码—6
§2.4 数控系统指令代码—6
例程 求1~10的和。 O9500; #1=0; #2=1; 和 加数
#i=SIN[#j] #i=COS[#j] #i=TAN[#j] #i=ATAN[#J]/[#k] #i=SQRT[#j] #i=ABS[#J] #I=ROUND[#J] #I=#J OR #K #I=#J XOR #K #I=#J
§2.4 数控系统指令代码—6
五、分支和循环
在程序中可用GOTO语句和IF语句改变控制执行顺序。 分支和循环操作共有三种类型: GOTO 语句——无条件分支(转移) IF语句——条件分支;if…,then… WHILE语句—— 循环;while…
r
α 基准点X0,Y0
第n孔
#502:半径(r)
#503:始角(α) #504:孔的个数(n)
X
#100:表示加工第i个孔的计数(i)
#101:计数的总值= n(ie) #102:第i个孔的角度(θ1) #103,#104:第i个孔的坐标值(Xi,Yi)
§2.4 数控系统指令代码—6 • 调出用户宏程序主体的程序O0010(主程序);
• N010 G65 H01 P#500 Q10000; X = 100 mm • • • • G65 H01 P#501 Q-200000 ; Y = -200 mm G65 H01 P#502 Q100000 ; r = 100 mm G65 H01 P#503 Q20000 ; α = 20° G65 H01 P#504 Q12 ; n = 12 设定坐标系 调出用户宏程序 程序结束
3) 变量
共四种:空变量、局部变量、公共变量和系统变量
空变量: #0 没有值能赋给该变量;
局部变量: #1~#33,只能用于宏程序中存储数据, 断电时初始化为空。 公共变量(#100~#149 断电时初始化为空;
(#500~#531 断电不丢失)
§2.4 数控系统指令代码—6
系统变量:
① 刀具偏移(#1~#99、#2000~#2200)