华中数控车宏程序
华中数控车宏程序
华中数控宏程序一.什么就是宏程序?什么就是数控加工宏程序?简单地说,宏程序就是一种具有计算能力与决策能力的数控程序。
宏程序具有如下些特点: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=25G01 X[#1] ;表示G01 X25#1=-10 ;运行过程中可以随时改变#1的值G01 X[#1] ;表示G01 X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。
如:#2=3G[#2] X30 ;表示G03 X30例1 使用了变量的宏子程序。
数控车床华中系统用户宏程序编程
如图2,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
分别用宏变量#1、#2代替上式中的X、Z,即得因变量#1相对于自变量#2的宏表达式:
如图1,Z坐标为自变量#2,则X坐标为因变量#1,那么X用Z表示为:
3、如何进行函数变换,确定因变量相对于自变量的宏表达式
如图3,X坐标为自变量#1,因Z坐标为因变量#2,那么Z用X表示为:
IF 条件表达式 IF 条件表达式
02
… …
ELSE ENDIF
…
05
ENDIF
格式:WHILE 条件表达式
…
ENDW
5、循环语句WHILE,ENDW
二、公式曲线宏程序编程模板的具体应用实例
运用以上公式曲线宏程序模板,结合粗加工循环指令,就可以快速准确实现零件公式曲线轮廓的编程和加工。具体应用示例如下: 例1:如图1所示零件的外轮廓粗精加参考程序如下(设毛坯为直径25毫米的棒料): %0001(程序头) T0101(调用01号外圆刀及01号刀具偏置补偿) G90 M03 S700(绝对值编程;主轴以700转/分正转) G00 X33 Z2(快速定位到粗加工循环起点) G71 U1 R0.5 P10 Q20 X0.6 F100(外径粗车循环) N10 G01 X10 F60 S1000(精加工起始程序段) Z-10 X24 Z-22(公式曲线起点) #2=8(设Z为自变量#2,给自变量#2赋值8:Z1=8) WHILE #2 GE [-8](自变量#2的终止值-8:Z2=-8) (因变量#1: 用#1、#2代替X、Z) #11=-#1+15(工件坐标系下的X坐标值#11:编程使用的是负轮廓,#1前冠以负;ΔX=15) #22=#2-30(工件坐标系下的Z坐标值#22:ΔZ=-30) G01 X[2*#11] Z[#22](直线插补,X为直径编程) #2=#2-0.5(自变量以步长0.5变化) ENDW(循环结束) N20 G01 Z-50(精加工终止程序段) G00 X100 Z80(快速定位到退刀点) M30(程序结束)
数控车宏程序编程讲解
矩形螺纹
刀具
• 12. [矩形螺纹].
• 编程:
• O0001:(主程序) O0002: (子程序)
• N1 T0202 G99; G0 U–0.3; G0 U10; U–10;
• N2 M3 S200;
G32 Z–55 F12; Z14; M99;
• N3 G0 X82 Z12; G0 U10;
数控车床(宏程序)编程
特形零件练习
正切曲线方程:
椭圆
抛物线方程:
椭圆
双头螺纹.
材料:45#刚. 毛坯: 50*140.
华中系统(宏程序)编程
• 1. 图1.
方向
右偏刀
1.
• 抛物线方程:– X*X/10. • ①以(X轴)作变量. • 编程: • O0001; • N1 #1= 0; (X轴的起点) • N2 WHILE #1 LE [10]; (X轴的终点). • N3 #2= – #1*#1/10; (抛物线的公式) • N4 G01 X[2*#1] Z[#2]; (X,Z轴的坐标变量) • N5 #1= #1+0.1; (X轴的增量) • N6 ENDW; (调用返回) • ②以(Z轴)作变量. • 编程: • O0001; • N1 #1= 0; (Z轴的起点) • N2 WHILE #1 LE [10]; (Z轴的终点) • N3 #2= SQRT[#1*10]; (抛物线的公式) • N4 G01 X[2*#2] Z[–#1]; (X,Z轴的坐标变量) • N5 #1= #1+0.1; (Z轴的增量) • N6 ENDW; (调用返回)
图2.
方向
图2
右偏刀
• 2. 抛物线方程:–X*X/10. • ①以(X轴)作变量. • 编程: • O0001; • N1 #1= 0; • N2 #2= – #1*#1/10; • N3 G01 X[2*#1] Z[#2]; • N4 #1= #1+0.1; • N5 IF #1 LE [10] GOTO2; • ②以(Z轴)作变量. • 编程: • O0001; • N1 #1= 0; • N2 #2= SQRT[#1*10]; • N3 G01 X[2*#2] Z[–#1]; • N4 #1= #1+0.1; • N5 IF #1 LE [10] GOTO2;
华中数控宏程序文件
《华中数控宏程序》目录序 (1)一.什么是宏程序? (1)二.用宏程编程有什么好处? (1)一.宏变量及宏常量 (1)1.宏变量 (1)2.局部变量 (2)3.全局变量 (2)4.系统变量 (3)5.常量 (3)二.运算符与表达式 (3)1.算术运算符 (3)2.条件运算符 (3)3.逻辑运算符 (4)4.函数 (4)5.表达式与括号 (4)6.运算符的优先级 (4)7.赋值号 = (4)8.注释 (5)三.程序流程控制 (5)1.条件分支 IF (5)2.条件循环 WHILE (6)四.子程序及参数递传 (7)1.普通子程序 (7)2.宏子程序 (7)3.全局变量传参数 (7)4.局部变量传参数 (8)5.系列零件加工 (9)6.高级参考 (10)五.宏编程实例 (12)1.数车编程 (12)(1)函数曲线加工通用宏程序 (12)(2)抛物线车削1 (12)(3)抛物线车削2 (12)(4)抛物线车削3 (13)(5)抛物线车削4 (13)(6)抛物线车削5(G71与宏程序) (14)(7)抛物线车削6 (14)(8)正弦线车削 (15)(9)抛物线与椭圆车削 (15)(10)椭圆粗、精车削 (16)(11)用子程序完成粗、精加工 (16)(12)变螺距螺纹 (18)2.数铣编程 (18)(1)直线段逼近整园的宏程序 (18)(2)螺旋线走刀 (19)(3)来回铣削的方法 (19)(4)铣平面 (20)(5)铣斜面 (20)(6)铣半圆柱 (21)(7)铣半球 (23)(8)多次旋转的宏编程 (23)(9)切圆台与斜方台 (24)(10)铣椭圆 (24)(11)铣孔 (25)(12)倒圆角加工 (25)(14)抛物斜边岛屿加工 (27)(15)凹球曲面加工 (28)(16)螺纹镗刀铣螺纹 (29)(17)圆柱 (30)(18)直斜边岛屿加工 (30)(19)圆弧斜边岛屿加工 (31)(20)椭球面加工的宏程序实例 (31)(21)自定义G指令 (32)附件 (32)1.华中数控指令一览 (32)2.固定循环指令的宏程序实现 (32)G73 (32)G74 (33)G76 (34)G81 (35)G82 (36)G83 (37)G84 (38)G85 (39)G86 (40)G87 (41)G88 (42)G89 (44)2.华中数控系统系统变量一览 (45)(1)子程序嵌套局部变量 (45)(2)刀具相关系统变量 (45)(3)坐标相关系统变量: (45)(4)参考点相关系统变量 (45)(5)系统状态变量 (46)3.数学知识 (46)序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
华中数控铣床宏程序实例
G18G01X[#2]Z[#3]
#5=#2
WHILE#5GE2
G17G01X[#5]
#6=0
WHILE#6LT360
#7=#5*COS[#6*PI/180]
#8=#4*SIN[#6*PI/180]
G01X[#7]Y[#8]
#6=#6+1ENDW
#5=#5+5
ENDW
G54G00X0Y0Z50
M3S1500
Z3
G01Z0F250
#1=90
WHILE#1GE0
#2=30*COS[#1*PI/180]
#3=30*SIN[#1*PI/180]-30
G18G01X[#2]Z[#3]
#4=#2
WHILE#4LT43
G17X[#4]
G02I[-#4]
#4=#4+5
ENDW
G01X[-#2]
Z5
G01Z0F250
#1=180
WHILE#1LT270
#2=30*COS[#1*PI/180]
#3=30*SIN[#1*PI/180]
G18G01X[#2]Z[#3]
#4=#2
WHILE#4GE0
G17G01X[#4]
G02I[-#4]
#4=#4-5
ENDW
G01X[#2]
#1=#1+1
ENDW
G00Z50
M30
(精铣)
G54G00X0Y0Z50
M03S1500
Z5
G01Z0F250
#1=180
WHILE#1LT270
#2=30*COS[#1*PI/180]
#3=30*SIN[#1*PI/180]
华中数控宏程序(数控车床)
华中数控车宏程序
华中数控车宏程序(总21页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March华中数控宏程序一.什么是宏程序什么是数控加工宏程序简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
宏程序具有如下些特点: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=25G01 X[#1] ;表示G01 X25#1=-10 ;运行过程中可以随时改变#1的值G01 X[#1] ;表示G01 X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。
华中数控宏程序教程
华中数控宏程序教程华中数控宏程序教程是指针对华中数控系统而编写的一系列宏程序教学资料,旨在帮助学员快速掌握该系统的宏指令和宏程序编写方法。
本文将从华中数控宏程序教程的内容、重要性和应用场景三个方面进行详细阐述。
一、华中数控宏程序教程的内容华中数控宏程序教程主要包含以下内容:1. 单个宏指令的使用方法和作用;2. 宏指令的组合使用方法及宏程序的编写流程;3. 常用的数学运算、逻辑运算和字符处理指令的使用;4. 在实际加工中的应用场景及案例详解;5. 如何调试、修改和优化宏程序。
以上内容涵盖了华中数控宏程序所需的全部知识,对于初学者而言,可以通过本教程快速熟悉宏程序的编写方法及其应用场景,提高编程效率。
二、华中数控宏程序教程的重要性华中数控系统是一种高精度、高稳定性、高可靠性的数控系统,它在工业生产中得到了广泛的应用。
而在具体的加工过程中,宏程序的编写与调试是至关重要的过程,宏指令不仅可以实现加工自动化,还可以提高加工精度和加工效率。
因此,精通华中数控宏程序的编写方法和调试技巧是非常重要的,这可以提高生产效率,节约加工成本,使企业更具竞争力,在市场竞争中处于优势地位。
而华中数控宏程序教程正是为了满足这个需求而编写的。
三、华中数控宏程序教程的应用场景华中数控宏程序教程主要应用场景为各类数控加工领域,例如金属加工、木材加工、塑料加工等等。
在这些领域中,高效、精准、安全的生产方式是生产过程中的共同要求,而华中数控宏程序正是在这些要求的基础上得以推广和应用的。
在具体应用中,华中数控宏程序可以实现各种形式的加工控制,如载刀量控制、自动换刀、自动选择加工路径等等。
而这些功能的实现离不开宏程序编写的高效和准确。
除了在生产中的实际应用,华中数控宏程序的教学与推广也是非常重要的。
当前数控领域的工程师正面临着市场需求的压力和生产效率的要求,而对于初学者而言,华中数控宏程序教程的学习则是他们入门学习的重要部分,在生产实践中比拥有高精度加工机床更为重要。
华中数控宏程序编写方法及加工一实例
ENDW
A S I T,I N,Q T,XP B ,N SG S R E () 5 表达式
用 运算符连接起来的常数 , 宏变量构成表达式 例如 :7 /Q T2 c s5 P/8 ; 1 5S R [] o [5 I 0] 1
AND, OR , NOT
¥ 0 M0 50 3 GO 0X5 Z 2 25 G8 0X4 Z F1 0 8 8 0
#l 2 = 4
WHIE# G 0 L [1 T 】
#1 #1 = -1
() 4 函数
S N, I COS, AN, T ATAN, ATAN2,
’
# =5/4 Q T2 4 # 1 2 [02 1S R [4 2 - 1# 】 G O [12 0 】 注 :. 为 X轴方 向精加工余留量 O X# * + . 5 0 5
#3 6GT 4: 1
G 0X1 0 0 0 Z1 o o M0 5 .
3 赋 值 语 句
M3 0
( 下转第 2 8页 】 1
2l 3
21 0 2年
第 3期
S IN E&T C N OG F MA I CE C E H OL YI OR TON N
5 使用循环语句进行宏程序 编程举例
1 宏 变 量 及 常 量
( 变 量 1宏
其余
V
加~ 4 # 9当前局部变量 #0#9 5 ~ 19全 局 变 量 # 0 ~ 2 90层局部变量 20#4 # 5 ~ 2 9 1 局部变量 20#9 层 # 0 ~ 392层局部变量 30#4 # 5 ~ 393层局部变量 30#9 # 0 ~ 4 94层局 部变 量 4 0 #4 # 5 ~ 4 95层局 部变量 40#9 # 0 ~ 5 96 50 # 4 层局 部变 量 # 5 ~ 5 97层 局 部 变 量 50#9 # 0 ~ 6 9刀具长度寄存器 H ~ 9 60#9 0H 9 # 0 ~ 7 9刀具半 径寄存 器 D ~ 9 70 #9 OD9 #0 ~89 80 # 9 刀具寿命寄存器 ( ) 常量 2宏 P: I圆周 率 1 T T U 条件成立 ( R E: 真)
华中数控宏程序概述
华中数控宏程序,从入门到精通《华中数控宏程序》1目录序 (1)一.什么是宏程序? (1)二.用宏程编程有什么好处? (1)一.宏变量及宏常量 (1)1.宏变量 (1)2.局部变量 (2)3.全局变量 (2)4.系统变量 (3)5.常量 (3)二.运算符与表达式 (3)1.算术运算符 (3)2.条件运算符 (3)3.逻辑运算符 (4)4.函数 (4)5.表达式与括号 (4)6.运算符的优先级 (4)7.赋值号 = (4)8.注释 (5)三.程序流程控制 (5)1.条件分支IF (5)2.条件循环WHILE (6)四.子程序及参数递传 (7)1.普通子程序 (7)2.宏子程序 (7)3.全局变量传参数 (7)4.局部变量传参数 (8)5.系列零件加工 (9)6.高级参考 (10)五.宏编程实例 (12)1.数车编程 (12)(1)函数曲线加工通用宏程序 (12)(2)抛物线车削1 (12)(3)抛物线车削2 (12)(4)抛物线车削3 (13)(5)抛物线车削4 (13)(6)抛物线车削5(G71与宏程序) (14)(7)抛物线车削6 (14)(8)正弦线车削 (15)(9)抛物线与椭圆车削 (15)(10)椭圆粗、精车削 (16)(11)用子程序完成粗、精加工 (16)(12)变螺距螺纹 (18)2.数铣编程 (18)华中数控宏程序,从入门到精通(1)直线段逼近整园的宏程序 (18)(2)螺旋线走刀 (19)(3)来回铣削的方法 (19)(4)铣平面 (20)(5)铣斜面 (20)(6)铣半圆柱 (21)(7)铣半球 (22)(8)多次旋转的宏编程 (23)(9)切圆台与斜方台 (24)(10)铣椭圆 (24)(11)铣孔 (25)(12)倒圆角加工 (25)(14)抛物斜边岛屿加工 (27)(15)凹球曲面加工 (28)(16)螺纹镗刀铣螺纹 (29)(17)圆柱 (30)(18)直斜边岛屿加工 (30)(19)圆弧斜边岛屿加工 (31)(20)椭球面加工的宏程序实例 (31)(21)自定义G指令 (32)附件 (32)1.华中数控指令一览 (32)2.固定循环指令的宏程序实现 (32)G73 (32)G74 (33)G76 (34)G81 (35)G82 (36)G83 (37)G84 (38)G85 (39)G86 (40)G87 (41)G88 (42)G89 (44)2.华中数控系统系统变量一览 (45)(1)子程序嵌套局部变量 (45)(2)刀具相关系统变量 (45)(3)坐标相关系统变量: (45)(4)参考点相关系统变量 (45)(5)系统状态变量 (46)3.数学知识 (46)3华中数控宏程序,从入门到精通序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
数控车床华中系统用户宏程序编程教材
在数控编程中,宏程序编程灵活、高效、快捷,是加 工编程的重要补充。宏程序不仅可以实现象子程序
那样,对编制相同加工操作的程序非常有用,还可
以完成子程序无法实现的特殊功能,例如,型腔加
工宏程序、固定加工循环宏程序、球面加工宏程序、
锥面加工宏程序等。
华中数控用户宏程序
HNC-21/22T 、HNC-21M为用户配备了强有力 的类似于高级语言的宏程序功能,用户可以使 用变量进行算术运算、逻辑运算和函数的混合 运算,此外宏程序还提供了循环语句、分支语 句和子程序调用语句,利于编制各种复杂的零 件加工程序,减少乃至免除手工编程时进行繁 琐的数值计算,以及精简程序量。
用户宏程序训练
数控车削加工中公式曲线宏程序编程模板的 应用
一、公式曲线宏程序编程模板的原理和使用步骤 1、如何选定自变量 1)公式曲线中的X和Z坐标任意一个都可以被定义为自变量
2)一般选择变化范围大的一个作为自变量,如图1 ★
3)根据表达式方便情况来确定X或Z作为自变量,如图3★ 4)为了表达方便,在这里将和X坐标相关的变量设为#1、 #11、#12等,将和Z坐标相关的变量设为#2、#21、#22等。 际中变量的定义完全可根据个人习惯进行定义
6、如何套用宏编程模板
1)设Z坐标为自变量#2,X坐标为因变量#1,自变量步长为 ΔW,则公式曲线段的精加工程序宏指令编程模板如下: #2=Z1 (给自变量#2赋值Z1:Z1是公式曲线自身坐标 系下起始点的坐标值) WHILE #2 GE Z2 (自变量#2的终止值Z2:Z2是公式曲线自 身坐标系下终止点的坐标值) #1=f(#2) (函数变换:确定因变量#1(X)相对于自变 量#2(Z)的宏表达式) #11=±#1+ΔX (计算工件坐标系下的X坐标值#11:编程中 使用的是正轮廓,#1前冠以正,反之冠以负;ΔX为公式曲线 自身坐标原点相对于编程原点的X轴偏移量。) #22=#2+ΔZ (计算工件坐标系下的Z坐标值#22:ΔZ为公 式曲线自身坐标原点相对于编程原点的Z轴偏移量) G01 X[2*#11] Z[#22](直线插补,X为直径编程) #2=#2-ΔW (自变量以步长ΔW变化) ENDW (循环结束)
华中数控宏程序全套教程
华中数控宏程序全套教程名目序1一.什么是宏程序?1二.用宏程编程有什么好处?1一.宏变量及宏常量11.宏变量12.局部变量33.全局变量34.系统变量45.常量5二.运算符与表达式51.算术运算符52.条件运算符53.逻辑运算符54.函数65.表达式与括号66.运算符的优先级77.赋值号= 78.注释7三.程序流程操纵71.条件分支IF 82.条件循环WHILE 9四.子程序及参数递传111.一般子程序112.宏子程序113.全局变量传参数124.局部变量传参数125.系列零件加工146.高级参考16五.宏编程实例191.数车编程19(1)函数曲线加工通用宏程序19(2)抛物线车削1 19(3)抛物线车削2 20(4)抛物线车削3 20(5)抛物线车削4 21(6)抛物线车削5(G71与宏程序) 22(7)抛物线车削6 23(8)正弦线车削23(9)抛物线与椭圆车削24(10)椭圆粗、精车削25(11)用子程序完成粗、精加工26(12)变螺距螺纹282.数铣编程28(1)直线段靠近整园的宏程序29(2)螺旋线走刀29(3)来回铣削的方法30(4)铣平面31(5)铣斜面31(6)铣半圆柱33(7)铣半球35(8)多次旋转的宏编程37(9)切圆台与斜方台37(10)铣椭圆38(11)铣孔39(12)倒圆角加工39(14)抛物斜边岛屿加工43(15)凹球曲面加工44(16)螺纹镗刀铣螺纹45(17)圆柱45(18)直斜边岛屿加工45(19)圆弧斜边岛屿加工45(20)椭球面加工的宏程序实例45(21)自定义G指令46附件471.华中数控指令一览472.固定循环指令的宏程序实现47 G73 47G74 49G76 50G81 52G82 53G83 55G84 57G85 59G86 60G87 61G88 63G89 652.华中数控系统系统变量一览66(1)子程序嵌套局部变量 66(2)刀具有关系统变量67(3)坐标有关系统变量: 67(4)参考点有关系统变量 68(5)系统状态变量 703.数学知识71序一.什么是宏程序?什么是数控加工宏程序?简单地讲,宏程序是一种具有运算能力和决策能力的数控程序。
华中数控宏程序
[#1 LT 50]AND[#2GT 20 OR #3 EQ 8]AND[#4 LE 10]
4
正弦:SIN[a]余弦:COS[a]正切:TAN[a]注:a为角度,单位是弧度值。
反正切:ATAN[a](返回:度,范围:-90~+90)
反正切:ATAN2[a]/[b](返回:度,范围:-180~+180)(注:华中数控暂不支持)
例:
#2=30
WHILE #2 GT 0 ;如果#2>0
G91G01X10 ;成立就执行
#2=#2-3 ;修改变量,
ENDW ;返回
G90 G00 z50 ;不成立跳到这里执行
WHILE中必须有“修改条件变量”的语句,使得其循环若干次后,条件变为“不成立”而退出循环,不然就成为死循环。
图1 流程控制
绝对值:ABS[a],表示|a|
取整:INT[a],采用去尾取整,非“四舍五入”
取符号:SIGN[a],a为正数返回1,0返回0,负数返回-1
开平方:SQRT[a],表示
指数:EXP[a],表示
5
包含运算符或函数的算式就是表达式。表达式里用方括号来表示运算顺序。宏程序中不用圆括号,因圆括号是注释符。
M99
4
问题:
%400
N1#1=40 ;为局部变量#1赋值
N2M98 P401 ;进入子程序后#1的值是40吗?
M30
%401
N4G91G01X[#1];子程序中用的是局部变量#1
M99
结论:
主程序中N1行的#1与子程序中N4行的#1不是同一个变量,子程序不会接收到40这个值。怎么办呢?
局部变量的参数传递,是在宏调用指令后面添加参数的方法来传递的。上面的程序中,把N1行去掉,把N2行改成如下形式即可:
华中数控编程---宏程序
循环语句(WHILE语句)
格式
宏指令编程
%O0001 #1=20(定义a值) #2=10(定义b值) #4=5(定义刀具补偿半径R值) #5=0(定义步距角初始值)
G90G54G0X0Y0S1500M3
系统变量
#1000以上
变量的引用
1、当用表达式指定变量时,应使用括号
如:G01X[#1+#2]F#3
2、当改变量符号时,应把符号(-)放在#号前面 如:G00X-#1
3、当引用未定义时,变量和地址字都被忽略
如:#1定义为0,G00X#1 Y#4执行的结果为G00X0
常量
PI:圆周率π
角
度用弧度表示:1°对应 PI/180弧度
运算符
1、算数运算符
+
-
*
/
2、条件运算符 EQ(=)NE(≠)GT(>)GE(≥)LT(<)LE(≦)
3、逻辑运算符 AND(与) OR(或) NOT (异或)
函数
SIN[正弦] COS[余弦] TAN[正切] EXP[指数] ATAN[反正切] ABS[绝对值] INT[取整]
华中数控编程 ---宏程序
宏程序的变量
类型 变量名 功能 在程序中局部使用的变量, 之能在程序中存储数据, 例如:运算结果
当前局部变量 用户 变量
#0~#49
全局变量
#50~#199
全局变量可以在子程序中 定义半径补偿值 系统变量用于读和写CNC 运行时各种数据变化,例 如:刀具当前位置和补偿 值等
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和 子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传 递、共享、以及反复利用。
的使用,给程序的设计带来了极大的灵活性。
使用变量前,变量必需带有正确的值。如
#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
一.宏变量及宏常量
1.宏变量
先看一段简单的程序:
G00 X25.0
上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:
#1=25.0 ;#1是一个变量
G00 X[#1];#1就是一个变量
宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变 量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量
刀补变量(#100~#199)。这些变量里存放的数据可以作为刀具半径或长度补偿值来使 用。如
#100=8
G41 D100;D100就是指加载#100的值8作为刀补半径。
上面的程序中,如果把D100写成了D[#100],则相当于D8,即调用8号刀补,而不是补偿 量为&
4.系统变量
#300以上的变量是系统变量。系统变量是具有特殊意义的变量,它们是数控系统内部定 义好了的,你不可以改变它们的用途。系统变量是全局变量,使用时可以直接调用。
编号#0~ #49的变量是局部变量。 局部变量的作用范围是当前程序 (在同一个 程序号 内)。 如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也 可以不同。 例
%100
N10#3=30;主程序中#3为30
M98 P101;进入子程序后#3不受影响
#4=#3 ; #3仍为30,所以#4=30
ENDIF
2)WHILE#1LT#4*5 ;有条件循环命令
ENDW
二.用宏程编程有什么好处?
1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆
曲线,如抛物线、椭圆、双曲线、三角函数曲线等;
2.宏程序可以完成图形一样,尺寸不同的系列零件加工;3.宏程序可以完成工艺路径一样,位置不同的系列零件加工;4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。
#1040~#1143参考点相关系统变量。#1144~#1194系统状态相关系统变量。(详见:2.华中
数控系统系统变量一览)
有时候需要判断系统的某个状态,以便程序作相应的处理,就要用到系统变量。
5.常量
PI表示圆周率,TRUE条件成立(真),FALSE条件不成立(假)。
二.运算符与表达式
1.算术运算符
AND(且)多个条件同时成立才成立
OR(或)多个条件只要有一个成立即可
NOT(非)取反(如果不是)
#1LT50AND #1GT 20—— 表示:[#1<50]且[#1>20]
M30
%101
#4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0
#3=18;这里使#3的值为18,不会影响主程序中的#3
M99
3.全局变量
编号#50~ #199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作 用范围是整个 零件程序 。不管是主程序还是子程序, 只要名称 (编号) 相同就是同一个变量, 带有相同的值,在某个地方修改它的值,所有其它地方都受影响。 例
力口+, 减-,乘*, 除/
2.条件运算符
宏程序运算符
EQ
NE
GT
GE
LT
LE
数学意义
=
工
>
V
条件运算符用在程序流程控制IF和WHILE的条件表达式中,作为判断两个表达式大小关 系的连接符。
注意:宏程序条件运算符与计算机编程语言的条件运算符表达习惯不同。
3•逻辑运算符
在IF或WHILE语句中,如果有多个条件,用逻辑运算符来连接多个条件。
G[#2] X30;表示G03 X30
例1使用了变量的宏子程序。
%1000
#50=20;先给变量赋值
M98 P1001;然后调用子程序
#50=350;重新赋值
M98 P1001;再调用子程序
M30样一段程序,#50的值不同,X移动的距离就不同
M99
2.局部变量
华中数控宏程序
一.什么是宏程序? 什么是数控加工宏程序?简单地说, 宏程序是一种具有计算能力和决策能力的数控程序。
宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:
(1)G01 X[3+5];有表达式3+5
(2)G00 X4 F[#1];有变量#1
(3)G01 Y[50*SIN[3]];有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF#3GE9 ;有选择执行命令
%100
N10#50=30;先使#50为30
M98 P101;进入子程序
#4=#50;#50变为18,所以#4=18
M30
%101
#4=#50; #50的值在子程序里也有效,所以#4=30
#50=18;这里使#50=18,然后返回
M99
为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就 可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的 缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一 不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使
#0~#599是可读写的,#600以上的变量是只读的,不能直接修改。
其中,#300 ~#599是子程序局部变量缓存区。这些变量在一般情况下,不用关心它的存 在,也不推荐你去使用它们。要注意同一个子程序,被调用的层级不同时,对应的系统变量 也是不同的。#600~#899是与刀具相关系统变量。#1000~#1039坐标相关系统变量。