文章:秒懂宏程序(三)

所有者:TerryWang(呢称); 发布时间:2020-12-20 02:38:18; 更新时间:2020-12-26 09:53:08

阅读所需积分:0; 

简介: 1周前宏程序调用G65 螺旋铣孔演示宏程序调用(G65)不同于子程序调用( M98),如下所述。·用G65,可以指定自变量(数据传送到宏程序)。M98 没有该功能。·当M98 程序段包含另一个NC 指令(例如,G01 X100.0 M98 Pp)时,在指令执行之后调用子程序。相反,G65 无条件地调用宏程序。·用G65,改变局部变量的级别。用M98,不改变



宏程序调用G65 螺旋铣孔演示


宏程序调用(G65)不同于子程序调用( M98),


如下所述。·用G65,可以指定自变量(数据传送到宏程序)。


M98 没有该功能。


·当M98 程序段包含另一个NC 指令(例如,G01 X100.0 M98 Pp)时,在指令执行之后调用子程序。相反,G65 无条件地调用宏程序。


·用G65,改变局部变量的级别。用M98,不改变局部变量的级别。


非模态调用(G65)当指定G65 时,以地址P 指定的用户宏程序被调用。数据(自变量)能传递到用户宏程序体中。

说明调用·在G65 之后,用地址P 指定用户宏程序的程序号。

·当要求重复时,在地址L 后指定从1 到9999 的重复次数。省略L 值时,认为L 等于1。

·使用自变量指定,其值被赋值到相应的局部变量。自变量指定可用两种形式的自变量指定。自变量指定Ⅰ使用除了G,L,O,N 和P以外的字母,每个字母指定一次。自变量指定Ⅱ使用A,B,C 和Ii,Ji和Ki(i 为1~10)。根据使用的字母,自动决定自变量指定的类型。

·地址G,L,N,Ο和P 不能在自变量中使用。

·不需要指定的地址可以省略,对应于省略地址的局部变量为空。

·地址不需要按字母顺序指定。但应符合字地址的格式。I,J 和K 需要按字母顺序指定。

例:B_A_D_…J_K_正确B_A_D_…J_I_不正确自变量指定Ⅱ自变量指定Ⅱ使用A,B 和C 各1 次,I,J,K 各10 次。自变量指定Ⅱ用于传递诸如三维坐标值。32


示例程序(螺旋铣孔)

1、P  宏程序编号

2、X 孔X坐标(#24)

3、Y 孔Y坐标(#25)

4、Z 孔深度 (#26)

5、D 孔直径(#7)

6、T 刀具直径(#20)

7、R 铣孔安全平面(#18)

8、Q 铣孔轴向每次递增量(#17)

9、U 退刀高度(必须大于等于2,否则程序报警)(#21

10、S 转速(#19)

11、F 进给(#7}


%

0001;

G65 P110 X-120. Y60. Z-80. D28. T10.  R0.5 Q1.  U10.  S9000 F1500.


G65 P110 X20. Y10. Z-30. D16. T10.  R0.5 Q1.  U10.  S9000 F1500.


G65 P110 X150. Y-40. Z-30. D15. T10.  R0.5 Q1.  U10.  S9000 F1500.


G65 P110 X-30. Y-40. Z-40. D22 T10.  R0.5 Q1.  U10.  S9000 F1500.

%


%

O110        

#31=FIX[#26/#17]

#32=#26-#31*#17

#33=[#7-#20]/2.




G90G00 X[#24] Y[#25] M03 S[#19]

G91 X[#33]

G90 Z[#18+#17]

G01 Z[#18] F[#9]


WHILE [#18 GT #26] DO1

#18=#18-#17

G02 I-#33 J0. Z[#18] F[#9]

IF [[#18+#32] EQ #26] GOTO100

END1


N100

IF [#32NE0.] GOTO110

IF [#32EQ0.] GOTO120


N110

G02 I-[#33] J0. Z[#26] F[#9]


N120

G02 I-[#33] J0. F[#9]

G04 P0.2

G02 I-[#33] J0. F[#9/2.]


G03 X[#24] Y[#25] I-[#33/2.] F[#9*2.]

G00 Z[#21]          

M99


数控e家

https://mp.weixin.qq.com/s/0f2tUbJaJGTTlylgE6vs9w