最近听很多小伙伴反馈说,看了宏程序的资料,也去报了相关的学习班,可以编出来的宏程序就是不能用,自已无法找到宏程序的漏洞,这是为什么呢?
其实这个主要因素是在编程序的过程中,没有掌握好宏程度变量的方式,还有就是宏程序中的动态变量。
电脑所谓程序的流程(Flow Control)是通过控制程序的执行方向,进而掌握程序动态。
这用户宏程序区别于一般数控程序的特征之一,也是用户选择用户宏程序编写数控代码的一大理由。用户宏程序的流程控制包括无条件判断、循环控制、无条件转移三大类,这与其他的高级语言程序类似,下面将分别介绍其功能和使用语法。
一、条件判断
判断条件的真假,然后根据真假或者对应情况到指定的地方去执行程序,这方
面的语句有 IF和 CASE语句。
1、IF条件语句
1)基本语法:
IF <条件表达式> THEN
<操作>
ELSEIF <条件表达式> THEN
<操作>
ELSE
<操作>
END_IF;
说明:IF条件判断,根据真假情况到指定的地方去执行程序。
例如:
% @MACRO
#1 := 3.0;
//启动 MACRO语法
G01 G91 G92 X20. Y15. F200000;
IF #1 = 1 THEN
电脑X(1.0*1);
Y(1.0*1);
ELSEIF #1 = 2 THEN
X(1.0*2);
Y(1.0*2);
ELSEIF #1 = 3 THEN
X(1.0*3);
Y(1.0*3);
ELSE
X(1.0*4);
Y(1.0*4);
END_IF;
X(1.0) Y(1.0);
M30;
然而在实际使用中,可以有以下一些变形:
2)变形 1
语法:
IF <条件表达式> THEN
<操作>
ELSE
<操作>
END_IF;
3)变形 2
语法:
IF <条件表达式> THEN
<操作>
END_IF;
编程时可根据需要选择合适的语法格式。
2、CASE分支语句
语法:
CASE 电脑 <条件表达式> OF
<条件值>:
<操作>
<条件表达式>,<条件表达式>,<条件表达式>:
<操作>
<条件表达式>,…<条件表达式>:
<操作>
ELSE
<操作>
END_CASE;
说明:CASE多条件判断分支,根据条件表达式运算结果所对应的条件值(整
数),分别执行不同程序区块。
例如:
% @MACRO
#1 := 8;
//启动 MACRO语法
G01 G91 G92 X20. Y15. F200000;
CASE #1 OF
1:
X(1.0*1);
Y(1.0*1);
2:
X(1.0*2);
Y(1.0*2);
3,4,5:
X(1.0*#1);
Y(1.0*#1);
ELSE
X(1.0*6);
Y(1.0*6);
END_CASE;
X(1.0) Y(1.0);
M30;