邹军:数控宏程序语句,入门级别的讲解

数控宏程序有两大主要语句:

一,IF…..GOTO语句

二,WHILE…..DO语句

1,IF…..GOTO语句:

直观意思是:如果...就跳转到哪(或者是做什么事)。

我们不妨用这个格式来造句,如果福布斯有我的名字,那么 我就不上班了;

如果 我看过清风的宏教程,那么我还会看他的其他教程!

这类语句都有一个共同点:“如果”的后面会跟着一个条件!

根据这个条件,决定我做什么事!

所以很多书中都这么介绍此语句:IF[条件成立]GOTO

那么我们用一个小程序来详细的解释下这语句。

%

O0001

#1 = 10

N10 #2 = 20

IF[#2 EQ 20] GOTO10

G0 X100.

Z100.

.......

M30

%

上面这个IF语句是什么意思呢? 它表示:如果#2这个变量的值等于20的话,就跳转到第10号程序段。可能有人会问“GOTO10”后面的10表示什么意思。

其实这个10表示行号。数控的程序一般都有行号的,如果没有,那是系统参数设定的事,不过你只要知道有行号就行。

还有人会问 EQ 是什么意思,这个是英文EQUAL的简写,含义是等于的意思。

对于新手,建议掌握以下几个常用的符号(如下表):

邹军:数控宏程序语句,入门级别的讲解

所以都这里我们不难理解上面判断语句的意思了:如果#2等于20,就跳转到第10号段。由于#2是等于20的(因为在赋值的时候,#2=20),所以条件成立,就跳到了第10号段执行。

我们都知道数控程序一般是从上往下执行的,那么我们这跳到了第10行,接着往下执行时又遇到了IF判断语句,于是有开始判断#2是不是等于20,结果等于!于是又成立了,继续跳到第10行。所以,这个程序是死循环,永远不会结束。

说到这,细心人会发现一个问题:条件成立了,会执行GOTO语句,那要是不成立,程序会怎么办? 其实很简单,不成立就往下面走。也就是说如果不成立,就执行G0X100. 的程序段,直到程序运行至M30结束!

总结:如果条件成立,就执行GOTO语句,你写的行号是多少,它就跳到那个行;要是条件不成立,那么就执行IF下面的语句,不执行GOTO语句!

另外再说一个与教程不相关的问题。

数学不好,能不能学。

首先这个问题,我的答案是:能学!

宏,说的直白点是靠逻辑思维能力。不是懂了微积分才能学好它,这是两码事。但有些程序确实需要点数学知识,比如三角函数,勾股定理。其实宏用到的数学知识真的不多。很多人看到什么椭圆,或者抛物线的方程觉得很可怕,这个不懂那个不懂。这里我要说一句,你懂不懂它的方程,不重要,重要的是你怎么去理解它的加工过程。(曲线类的加工会在我的提高教程中讲解,这里不赘述,而且曲线类的宏,是非常简单、小儿科的。只要记住:数学不好,照样玩转宏。)

2,WHILE…..DO语句:

看到这个语句,还是老样子,先直观翻译下:当.....就执行某某代码段。

和IF语句差不多,这个语句也是用来做条件判断的,但WHILE.....DO自身没有跳转的功能。

那么这个语句该怎么用?我们是造句说明吧,“当年薪达到100W的时候,我就可以买跑车”。这里“年薪达到100W”是条件,如果条件达到了100W,我就执行买跑车这个想法。就这么简单的逻辑!

下面我们用一个程序来解释它

%

O0002

#1 = 20

#2 = 20

WHILE[#1 EQ #2] DO1

GO X50. Y50.

G0 X0.Y0.

END1

G0X100.

Z100.

.......

M30

%

上面这个程序段的意思是:当#1和#2的值相等,那么就执行DO1与END1之间的程序。有人会问一个问题:END1是什么东西。DO后面的 1 又是什么东西?这里呢要说明一下,WHILE语句一定要和 END 结合使用。因为END是它的目标地址。就像IF语句里的行号一样,是个目的地!那么END和DO 后面各有一个1,我们就白话的理解为第一层循环的意思。

如果这里DO后面跟的是2,而END后面跟的是1,那么程序将报警,因为DO2找不到与之匹配的END2!所以DO和END后面的数字,一定要匹配!前面说到第一层循环,因为宏是支持循环嵌套的,这个知识点系统教程会着重的讲解,这里不赘述。

现在我们分析下上面的程序段。

由于#1和#2在初始赋值的时候都是20,所以#1和#2是相等的。程序在执行WHILE语句时,它会判断中括号里的#1和#2是不是相等,如果相等,就执行DO1与END1之间的程序;

反之如果#1和#2不相等,那么就不执行 DO1 与 END1 之间的程序,而是往END1下面的程序走,执行G0X100. 直到程序运行至M30结束!

讲到这,很多朋友会发现WHILE和IF其实一样的,只不过格式不同、目的地的表示方法不同而已。

宏语句先分享到这里,分享的越多收获的越多,欢迎转载分享给你的好友。


分享到:


相關文章: