前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用宏程序找正坐标?

如何用宏程序找正坐标?

作者头像
lrglu
发布2022-03-30 14:33:00
7260
发布2022-03-30 14:33:00
举报
文章被收录于专栏:数控编程社区

这是一个利用分中棒或寻边器自动找正工件坐标的程序,共有9种常用的取数模式,该程序拥有较好的程序架构及算法,有需求的朋友可以参考一下。

使用方法:

将程序修改好后,保证”单节跳跃“为关闭状态,将分中棒移动至工件左下角,启动程序后将“单节跳跃”“选择性停止”键开启,此时程序自动读取了坐标,将自动移动至正确的取数位置,当执行刀M1处机床会停止,此时就是手动操作的时候了,将分中棒摇正后后就可以打到自动运行启动程序了,如此循环即可,程序执行完后#601为工件X宽度尺寸,#602为工件Y长度尺寸,需求FANUC系统变量支持为#500-#999,如果不支持,需要修改系统保密参数,该程序谨为参考,没有完全读懂的情况下请不要拿到机床测试,否则,可能将对你或你的机床造成痛苦的当机,谢谢!

程序参考:

O140 #100=58(COORDINATE) 坐标号G54-G59 #1=350.(WIDTH) 工件宽度 #2=350.(LENGTH) 工件长度 #5=15.(Z-DEPTH) 分中棒或寻边器下刀深度 #6=0(0=X/2Y/2 1=X-Y- 2=X+Y- 3=X-Y+ 4=X+Y+ 5=X-Y/2 6=X+Y/2 7=X/2Y- 8=X/2Y+)

=0 四边分中

=1 X-方向Y-方向基准角取数

=2 X+方向Y-方向基准角取数

=3 X-方向Y+方向基准角取数

=4 X+方向Y+方向基准角取数

=5 X-方向基准角取数Y分中取数

=6 X+方向基准角取数Y分中取数

=7 X分中取数Y-方向基准角取数

=8 X分中取数Y+方向基准角取数

#7=150 (DATUM-X-LENGTH) X方向基准角取数据

#8=150 (DATUM-Y-LENGTH) Y方向基准角取数据

#9=0 (OFFSET-X-LENGTH) 分中棒或寻边器的X偏移数据

#10=-120. (OFFSET-Y-LENGTH) 分中棒或寻边器的Y偏移数据

M98P9142

M30

O9142

/#611=#5021

/#612=#5022

/#613=#5023

#11=5 (D)

#12=20 (A)

#13=200 (Z)

(********)

G80M5

M9

G69

G52X0Y0Z0

G91G28G0Z0

#14=15

IF[#6EQ0]GOTO1

#14=3

IF[#6EQ1]GOTO1

#14=10

IF[#6EQ2]GOTO1

#14=5

IF[#6EQ3]GOTO1

#14=12

IF[#6EQ4]GOTO1

#14=7

IF[#6EQ5]GOTO1

#14=14

IF[#6EQ6]GOTO1

#14=11

IF[#6EQ7]GOTO1

#14=13

IF[#6EQ8]GOTO1

GOTO3001

N1

#100=FIX[#100]

#15=1

WHILE[#15LE6]DO1

IF[#15+53EQ#100]GOTO2

#15=#15+1

END1

GOTO3002

N2

G90G53X[#611+#1/2]Y[#612+#2/2]

G90G53Z[#613+#13]

M0

N10

M3S500

IF[[#14AND1]EQ0]GOTO20

G90G53X[#611-#12]Y[#612+#2/2+#10]

G90G53Z[#613-#5]

#15=#5021

M1

(*MOVE X+*)

(*MOVE X+*)

IF[#5021LE#15]GOTO3003

#501=#5021

G90G53Z[#613+#13]

N20

IF[[#14AND2]EQ0]GOTO30

G90G53X[#611+#1/2+#9]Y[#612-#12]

G90G53Z[#613-#5]

#15=#5022

M1

(*MOVE Y+*)

(*MOVE Y+*)

IF[#5022LE#15]GOTO3003

#502=#5022

G90G53Z[#613+#13]

N30

IF[[#14AND4]EQ0]GOTO40

G90G53X[#611+#1/2+#9]Y[#612+#2+#12]

G90G53Z[#613-#5]

#15=#5022

M1

(*MOVE Y-*)

(*MOVE Y-*)

IF[#5022GE#15]GOTO3003

#503=#5022

G90G53Z[#613+#13]

N40

IF[[#14AND8]EQ0]GOTO50

G90G53X[#611+#1+#12]Y[#612+#2/2+#10]

G90G53Z[#613-#5]

#15=#5021

M1

(*MOVE X-*)

(*MOVE X-*)

IF[#5021GE#15]GOTO3003

#504=#5021

G90G53Z[#613+#13]

N50

#601=#0

#602=#0

GOTO[#6+100]

N100

#601=#504-#501-#11*2

#602=#503-#502-#11*2

#801=[#501+#504]/2

#802=[#502+#503]/2

GOTO200

N101

#801=#501+#11+#7

#802=#502+#11+#8

GOTO200

N102

#801=#504-#11-#7

#802=#502+#11+#8

GOTO200

N103

#801=#501+#11+#7

#802=#503-#11-#8

GOTO200

N104

#801=#504-#11-#7

#802=#503-#11-#8

GOTO200

N105

#602=#503-#502-#11*2

#801=#501+#11+#7

#802=[#502+#503]/2

GOTO200

N106

#602=#503-#502-#11*2

#801=#504-#11-#7

#802=[#502+#503]/2

GOTO200

N107

#601=#504-#501-#11*2

#801=[#501+#504]/2

#802=#502+#11+#8

GOTO200

N108

#601=#504-#501-#11*2

#801=[#501+#504]/2

#802=#503-#11-#8

GOTO200

N200

#[4141+#100*20]=#801

#[4142+#100*20]=#802

#128=1

M5

G91G28G0Z0

M99

N3001

#3000=1 (#6-MODE-ERROR)

N3002

#3000=2 (#100-ERROR)

N3003

#3000=3 (OPERATION-ERROR)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数控编程社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档