I 背景:

在实际生产中,当生产批量较大时,往往会要求在每个工件上刻写当天的加工日期,由于日期每天都是变化的,如果每天都更改加工程序,会给编程者带来较大的工作量,且增加出错的风险,基于此,本文提供一个年月日的自动刻字加工样例,供工程师参考!

 

II 适用系统:

808,828铣床版系统

 

III 程序解释:

1、本文程序,必须正确设置以下6个R变量,才能使用

R25=60                  ;Z轴进刀速度

R26=600                ;加工速度

R27=-0.1                ;刻字深度

R29=6.0                 ;字间距

R30=100                ;第一个数字,基于当前生效坐标系的X轴偏移位置

R31=100                ;第一个数字,基于当前生效坐标系的Y轴偏移位置

 

2、读取系统的年//日,并拆分成单个数字

R40=TRUNC($A_YEAR/10)       ;使用TURNC取整指令,计算年的十位数字

R41=$A_YEAR MOD 10             ;使用MOD取余数指令,计算年的个位数字

R42=TRUNC($A_MONTH/10)   ;使用TURNC取整指令,计算月的十位数字

R43=$A_MONTH MOD 10          ;使用MOD取余数指令,计算月的个位数字

R44=TRUNC($A_DAY/10)          ;使用TURNC取整指令,计算日的十位数字

R45=$A_DAY MOD 10                ;使用MOD取余数指令,计算日的个位数字

 

3、排列每个数字的位置并执行对应的子程序

TRANS X=R30Y=R31Z=R27       ;使用TRANS绝对位置偏移指令,确定年十位数字的位置

R28=R40                                         ;将年十位数字赋值给R28

REPEAT SS1 SS2                           ;调用标记SS1到标记SS2之间的子程序

ATRANS X=R29                            ;使用ATRANS增量位置偏移指令,确定年个位数字的位置

R28=R41                                         ;将年个位数字赋值给R28

REPEAT SS1 SS2                           ;调用标记SS1到标记SS2之间的子程序

. . .

. . .                                                    ;其它数字按以上格式编写

. . .

TRANS                                            ;取消TRANS偏移指令

G74Z0.                                             ;Z轴回零

M30                                                  ;程序结束

 


4、根据R28的值,调用对应的刻字程序。需注意,以下程序必须写在M30之后

SS1:                                     ;子程序起点标记

IF R28==0                           ;如果R28等于0

REPEAT SS_0 SS_00         ;调用标记SS_0到标记SS_00之间的子程序

ENDIF                                 ;结束IF指令

IF R28==1                           ;如果R28等于1

REPEAT SS_1 SS_11         ;调用标记SS_1到标记SS_11之间的子程序

ENDIF                                 ;结束IF指令

. . .

. . .                                         ;其它数字按以上格式编写

. . .

IF R28==10                          ;如果R28等于10

REPEAT SS_L SS_LL         ;调用标记SS_L到标记SS_LL之间的子程序

ENDIF                                  ;结束IF指令

SS2:                                      ;子程序终点标记

 

5、“0~9”及“/”子程序。本文提供的刻字程序为字高5毫米的单线体,在实际使用中,如有其它要求,直接更改0~9的刻字子程序即可

SS_1:                                ;子程序起点标记

G0 G90 X0. Y4.286

Z5.

Z.5

G1 Z0. F=R25

X.714 Y5. F=R26            ;数字“1”的子程序

Y0.

G0 Z3.

X0.

Z.5

G1 Z0. F=R25

X.714 F=R26

X1.429

G0 Z5.

SS_11:                              ;子程序终点标记

. . .

. . .                                     ;其它数字程序按以上格式编写,注意起点和终点标记的规则

. . .

SS_L:                               ;子程序起点标记

G0 G90 X0. Y0.

Z5.

Z.5

G1 Z0. F=R25                  ;“/”的子程序

X2.489 Y4.936 F=R26

G0 Z5.

SS_LL:                             ;子程序终点标记

 

6、以下附件提供了完整的加工程序,在实际使用中,建议将该程序作为子程序直接调用

 

date11.zip