执行时间 程序执行GOTO分支语句时,要进行顺序号的搜索,所以反向执行的时间比正向执行的时间长。可以用WHILE语句减少处理时间。
在使用EQ或NE的条件表达式中,空值和零的使用结果不同。而含其它操作符的条件表达式将空值看作零。
未定义的变量
8.4宏调用
可以用下列方式调用宏程序: G65 简单调用 G66、G67 模调用 G码宏调用 M码宏调用 G码子程序调用 M码子程序调用 宏调用和子程序调用之间的区别:
☆ 用G65,可以指定一个自变量(传递给宏的数据),而M98没有这个功能。 ☆ 当M98段含有另一个NC语句时(如:G01 X100.0M98Pp),则执行命令之后调用子程序,而G65无条件调用一个宏。
☆ 当M98段含有另一个NC语句时(如:G01 X100.0M98Pp),在单段方式下机床停止,而使用G65时机床不停止。
☆ 用G65地方变量的级要改变,而M98不改变。
8.4.1 简单调用(G65)
功能 格式 其中: p l
O0001 : G65 P9010 L2 A1.0 B2.0; : M30;
O9010; #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99; 自变量分为两类。第一类可以使用除G、L、O、N、P之外的字母并且只能使用一次。第二类可以使用A、B、C(一次),也何以使用I、J、K(最多十次)。自变量使用的类别根据使用的字母自动确定。见下表。
要调用的程序号
重复的次数(缺省值为1,取值范围1~9999)
传递给宏的数。通过使用自变量表,值被分配给相应的地方变量。 如下列中#1=1.0,#2=2.0
G65被指定时,地址P所指定的用户宏被调用,数据(自变量)能传递到用户宏程序中。
G65 Pp Ll <自变量表>;
自变量
类别一: 地址 A B C D E F H 变量号 #1 #2 #3 #7 #8 #9 #11
地址 I J K M Q R S 变量号 #4 #5 #6 #13 #17 #18 #19
地址 T U V W X Y Z 变量号 #20 #21 #22 #23 #24 #25 #26 ☆ 地址G、L、N、O、P不能当作自变量使用。
☆ 不需要的地址可以省略,与省略的地址相应的地方变量被臵成空。 类别二: 地址 A B C I1 J1 K1 I2 J2 K2 I3 J3 注意:
☆ 在自变量之前一定要指定G65。 ☆ 如果将两类自变量混合使用, NC自己会辨别属于哪类, 最后指定的那一类优先。☆ 传递的不带小数点的自变量的单位与每个地址的最小输入增量一致,其值与机床的系统结构非常一致。为了程序的兼容性,建议使用带小数点的自变量。 ☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序4级。不包括子程序调用(M98)。地方变量可以嵌套0~4级。主程序的级数是0。用G65和G66每调用一次宏,地方变量的级数增加一次。上一级地方变量的值保存在NC 中。宏程序执行到M99时,控制返回到调用的程序。这时地方变量的级数减1,恢复宏调用时存储的地方变量值。
变量号 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11
地址 K3 I4 J4 K4 I5 J5 K5 I6 J6 K6 I7 变量号 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22
地址 J7 K7 I8 J8 K8 I9 J9 K9 I10 J10 K10 变量号 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 ☆ 在实际的程序中,I、J、K的下标不用写出来。
8.4.2、模调用(G66、G67)
功能 格式 其中: p l
要调用的程序号
重复的次数(缺省值为1,取值范围1~9999)
传递给宏的数。与G65调用一样,通过使用自变量表,值被分配给相应的地方变量。
O0001 : G66 P9010 L2 A1.0 B2.0; G00 G90 X100.0; Y200.0; X150.0 Y300.0; G67; : M30; 注意:
☆ 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序4级。不包括子程序调用(M98)。模调用期间可重复嵌套G66。 ☆ 在G66段,不能调用宏。 ☆ 在自变量前一定要指定G66。
☆ 在含有象M码这样与轴移动无关的段中不能调用宏。
☆ 地方变量(自变量)只能在G66段设定,每次模调用执行时不能设定。
O9010; :; G00 Z—#1; G01 Z-#2 F300; : : : : M99; 一旦指定了G66,那么在以后的含有轴移动命令的段执行之后,地址P所指定的宏被调用,直到发出G67命令,该方式被取消。 G66 Pp Ll <自变量表>;
自变量
8.4.3 G码调用宏
通过在下表所列出的参数中设定调用宏程序的G码号,就可以象用G65一样调用相
应的宏程序。G码号设定范围是1~255。重复次数l和自变量使用方法与G65一样。
程序号 O9010 O9011 O9012 O9013 O9014 O9015 O9016 O9017 O9018 O9019 参数号 220 221 222 223 224 225 226 227 228 229 注意:
在用G码调用的程序中,不能再用G码调用宏程序,在这样的程序中G码被看作是普通G码,在用M码和T码调用的子程序中也一样。
8.4.4、M码调用宏
通过在下表所列出的参数中设定调用宏程序的M码号,就可以象用G65一样调用相应的宏程序。M码号设定范围是1~255。重复次数l和自变量使用方法与G65一样。
程序号 O9020 O9021 O9022 O9023 O9024 O9025 O9026 O9027 O9028 O9029 注意:
☆ 调用宏程序的M码一定要在段首指定。
☆ 在用G码调用的宏或用M码和T码调用的子程序中,不能再用M码调用宏程序,在这样的宏或程序中M码被看作是普通M码。
参数号 230 231 232 233 234 235 236 237 238 239 8.4.5 M码调用子程序
通过在下表所列出的参数中设定调用宏程序的M码号,就可以象用M98调用子程序一样调用相应的宏程序。M码号设定范围是1~255。重复次数l使用方法与M98一样。不允许使用自变量。
程序号 O9001 O9002 O9003 注意:
宏程序中,已用来调用宏程序的 M码被看作是普通M码。在用G码调用的宏和用M码或T码调用的程序中,不能再用M码调用子程序,在这样的程序中M码被看作是普通M码。
参数号 240 241 242 8.4.6 T码调用子程序
将参数040的第5位臵1,当在加工程序中指定一个T码时,宏程序O9000就被调用。在加工程序中指定的T码存储在公共变量#149中。
在用G码调用的宏和用M码或T码调用的程序中,不能再用T码调用子程序,在这样的程序中T码被看作是普通T码。
8.5附加说明
① 用户宏程序与子程序相似,也能寄存和编辑。
② 可以在自动操作方式下指定宏调用。但在自动操作期间不能转换到MDI方式。也能在MDI操作B方式下应用宏调用。
③ 不能用顺序号搜索用户宏程序。
④ 即使当宏程序正在执行,也能以单段方式停止(除了含有宏调用命令、算术操作命令、控制命令的段外)。含有宏调用命令(G65、G66、G67)的段,在单段方式下不能停止。而将参数011的第5位臵1,含有算术操作命令、控制命令的段能停止。单段停止方式常用于测试用户宏程序。注意,在切削补偿方式C下,如果在宏语句处执行了单段停止,该语句被看作是与移动命令无关的段,这时补偿可能不正确。(严格地讲,这句被看作是移动命令为0的段)。
⑤“/”如果出现在算术表达式的中间,则被认为是除号。 ⑥ 将参数010的第4位臵1,可禁止对程序号为9000~9999的程序进行编辑和删除。同时按住RESET 和DELET键重新启动电源时,整个内存将被删除,包括宏程序。
⑦ 复位操作可使地方变量和公共变量#100~#199清成空值。但是,通过设臵参数040的第6第7位,可以避免这些参数的复位。系统变量#1000~#1133不受复位影响。
⑧ 象M98一样,不显示用作子程序调用的M码和T码。 ⑨ 在表达式中使用的常数取值范围是+0.0000001~+99999999和-99999999~-0.0000001,如果超出此范围,将发出003号报警。
机械加工手动编程知识.-加工中心手动编程入门



