| 如何使加工中心这种高效自动化机床更好地发挥效益,其关键之一,就是开发和提高数控系统的使用性能。B类宏程序的应用,是提高数控系统使用性能的有效途径。B类宏程序与A类宏程序有许多相似之处,因而,下面就在A类宏程序的基础上,介绍B类宏程序的应用。 宏程序的定义 宏程序:由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。宏程序的代号称为宏指令。 宏程序的特点:宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。
基本指令 1.宏程序的简单调用格式 宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。 调用指令格式 G65 P(宏程序号) L(重复次数)(变量分配) 其中:G65――宏程序调用指令 P(宏程序号)――被调用的宏程序代号; L(重复次数)――宏程序重复运行的次数,重复次数为1时,可省略不写; (变量分配)――为宏程序中使用的变量赋值。 宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。 2.宏程序的编写格式 宏程序的编写格式与子程序相同。其格式为: 0 ~(0001~8999为宏程序号) N10 指令 . . . N~ M99 上述宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其它控制指令。变量值在宏程序调用指令中赋给。 3.变量 (1)变量的分配类型I 这类变量中的文字变量与数字序号变量之间有如下确定的关系: | A #1 | I #4 | T #20 | | B #2 | J #5 | U #21 | | C #3 | K #6 | V #22 | | D #7 | M #13 | W #23 | | E #8 | Q #17 | X #24 | | F #9 | R #18 | Y #25 | | H #11 | S #19 | Z #26 |
上表中,文字变量为除G、L、N、O、P以外的英文字母,一般可不按字母顺序排列,但I、J、K例外;#1~#26为数字序号变量。 例:G65 P1000 A1.0 B2.0 I3.0 则上述程序段为宏程序的简单调用格式,其含义为:调用宏程序号为1000的宏程序运行一次,并为宏程序中的变量赋值,其中:#1为1.0,#2为2.0,#4为3.0。 (2)变量的级别 1)本级变量#1~#33 作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。 2)通用变量#100~#144,#500~#531 可在各级宏程序中被共同使用的变量称为通用变量,即这一变量在不同程序级中调用时含义相同。因此,一个宏程序中经计算得到的一个通用变量的数值,可以被另一个宏程序应用。 4.算术运算指令 变量之间进行运算的通常表达形式是:#i =(表达式) (1)变量的定义和替换 #i =#j (2)加减运算 #i =#j + #k 加 #i =#j - #k 减 (3)乘除运算 #i =#j ╳ #k 乘 #i =#j ╱ #k 除 (4)函数运算 #i =SIN [#j ] 正弦函数(单位为度) #i =COS [#j ] 余函数(单位为度) #i =TANN [#j ] 正切函数(单位为度) #i =ATANN [#j ] ╱ #k 反正切函数(单位为度) #i =SQRT [#j ] 平方根 #i =ABS [#j ] 取绝对值 (5)运算的组合 以上算术运算和函数运算可以结合在一起使用,运算的先后顺序是:函数运算、乘除运算、加减运算。 (6)括号的应用 表达式中括号的运算将优先进行。连同函数中使用的括号在内,括号在表达式中最多可用5层。 5.控制指令 (1)条件转移 程序格式 IF [条件表达式] GOTO n 以上程序段含义为: 1)如果条件表达式的条件得以满足,则转而执行程序中程序号为n的相应操作,程序段号n可以由变量或表达式替代; 2)如果表达式中条件未满足,则顺序执行下一段程序; 3)如果程序作无条件转移,则条件部分可以被省略。 4)表达式可按如下书写: #j EQ #k 表示= #j NE #k 表示≠ #j GT #k 表示> #j LT #k 表示< #j GE #k 表示≥ #j LE #k 表示≤ (2)重复执行 程序格式 WHILE [条件表达式] DO m (m = 1,2,3) . . . END m 上述"WHILE…END m"程序含意为: 1)条件表达式满足时,程序段DO m至 END m即重复执行; 2)条件表达式不满足时,程序转到END m后处执行; 3)如果WHILE [条件表达式]部份被省略,则程序段DO m至 END m之间的部份将一直重复执行。 注意: 1) WHILE DO m和 END m必须成对使用; 2)DO语句允许有3层嵌套,即: DO 1 DO 2 DO 3 END 3 END 2 END 1 3)DO语句范围不允许交叉,即如下语句是错误的: DO 1 DO 2 END 1 END 2 以上仅介绍了B类宏程序应用的基本问题,有关应用详细说明,请查阅FANUC-0i系统说明书。 |