新代数控车床宏程序说明

内容发布更新时间 : 2025/4/24 23:52:30星期一 下面是文章的全部内容请认真阅读。

一.用户宏程序的基本概念

用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。 在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。

用户宏有以下四个主要特征:

1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式; 2)能够进行变量之间的各种运算; 3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参;

4)容易实现程序流程的控制。

使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。

二. 基本书写格式

数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO语法。而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。“@MACRO”关键词必须是大写字母。

对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。 例一:MACRO格式文档 % @MACRO //用户宏程序文档,必须包含“@MACRO”关键词

IF @1 = 1 THEN

G00 X100.; ELSE G00 Z100.;

END_IF; M99;

例二:ISO格式文档 % 这是标题行,可当作档案用途说明,此行可有可无 G00 X100.; G00 Z100.; G00 X0; G00 Z0;

M99;

三. 用户宏程序的编写

如前所述,变量是指可以在用户宏程序中的地址码后代替具体数值,在调用宏程序时进行赋值的符号#i (i=1,2,3,…)。使用变量可以使用户宏程序具有通用性。用户宏程序中可以使用多个变量,以变量编号进行识别。

1、 变量的形式

变量是用符号#或@后面加上变量编号所构成的,即: #i(i=1,2,3,…) 例如:#5 #109 #1005

也可用#[<表达式>]的形式来表示。 例如:#[#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相同。 但需要注意,作为地址符的O、N、/等,不能引用变量。 例如,O#27、N#1等,都是错误的。 3、未定义变量

尚未被定义的变量,被称为空(VACANT)。

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

3.变量赋值和引数赋值

变量赋值:用户宏程序中变量赋值使用赋值运算符“:=”,不可仅用“=”符号。因为在本系统中符号“=” 是被规定为关系运算符,用来比较是否相等的。 例如#30:=100,会将变量#30赋值为整数100;而#30=100,将不能为变量#30赋值,实际上是比较变量#30是否与整数100相等。

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi