足球比分直播

新代数控车床宏程序说明.doc

返回
新代数控车床宏程序说明.doc_第1页
第1页 / 共15页
新代数控车床宏程序说明.doc_第2页
第2页 / 共15页
新代数控车床宏程序说明.doc_第3页
第3页 / 共15页
新代数控车床宏程序说明.doc_第4页
第4页 / 共15页
新代数控车床宏程序说明.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述:
第 1 页一.用户宏程序的基本概念用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。在这里,所存储的一组指令叫做宏程序体或用户宏程序,简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。用户宏有以下四个主要特征1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式;2)能够进行变量之间的各种运算;3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参;4)容易实现程序流程的控制。使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。二. 基本书写格式数控程序文档中,一般以“”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“MACRO”时整个文档就会以系统所定义的 MACRO 语法处理。如果该行无“MACRO”关键词此档案就会被视为一般 ISO 程序文档格式处理,此时将不能编写用户宏和使用其 MACRO 语法。而当书写 ISO 程序文档时标题行一般可以省略,直接书写数控程序。“MACRO”关键词必须是大写字母。对于程序的注释可以采用“//”的形式,这和高级语言 C一样。例一MACRO 格式文档 MACRO //用户宏程序文档,必须包含“MACRO”关键词IF 1 1 THENG00 X100.;ELSEG00 Z100.;END_IF;M99;例二ISO 格式文档 这是标题行,可当作档案用途说明,此行可有可无G00 X100.;G00 Z100.;G00 X0;G00 Z0;M99;第 3 页三. 用户宏程序的编写如前所述,变量是指可以在用户宏程序中的地址码后代替具体数值,在调用宏程序时进行赋值的符号#i i=1,2,3,。使用变量可以使用户宏程序具有通用性。用户宏程序中可以使用多个变量,以变量编号进行识别。1、变量的形式变量是用符号#或后面加上变量编号所构成的,即#ii=1,2,3,例如#5#109#1005也可用#[<表达式>] 的形式来表示。例如#[100]#[1001-1]#[6/2]其实,通过用符号后面加上变量编号也可构成的变量,即 ii=1,2,3,例如5 [5]但一般地,由符号后面加上变量编号构成的变量称为全局变量,不提倡在用户宏程序中使用,具体见后面的介绍。2、变量的引用在地址符后的数值可以用变量置换。例如若写成 F33,则当#33=1.5 时,与 F1.5 相同。若写成 Z-18,则当#18=20.0 时,与 Z-20.0 相同。但需要注意,作为地址符的 O、N、/等,不能引用变量。例如,O27、N1 等,都是错误的。3、未定义变量尚未被定义的变量,被称为空(VACANT)。变量#0,0 始终为空,经常被用作空变量使用。3.变量赋值和引数赋值变量赋值用户宏程序中变量赋值使用赋值运算符“”,不可仅用“”符号。因为在本系统中符号“” 是被规定为关系运算符,用来比较是否相等的。例如30100,会将变量30 赋值为整数 100;而30100,将不能为变量30赋值,实际上是比较变量30 是否与整数 100 相等。四.变量运算及变量表达式1.用户宏运算符要对变量进行各种运算操作就要用到运算符,它是“能对变量所存数据进行运算的符号”。本系统的运算符及其优先级如表 3-2 所示。表 3-2 运算符及其优先级运算名 符号 优先级括号 ,[ ] 1函数调用运算 2取负 - 3求补运算 NOT 3乘法运算 * 4除法运算 / 4模运算/求余运算 MOD 4加法运算 5减法运算 - 5关系运算 , 6相等运算 7不等运算 12 OR 15 13 END_REPEAT;X1.0 Z1.0;M30;3.WHILE 当型循环语法WHILE DO→→END_WHILE;说明WHILE 当型循环控制,先判断条件表达式,当条件满足时执行循环体,否则退出循环。例如 MACRO;10 20.;11 15.;12 10/2;13 11/2;14 2.0;15 1.5;G01 X12 Z13 F200.0;WHILE 14 6.0 THENEXIT;END_IF;X12-14 Z1315;X1214 Z1315;14 14 2.0;15 15 1.5;END_WHILE;X-5.0 Z5.0;M02;4.FOR 循环语法FOR TO [ BY ] DOEND_FOR;说明FOR 循环控制,式中各参数意义如下循环变量控制循环次数的变量;表达式 1循环计数的起始值,可为整数或表达式;表达式 2循环计数的终止值,可为整数或表达式;表达式 3循环计数每次的累加值,可为整数或表达式;循环体 循环每次执行内容;FOR 循环执行过程为先给循环变量赋起始值,然后判断循环变量是否为终止值,当循环变量已为终止值时退出循环,否则执行循环体,再对循环变量加上每次累加值,5、无条件转移GOTO 转移语句语法GOTO n;说明无条件地跳到指定的 n 行号执行,其中 n 可为整数或表达式。GOTO 常和 IF 语句搭配使用,那就是说当程序检查到某个条件满足时用 GOTO 语句去进一步处理,但应尽量少用该语句以提高程序可读性。范例 MACRO // 启动 MACRO 语法IF 1 2 THEN GOTO 100;G01 X10. Z10.;N100 G01 X30. Z30.;M02;EXIT 循环中断语句语法EXIT;说明循环中断,跳离循环控制;用在循环控制中,通常 EXIT 都和 IF 语句搭配使用,当某个条件满足后就跳离循环。请参考 WHILE 范例。六. 库函数1、ABS调用方法ABS函数描述求一个数的绝对值范例1 ABS-2.3; // 1 的结果是 2.3[注]此处函数内 “参数”既可为实际数值,也可为变量或表达式,以下若无特殊说明均按此处理。2、SIN调用方法SIN 函数描述求一个数的正弦值范例1 SIN10;3、ASIN调用方法ASIN 函数描述求一个数的反正弦值范例 1 ASIN10;4、MAX调用方法MAX函数描述求两个数的最大值范例 11 MAX10,20; // 1 等于 20范例 21 MAX2,3;5、SQRT调用方法SQRT 函数描述求一个数的平方根值范例 12 SQRT3; // 2 等于 1.732范例 216 SQRT10;6、SIGN调用方法SIGN 函数描述返回一个数的符号,-1 表示该数是负数,1 表示该数是正数,0 表示该数是零。范例IF SIGN10 0 THENEND_IF;5、 CEIL调用方法CEIL函数描述返回比一个数大或与其相等的最小整数范例 12 CEIL2.3; // 2 等于 3范例 22 CEIL10;7、ROUND调用方法ROUND 函数描述四舍五入化整,范例 12 ROUND2.3; // 2 等于 2范例 22 ROUND10;
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播