宏程序编程入门自学最简单入门宏程序编程实例宏程序编程入门讲解




宏程序编程入门自学最简单入门宏程序编程实例宏程序编程入门讲解

2022-07-21 2:15:51 网络知识 官方管理员

何为宏程序

变量的方式进行数控编程的方法就叫做数控宏程序编程。

我们普通程序(如G01X100.Y100.F200)X,Y地址后面都是些常量,如果我们把这些常量用变量来编写如G01X#1Y#2F200,这就是我们所谓的宏程序。

宏程序编程入门自学(最简单入门宏程序编程实例)(1)

备注:FUNC系统是用#1,#2等等来表示变量的。

*(机床系统不同表示的方式也不同,在这以FUNC系统为例)FUNC系统是用#1,#2等等来表示变量的。即“#”和“数字”组成的。如#1,#2……#33等。这些#后面的数子1,2,3等等有什么含义吗?其实它只是宏变量的代号而已。

举个最简单的例子:如果有三个人,他们的名字叫小李、小李、小李。那么当你呼叫小李的时候,会发生一个问题,这三个人都会回答,但你其实只想喊其中的一个。这就分不清了。同理,#1#1#1,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。此时如果系统使用#1,就不会发生混乱了。

02何为变量

变量是一个会变化的量,与之对应的是常量。(常量比如:1,2,22,65等等阿拉伯数字。变量比如:#1,#2,#5等等,#1,#2的值到底是多少??因为它是变量,一个会变化量)。

03变量是多少?

比如把#1,#2等变量当做的银行卡,你往这些卡里存了多钱,那么这些卡里就有多钱(比如:往#1里面存了500元,此时#1就相当于500,又取走了300此时#1里面就有200)

04变量的赋值

往#1里面存了500元等这么一个过程就叫变量赋值。如果你不在往“#1“里面存钱,或取钱,那么#1就相当于500.也就是说#1不发生运算的情况下就是500.如果有这么一个程序段G0X#1,也就等同于此程序段G0X500.

宏程序编程入门自学(最简单入门宏程序编程实例)(2)

那么变量在数控机床中是怎么赋值的呢?

格式如下:

机床中的赋值中文解释备注

#5=100把100这个数值赋给变量#5把常量赋给了#5

#1=#1-1把#1-1这个运算结果赋值给#1把表达式结果赋值给了#1

#6=[#11#153]把[#11#153]这个表达式的运算结果赋值给#6把表达式结果赋值给了#6

05

宏程序IF…GOTO语句

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

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

%

O0001

#1=10

N10#2=20

IF[#2EQ20]GOTO10

G0X100.

Z100.

.......

M30

%

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

数控的程序一般都有行号的,如果没有,那是系统参数设定的事,不过你只要知道有行号就行。还有人会问EQ是什么意思,这个是英文EQUAL的简写,含义是等于的意思。

宏程序编程入门自学(最简单入门宏程序编程实例)(3)

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

运算符含义英文注释

EQ等于(=)Equal

NE不等于(≠)NotEqual

GT大于(>)GreatThan

GE大于或等于(≧)GreatthanorEqual

LT小于(﹤)LessThan

LE小于或等于(≦)LessthanorEqual

所以都这里我们不难理解上面判断语句的意思了:如果#2等于20,就跳转到第10号段。

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

宏程序编程入门自学(最简单入门宏程序编程实例)(4)

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

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

发表评论:

最近发表
网站分类
标签列表