宏程序基础

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章宏程序的基础

1.1概述

1.2

1.3

1.4一、宏程序的分类

1.5首先我们来讲一下宏程序的分类,A类和B类。

首先在数控车系统比较老的时候,我们系统里

面有A类宏,A类宏格式为G65格式,现在已

经基本淘汰。随着科技发达,系统的升级优化,现在的数控系统大多支持B类宏程序,总体而

言,现在B类宏是一个主流发展趋势,所以接

下来我们的实例讲解都以B类宏程序为例。1.6

1.7

1.8二、宏程序的概念

1.9

1.10简单来理解宏程序是什么?可以这样理解,宏

程序就是利用数学公式,函数等计算方式,配

合数控系统中的G代码编制出的一种程序,主

要加工一些像椭圆,曲线,各类大螺距螺纹和

刀具路线相识的一些零件。随着科技发达,像

椭圆,抛物线,等线性零件,用软件或则系统

自代G代码可以完成加工,而大螺距异型螺纹

这类零件,软件还没达到成熟,所以我们学会

宏程序在加工中可以起到一个非常大的作用。

可以弥补多年来数控车对大螺距螺纹的编程难

的一个提高。

1.11

1.12

1.13三、宏程序的特征

1.14

1.151.赋值

1.16在宏程序中我们通常用法最多的就是变量,比

如:

1.17#1=1 它就是一个变量。我们把这一过程,称为

赋值。也就是说,我们把等号后面的数值1,赋

值给#1。而现在#1的值就等于1,也可以理解

为#1就是一个代号,用来代替数值1。

1.18

1.19

2.变量和应用

1.20比如:#1=2(把数值2赋值给#1)1.21#2=1(把数值1赋值给#2)

1.22#2=#1(程序从上往下执行,思考一下现在#2的

值等于多少?)

1.23

1.24解:当程序执行第一步的时候#1的值等于2,

当执行第二步的时候#2的值等于1,当执行第

三步的时候这里要注意了,刚才讲过赋值过程,是等号后面的值赋值给等号前面,所以当#1在

第一步赋值以后,#1已经等于2了,所以在执

行第三步的时候#2的值应该等于2,不在是第

二步的1了。从这里我们可以看出,当程序中

有相同的变量#的时候,后面的#号代替前面的#

号。

1.25比如:#1=2

1.26#1=3

1.27

1.28最后结果#1的值因该是等于3的。所以说后面

的代替前面的。

1.29

1.30

1.31四、变量的取值范围

1.32

1.331.局部变量(#1-#33)

1.34什么叫局部变量,局部变量就是在局部或则可

以理解为在单个程序中有效。断电以后系统自

动清零。

1.35

1.36

2.公共变量(#100-#199,#500-#999)

1.37公共变量和局部变量的区别在于,局部变量是

在局部,或则单个程序中有效,而公共变量是

指如果一个程序同时拥有主程序和子程序的情

况下,在主程序中如果已经赋值,在子程序中

可以不用从新赋值,可以共用。而#100-#199和

#500-#999的区别在于,前者断电清零,而后者

不会清零会一直保存在系统内部。比如:

1.38#500=TAN[15]

1.39

1.40#500一旦赋值就将保存在系统内部,下次可以

直接调用#500使用。

1.41

1.423.系统变量(#1000-#17200)

1.43系统变量是用于我们机床系统储存一些刀补数

据参数等等的东西,我们可以不用管它,不会

用的,慎用)

1.44

1.45总结:一般情况下我们写程序用#1-#33,当有子

程序的时候我们用#100-#199.

1.46

1.47

1.48五、宏程序中常用的计算

1.49

1.501.加法运算

1.51例如:#1=2

1.52#1=#1+3 那么#1的值等于2+3=5

1.53

1.54

2.减法运算

1.55例如:#1=3

1.56#1=#1-1 那么经过计算我们的#1的值等于3-1=2 1.57

1.583.乘法运算

1.59程序中用*号来代替乘法

1.60例如:#1=5

1.61#2=#1*2 那么计算出来#2的值等于5*2=10 1.62

1.634.除法运算

1.64程序中用/ 号来代替除法运算

1.65例如:#1=10

1.66#1=#1/2 那么经过计算#1的值等于10/2=5

1.67

1.68

1.69六、常用三角函数运算

1.701.TAN(正切)

1.71例如#1=2*TAN[20] 中括号里面是角度

1.72

1.73

2.SIN(正玄)

1.74例如#1=3*SIN[3] 同上

1.75

1.763.COS(余玄)

1.77例如#1=COS[15]

1.78

1.794.ASIN、ACOS、ATAN(反三角)

1.80

1.815.SQRT(数学中的开平方的意思,和数学中根

号一样)

1.82例如#1=SQRT[9] 那么计算出来#1的值等于3 1.83

1.84

1.85七、宏程序的常用符号和含义1.86G T(大于)

1.87G E(大于或等于)

1.88L T(小于)

1.89L E(小于或等于)

1.90E Q(等于)

1.91N E(不等于)

1.92A BS(绝对值)

1.93A ND(与)

1.94O R(或者)

1.95

1.96八、常用的语法和应用

1.971.无条件转移GOTO n(n表示数值)

1.98例如:GOTO01 此程序段的意思是当程序中执行

到这一程序段的时候无条件跳转到程序段中N1的地方,执行N1后面的程序段。

1.99M3 S500 G99

1.100

1.101T101 M08

1.102

1.103GOTO 10 (当程序执行到这里的时候,直

接跳转到N10那个程序段执行M30,跳过了G0那一步,所以这叫做无条件跳转,和我们一般程序中跳段功能一样)

1.104

1.105G0 X100. Z100.

1.106

1.107N10 M30

1.108

1.109

2.有条件跳转IF[条件表达式] GOTO n

1.110例如:IF[#1 GT 15] GOTO 10 从这段程序当

中,我们这样理解,如果中括号里面的条件满足,那么就执行后面的GOTO跳转语句,如果中括号里面条件不满足,那么不执行后面的GOTO 跳转,执行后面一个程序段。

1.111我们简单来写一个程序:

1.112M3 S500 G99

1.113

1.114T101 M08

1.115

1.116N10#1=30(把数值30赋值给#1)

1.117

1.118IF[#1 LT 50] GOTO 10(首先判断中括号是不

是满足条件,如果满足执行跳转,不满足执行下一步)

相关文档
最新文档