数控机床关键点设置的开发与应用
2021-01-05马国艳
马国艳
(沈阳机床(集团)有限责任公司,辽宁 沈阳 110142)
本文基于西门子数控系统,以卧式加工中心的换刀点、换台点以及回转中心点的设置为例,系统地介绍数控机床上经常用到的关键点的设置与确认方法。首先详细阐述关键点的三种设置与运用方法;其次阐述如何将关键点的设置嫁接在人机界面上并分析三种关键点设置的优缺点;最后阐述如何确认机床各轴已经到达关键点位置。
1 关键点设置的方法
1.1 设置为固定点
把数控机床的关键点设置为机床各轴的固定点,可以通过在固定点返回数据中设置想要的位置,即把关键点的位置值设置在机床数据(MD30600$MA_FIX_POINT_POS[n])中,每个轴最多可以设置4个固定点。
固定点返回的实现有两种方式:G75编程方式和JOG点动方式。G75编程定位到固定点的方式,应用广泛,直接通过NC指令编程即可。JOG点动实现固定点定位的方式,需要PLC接口信号支撑,特殊场合时使用。
MD30600 $MA_FIX_POINT_POS:固定点位置设定MD30610 $MA_NUM_FIX_POINT_POS:固定点位置数量设定;
例如:将X轴(AX1)、Y轴(AX2)、Z轴(AX3)、SP轴(AX4)运行到固定机床轴位置(X= 151.65,Y=-17.36,Z= 0,SP=12.58),该固定位置作为换刀点。机床数据设置如下:
MD30600 $MA_FIX_POINT_POS[AX1,0] =151.65
MD30600 $MA_FIX_POINT[AX2,0]=-17.36
MD30600 $MA_FIX_POINT[AX3,0]=0
MD30600 $MA_FIX_POINT[AX4,0]=12.58
换刀程序“TOOL.SPF”编辑如下:
SUPA G75Z0
STOPRE
SPOS=12.5
SUPA G75X0Y0
1.2 关键点设置在NC/PLC接口数据中
关键点可以设置在NC/PLC接口数据14514 $MN_USER_DATA_FLOAT中,以换刀点的设置为例,如下所示:
MD14514 $MN_USER_DATA_FLOAT[0]=151.65
MD14514 $MN_USER_DATA_FLOAT[1]=-17.36
MD14514 $MN_USER_DATA_FLOAT[2]=0
MD14514 $MN_USER_DATA_FLOAT[3]=12.58
换刀程序“TOOL.SPF”编辑如下:
SUPA G1G90Z=$MN_USER_DATA_FLOAT[2] F20000
SPOS=$MN_USER_DATA_FLOAT[3]
STOPRE
SUPA G1G90X=$MN_USER_DATA_FLOAT[0] Y=$MN_USER_DATA_FLOAT[1] F20000
1.3 关键点存储在PLC数据中
可以将关键点的数据值存储在PLC数据中,首先在step7-300中编辑定义能够传递存储换刀点的变量,建立变量表DB116,如图1所示。
PLC程序编辑如下:
CALL FC 21
IN0:=TRUE
IN1:=B#16#3
IN2:=P#DB116.DBX0.0 DWORD 4
IN3:=0
IN4:=0
OUT0:=M5.0
OUT1:=MW6
SUPA G1G90Z=$A_DBR[8]F20000
SPOS=$A_DBR[12]
STOPRE
SUPA G1G90X=$A_DBR[0] Y=$A_DBR[4] F20000
DEF var1=(I///,"刀库换刀点:"/wr1///160,30,120/0,0,0,0//)
DEF var2=(R3///,"X轴",,"mm"/wr3//"$A_DBR[0]"/160,60,90/200,60,130)
DEF var3=(R3///,"Y轴",,"mm"/wr3//"$A_DBR[4]"/160,90,90/200,90,130)
DEF var4=(R3///,"Z轴",,"mm"/wr3//"$A_DBR[8]"/160,120,90/200,120,130)
DEF var5=(R3///,"主轴",,"度"/wr3//"$A_DBR[12]"/160,150,90/200,150,130)
Easyscreen程序编辑完成后,换刀点的界面就设置完成了,如图2所示。
1.4 总结
2 关键点位置的确认
2.1 软开关位置确认
这是一种利用数控系统的附加功能来确认机床各轴关键点位置是否到位的方法。软开关功能属于数控系统的选项功能,如果需开通,需要额外支付该项功能的费用。
激活软开关授权:6FC5800-0AM07-0YB0限制信号/凸轮控制器。
设置软开关对生效的轴号:
MD10450 SW_CAM_ASSIGN_TAB[n]
设置相应的正负向位置:
SD41500 SW_CAM_MINUS_POS_TAB_1[n] 设置软开关对1—8的负向位置
SD41501 SW_CAM_PLUS_POS_TAB_1[n] 设置软开关对1—8的正向位置
SD41502 SW_CAM_MINUS_POS_TAB_2[n] 设置软开关对9—16的负向位置
SD41503 SW_CAM_PLUS_POS_TAB_2[n] 设置软开关对9—16的正向位置
SD41504 SW_CAM_MINUS_POS_TAB_3[n] 设置软开关对17—24的负向位置
SD41505 SW_CAM_PLUS_POS_TAB_3[n] 设置软开关对17—24的正向位置
SD41506 SW_CAM_MINUS_POS_TAB_4[n] 设置软开关对25—32的负向位置
SD41507 SW_CAM_PLUS_POS_TAB_4[n] 设置软开关对25—32的正向位置
例如:一台卧式加工中心,有X、Y、Z、SP四个轴参与关键点的设置,当交换刀具时需要检测X轴、Y轴,Z轴和SP主轴的位置,偏差要求如下:
X轴 151.65 mm 误差±0.05 mm
Y轴 -17.36 mm 误差±0.05 mm
Z轴 0 mm 误差±0.05 mm
SP轴 12.58° 误差±0.05°
设置四个软开关对:
SD41500 SW_CAM_MINUS_POS_TAB_1[0]=151.7
SD41501 SW_CAM_PLUS_POS_TAB_1[0]=151.6
SD41500 SW_CAM_MINUS_POS_TAB_1[1]=-17.31
SD41501 SW_CAM_PLUS_POS_TAB_1[1]=-17.41
SD41500 SW_CAM_MINUS_POS_TAB_1[2]=0.05
SD41501 SW_CAM_PLUS_POS_TAB_1[2]=-0.05
SD41500 SW_CAM_MINUS_POS_TAB_1[3]=12.63
SD41501 SW_CAM_PLUS_POS_TAB_1[3]=12.53
把这四对软开关赋给相应的轴,X轴为1号轴,Y轴为2号轴,Z轴为3号轴,SP为4号轴:
MD10450 SW_CAM_ASSIGN_TAB[0]=1
MD10450 SW_CAM_ASSIGN_TAB[1]=2
MD10450 SW_CAM_ASSIGN_TAB[2]=3
MD10450 SW_CAM_ASSIGN_TAB[3]=4
在PLC里做如下处理:
SET
= DB31.DBX 2.0 ;激活各轴软开关功能
= DB32.DBX 2.0
= DB33.DBX 2.0
= DB34.DBX 2.0
LAR1 P#0.0
L 31
T #TEMP0
L 8
M007: T #TEMP1
OPN DB 20
A DBX [AR1,P#148.0]
JCN M006
OPN DB [#TEMP0]
A(
O DBX 60.4
O DBX 60.5
)
A DBX 61.4
OPN DB 10
A DBX [AR1,P#110.0]
A DBX [AR1,P#114.0]
OPN DB 110
= DBX [AR1,P#39.0]
M006: +AR1 P#0.1
L #TEMP0
L 1
+I
T #TEMP0
L #TEMP1
LOOP M007
L DB110.DBB 39
L DB20.DBB 148
==I
= DB110.DBX 23.1 ;机床各轴位置符合精度要求
2.2 PLC功能块读取位置
利用PLC功能块FB2读取机床当前位置,打开NCVAR软件,新建一个目录,读取轴当前位置的变量为SEMA部分中的measPos2变量(measPos2指的是编码器2的数值,measPos1读取的是编码器1的数值),双击建立各个轴的读取位置变量,如图3所示。
各轴位置变量建立完成后保存,并加载到Step7-300的源文件中,编辑FB2如下所示:
CALL FB2 , DB220
Req :=DB110.DBX7.2
NumVar :=5
Addr1 :="readpos".C1_SEMA_measPos21_6
Unit1 :=
Column1:=DB112.DBW32
Line1 :=W#16#1
Addr2 :="readpos".C1_SEMA_measPos22_6
Unit2 :=
Column2:=DB112.DBW34
Line2 :=W#16#2
Addr3 :="readpos".C1_SEMA_measPos23_6
Unit3 :=
Column3:=DB112.DBW36
Line3 :=W#16#3
Addr4 :="readpos".C1_SEMA_measPos14_5
Unit4 :=
Column4:=DB112.DBW38
Line4 :=W#16#4
Addr5 :="readpos".C1_SEMA_measPos25_6
Unit5 :=
Column5:=DB112.DBW40
Line5 :=W#16#5
Addr6 :="readpos".C1_SEMA_measPos25_6
Unit6 :=
Column6:=
Line6 :=
Addr7 :=
Unit7 :=
Column7:=
Line7 :=
Addr8 :=
Unit8 :=
Column8:=
Line8 :=
Error :=DB110.DBX7.0
NDR :=DB110.DBX7.1
State :=DB112.DBW20
RD1 :=DB113.DBD0;读取的各轴位置值
RD2 :=DB113.DBD4
RD3 :=DB113.DBD8
RD4 :=DB113.DBD12
RD5 :=DB113.DBD16
RD6 :=DB113.DBD20
RD7 :=
RD8 :=
编辑位置确认程序如下所示:
L DB20.DBD 200
L 5.000000e-002
+R
T DB113.DBD 84
L DB20.DBD 200
L 5.000000e-002
-R
T DB113.DBD 88
L DB20.DBD 204
L 5.000000e-002
+R
T DB113.DBD 92
L DB20.DBD 204
L 5.000000e-002
-R
T DB113.DBD 96
L DB20.DBD 208
L 5.000000e-002
+R
T DB113.DBD 100
L DB20.DBD 208
L 5.000000e-002
-R
T DB113.DBD 104
L DB20.DBD 212
L 5.000000e-001
+R
T DB113.DBD 108
L DB20.DBD 212
L 5.000000e-001
-R
T DB113.DBD 112
A(
L DB113.DBD 4
L DB113.DBD 92
<=R
)
A(
L DB113.DBD 4
L DB113.DBD 96
>=R
= DB110.DBX 39.1
A(
L DB113.DBD 8
L DB113.DBD 100
<=R
)
A(
L DB113.DBD 8
L DB113.DBD 104
>=R
)
= DB110.DBX 39.2
A(
L DB113.DBD 12
L DB113.DBD 108
<=R
)
A(
L DB113.DBD 12
L DB113.DBD 112
>=R
)
= DB110.DBX 39.3
A(
L DB113.DBD 16
L DB113.DBD 116
<=R
)
A(
L DB113.DBD 16
L DB113.DBD 120
>=R
)
= DB110.DBX 39.4
L DB110.DBB 39
L DB20.DBB 148
AW
==I
= DB110.DBX 23.1
利用FB2读取机床各轴当前位置值,与换刀点设置值进行比较,各个轴的位置符合要求则DB110.DBX23.1为1,否则为0;此方法虽然增大了编程的工作量,但是节省成本,精度控制也非常可靠。
3 结语
综上所述,机床调试设计人员可以根据机床用户的需求、产品的特点以及成本控制的要求选择关键点的设置方法和确认方法。