新代数控车床宏程序说明书Word文档格式.docx

上传人:b****0 文档编号:13337138 上传时间:2022-10-09 格式:DOCX 页数:16 大小:42.09KB
下载 相关 举报
新代数控车床宏程序说明书Word文档格式.docx_第1页
第1页 / 共16页
新代数控车床宏程序说明书Word文档格式.docx_第2页
第2页 / 共16页
新代数控车床宏程序说明书Word文档格式.docx_第3页
第3页 / 共16页
新代数控车床宏程序说明书Word文档格式.docx_第4页
第4页 / 共16页
新代数控车床宏程序说明书Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

新代数控车床宏程序说明书Word文档格式.docx

《新代数控车床宏程序说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《新代数控车床宏程序说明书Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

新代数控车床宏程序说明书Word文档格式.docx

M99;

例二:

ISO格式文档

%这是标题行,可当作档案用途说明,此行可有可无

G00Z100.;

G00X0;

G00Z0;

三.用户宏程序的编写如前所述,变量是指可以在用户宏程序中的地址码后代替具体数值,在调用宏程序时进行赋值的符号#i(i二1,2,3,…)。

使用变量可以使用户宏程序具有通用性。

用户宏程序中可以使用多个变量,以变量编号进行识别。

1、变量的形式

变量是用符号#或@后面加上变量编号所构成的,即:

#i(i二1,2,3,…)

例如:

#5

#109

#1005

也可用#[v表达式〉]的形式来表示。

#[#100]

#[#1001-1]

#[#6/2]

其实,通过用符号@后面加上变量编号也可构成的变量,即:

@i(i二1,2,3,…)

@5

@[@5]

但一般地,由符号@后面加上变量编号构成的变量称为全局变量,不提倡在用户

宏程序中使用,具体见后面的介绍。

2、变量的引用在地址符后的数值可以用变量置换。

若写成F#33,则当#33=1.5时,与F1.5相同。

若写成Z—#18,则当#18=20.0时,与Z—20.0相同。

但需要注意,作为地址符的ON、/等,不能引用变量。

例如,O#27N#1等,都是错误的。

3、未定义变量尚未被定义的变量,被称为空(VACAN)T。

变量#0,@0始终为空,经常被用作空变量使用。

3.变量赋值和引数赋值

变量赋值:

用户宏程序中变量赋值使用赋值运算符“:

=”,不可仅用“=”符号因为在本系统中符号“=”是被规定为关系运算符,用来比较是否相等的。

例如#30:

=100,会将变量#30赋值为整数100;

而#30=100,将不能为变量#30赋值,实际上是比较变量#30是否与整数100相等。

四.变量运算及变量表达式

1.用户宏运算符

要对变量进行各种运算操作就要用到运算符,它是“能对变量所存数据进行运算的符号”。

本系统的运算符及其优先级如表3-2所示。

表3-2运算符及其优先级

运算名

符号

优先级

括号

(),[]

1

函数调用运算

<函数名>(<参数列表>)

2

取负

-

3

求补运算

NOT

乘法运算

*

4

除法运算

/

模运算/求余运算

MOD

加法运算

+

5

减法运算

关系运算

<,>,<=,>=

6

相等运算

=

7

不等运算

<

>

8

布尔逻辑/按位与

&

AND

9

布尔逻辑/按位异或

XOR

10

布尔逻辑/按位或

OR

11

2、基本算数运算符

⑴+(加法运算符,如3+5,#12+4)

⑵-(减法运算符,或取负运算符,如#33-16,-#16)

(3)*(乘法运算符,如9*2,#13*8)

⑷/(除法运算符,如10/3,#43/15)

(5)M0D(模运算符,或称求余运算符,其两侧均应为整型数据,如7M0D4的

值为3,当#18=20时#18MOD4的值为2)

3、算术表达式和运算符优先级

用算术运算符和括号将运算对象连接起来的、符合语法规则的式子称为算术表达式,运算对象可以是常数、变量、函数等。

#6*8/#32-1.5+#18+ROUND(#1)

这就是一个算术运算式,它可以作为一个整体赋值给某个变量,或用作其他表达式中的一个运算对象。

本系统按表表3-2规定了运算符的优先级和结合性。

在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。

如表达式#12-#41*5的左侧为

减,右侧为乘号,而乘号优先于减号,因此,相当于#12-(#41*5)。

如果在一个运算对象两侧的运算符的优先级别相同,如#2-5+#23,则按规定的结合性(结合方向)处理,算术运算符的结合方向为“自左至右”,即先左后右。

因此5先与减号结合,执行#2-5的运算,再执行加#23的运算。

这样“自左至右的结合方向”又称为“左结合性”,即运算对象先与左面的运算符结合;

对应地,也有“右结合性”的运算符,例如赋值运算符“:

=”就是。

4、关系运算符和关系表达式

关系运算符是逻辑运算中比较简单的一种。

所谓“关系运算”实际上就是“比较运算”。

将两个值进行比较,判断比较的结果是否符合给定的条件。

例如,#3>

10是一个关系表达式,大于号(>

)是一个关系运算符,如果#3=12,则满足给定的“#3>

10”条件,因此关系表达式的值为“真”(即“条件满足”);

如果#3=6,不满足“#3>

10”条件,贝U称关系表达式的值为“假”。

优先级(较高)}优先级(低)

1、前4种关系运算符(v,v=,>

,>

=)的优先级别相同,它们却高于关系运算符“=”,而“二”又高于“<

2、关系运算符的优先级低于算术运算符。

3、关系运算符的优先级高于赋值运算符。

用两个关系运算符将两个表达式连接起来的式子,称为关系表达式。

#6>

36,#13+4<

#23

关系表达式的值是一个逻辑值,即“真”或“假”。

例如,若#12为8,则关系表达式“#12=10”的值为“假”,“#12>

=6'

的值为“真”。

5、逻辑运算和逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式。

本系统提供6种逻辑运算符和逻辑运算

(1)&

,AND逻辑与

(2)XOR逻辑或

(3)OR逻辑异或

它们都是“双目(元)运算符”,它要求有两个运算量(操作数),逻辑运算举例如下:

#1AND#2若#1、#2为真,贝U#1AND#2为真。

#1OR#2若#1、#2之一为真,则#1XOR#2为真。

(高)

(低)

算术运算符关系运算符逻辑运算符赋值运算符

图3-1

五.用户宏程序的流程控制

所谓程序的流程(FlowControl)是通过控制程序的执行方向,进而掌握程序动态。

这用户宏程序区别于一般数控程序的特征之一,也是用户选择用户宏程序编写数控代码的一大理由。

用户宏程序的流程控制包括无条件判断、循环控制、无条件转移三大类,这与其他的高级语言程序类似,下面将分别介绍其功能和使用语法。

1、条件判断

判断条件的真假,然后根据真假或者对应情况到指定的地方去执行程序,这方面的语句有IF和CASE语句。

1、IF条件语句

1)基本语法:

IF<条件表达式>THENh<操作>—ELSEIF<条件表达式>THENh<操作>—ELSE—<操作八end」f

说明:

IF条件判断,根据真假情况到指定的地方去执行程序。

%@MACRO//启动MACR语法

#1:

=3.0;

G01X20.Z15.F200;

IF#1=1THEN;

X(1.0*1);

Z(1.0*1);

ELSEIF#1=2THEN;

X(1.0*2);

Z(1.0*2);

ELSEIF#1=3THEN;

X(1.0*3);

Z(1.0*3);

ELSEX(1.0*4);

Z(1.0*4);

END」F;

X(1.0)Z(1.0);

M30;

然而在实际使用中,可以有以下一些变形:

2)变形1

语法:

IF<条件表达式>THEh<操作>—ELSh<操作>—END」F

3)变形2语法:

IF<条件表达式>THENh<操作>—END」F编程时可根据需要选择合适的语法格式。

2、循环控制

1、REPEAT!

到型循环语法:

REPEAT

<循环体>

UNTIL<条件表达式>END_REPEA;

T说明:

REPEAT^到型循环控制,先执行循环体,后判断条件表达式,当条件满足时退出循环。

#10:

=30.;

#11:

=22.5.;

#12:

=#10/2;

#13:

=#11/2;

#14:

=2.0;

#15:

=1.5;

G01X#12Z#13F200.0;

G00X倂12+#14)Z倂13+#15);

G01X倂12+#14)Z倂13-#15);

X(#12-#14)Z倂13-#15);

X(#12-#14)Z倂13+#15);

X(#12+#14)Z倂13+#15);

=#14+2.0;

=#15+1.5;

UNTIL(#14>#12)OR(#15>#13)END_REPEAT;

3.WHILE当型循环

WHILE条件表达式>DS<循环体>hEND_WHILE

WHILE当型循环控制,先判断条件表达式,当条件满足时执行循环体,

否则退出循环。

例如:

%@MACRO;

=20.;

=15.;

WHILE(#14<

=#12)AND(#15<

=#13)DO

G00X(#12+#14)Z(#13+#15);

G01X(#12+#14)Z(#13-#15);

X(#12-#14)Z(#13-#15);

IF#14>

6.0THEN

EXIT;

X(#12-#14)Z(#13+#15);

X(#12+#14)Z(#13+#15);

END_WHILE;

X(-5.0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1