数控宏程序实例

  • 格式:doc
  • 大小:157.00 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章宏程序

7.3 宏程序调用

7.3.1 宏程序调用指令(G65)

在主程序中可以用G65调用宏程序。指令格式如下:

G65 P L 〈自变量赋值〉;

其中:P指定宏程序号:L为重复调用次数(1—9999);自变量赋值是由地址和数值构成的,用以对宏程序中的局部变量赋值。

例如:

主程序:

O7002

...

G65 P7100 L2 A1.0 B2.0

...

M30

宏程序:

#3=#1+#2;

IF [#3 GT 360] GOTO 9;

G00 G91 X#3

N9 M99

7.3.2 自变量赋值

自变量赋值有两种类型。自变量I使用除去G,L,N,O,P以外的其他字母作为地址,自变量II可以使用A,B,C每个字母一次,I,J,K每个字母可使用十次作为地址。表7—3和7—4分别为两种类型自变量赋值的地址和变量号码之间的对应关系:

表7—3 自变量赋值的地址和变量号码之间的对应关系

时使用表4—1及表4—2中的两组自变量赋予值。系统可以根据使用的字母自动判断自变量赋值的类型。

7.4 变量的控制和运算指令

7.4.1 算术运算和逻辑运算

在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

运算的优先顺序如下:

1)函数。

2)乘除,逻辑与。

3)加减,逻辑或,逻辑异或。

可以用[ ]来改变顺序

7.4.2 控制指令

1.无条件转移(GOTO语句)

语句格式为:

GOTO n

其中n为顺序号(1—9999),可用变量表示。例如:

GOTO 1;

GOTO #10;

2. 条件转移(IF 语句)

语句格式为:

IF [条件式] GOTO n

条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。

条件式有以下几类:

# j EQ # K

# j NE # K

# j GT # K

# j LT # K

# j GE # K

# j LE # K

条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。下面的程序可以得到1到10的和:

O7100

#1=0

#2=1

N1 IF [#2 GT 10] GOTO 2

#1=#1+#2

#2=#2+1

GOTO 1

N2 M30

3循环语句(WHILE 语句)

语句格式为:

WHILE [条件式] DO m (m=1,2,3)

END m

当条件语句成立时,程序执行从DO m到END m之间的程序段;如果条件不成立,则执行

END m 之后的程序段。DO 和END 后的数字是用于表明循环执行范围的识别号。可以使用数字1,2和3,如果是其他数字,系统会产生报警。DO —END 循环能够按需执行多次。如下例所示:

WHILE [] DO 1WHILE [] DO 2WHILE [] DO 2 ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪ ⎪ ⎪⎝⎭条件式...条件式...条件式...END 3...END 2...END 1

上面的O7100程序也可以用WHILE 语句编制如下: O7200 #1=0 #2=1

WHILE [#2 LE 10] DO 1 #1=#1+#2 #2=#2+1 END 1 M30

7.5 宏程序应用实例

【例7-1】:切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜主台与圆台相切,圆台在方台之上,如图7-2所示。

程序说明

%8101

#10=10.0圆台阶高度

#11=10.0方台阶高度

#12=124.0圆外定点的X坐标值

#13=124.0圆外定点的Y坐标值

#701=13.0刀具半径补偿值(偏大,粗加工)

#702=10.2刀具半径补偿值(偏中,半精加工)

#703=10.0刀具半径补偿值(实际,精加工)

N01 G92 X0.0 Y0.0 Z0.0

N02 G28 Z10 T02 M06自动回参考点换刀

N03 G29 Z0 S1000 M03单段走完此段,手动移刀到圆台面中心上N04 G92 X0.0 Y0.0 Z0.0

N05 G00 Z10.0

#0=0

N06 G00 [X-#12] Y[-#13]快速定位到圆外(-#12,-#13)

N07 G01 Z[-#10] F300Z向进刀-#10mm

WHILE #0 LT 3加工圆台

完成右刀补,准备切削

N[08+#0*6] G01 G42 X[-#12/2] Y[175/2]

F280.0 D[#0+1]

D[#0+1]D01=#701;D02=#702;D03=#703

N[09+#0*6] X[0] Y[-175/2]进到工件的切入点

N[10+#0*6] G03 J[175/2]逆时针切削整圆

N[11+#0*6] G01X[#12/2] Y[-175/2]切出工件

N[12+#0*6] G40 X[#12] Y[-#13]取消刀补

N[13+#0*6] G00 X[-#12]

#0=#0+1

ENDW循环三次后结束

N100 G01 Z[-#10-#11] F300进给方向切削深度

#2=175/COS[55*PI/180]方台外定点的X坐标