耿欣,顾红光
(1.沈阳工学院,辽宁抚顺 113122;2.沈阳机床成套设备有限责任公司,辽宁沈阳 110142)
某单位为一汽大众公司提供的一台卧式加工机床,该机床应用了台湾基辅盘式刀库且带机械手刀臂,共16把刀具。刀库的程序编制非常重要,如果考虑不周很可能造成刀库机械手撞刀事件发生,大大影响机床使用效率及加工精度。同时此刀库的刀位计数检测装置为接近开关而非编码器,所以如果发生开关误晃或漏晃现象,则刀号会发生错误,造成错误选刀加工,引起刀具断裂或工件损坏以及机床损坏事件,因此对这两方面的安全程序编制非常重要。本文作者介绍了该种刀库的工作流程,并对可能发生的安全隐患及避免隐患发生的程序编制都做了详细说明。
刀库控制顺序如下:
(1)选刀(刀盘旋转,就近选刀旋转);
(2)刀盘数刀及定位(刀盘分度马达定位停止);
(3)倒刀(气缸伸出使刀具从刀库中分离出来准备换刀);
(4)倒刀到位信号确认(气缸伸出到位开关信号检测);
(5)换刀机械手旋转抓刀(换刀机械手从原点位置旋转至水平位置抓刀);
(6)换刀机械手抓刀确认(机械手抓刀到位信号检测);
(7)主轴夹刀松开(油缸伸出使主轴上刀具松开);
(8)松刀确认(松刀到位开关检测);
(9)换刀机械手旋转换刀到位(换刀机械手旋转180°实现换刀);
(10)主轴夹刀夹紧并确认(油缸退回使主轴上刀具夹紧);
(11)回刀及定位(气缸缩回使机械手刀具回到刀库中);
(12)回刀确认(气缸退回到位开关信号检测);
(13)机械手刀臂回原位并确认(机械手马达旋转回到原位并确认);
(14)换刀动作完成。
此刀库共有两个气动阀控制气缸伸出、退回使刀具从刀库中分离,一个液压阀控制主轴松夹刀、一个刀盘旋转马达来进行选刀旋转、一个机械手换刀马达进行机械手换刀。刀盘中有一个数刀计数开关、一个刀盘原点开关、机械手中有原位及抓刀位置两个开关。
(1)刀盘计数
从1号刀套反转:
A M
0.0
A(
L DB140.DBW 48刀盘号存储
L 1
<I
)
="M1201"
反转送16:
A"M1201"
JNB_001
L W#16#16
T MW 150中间存储器
_001:NOP 0
从16号刀套正转:
O(
L DB140.DBW 48
L 16
>I
)O
A"Chan1".MDyn[15]M15刀盘初始化
A"14512_0".MD_14512_0_4危险模式
A"SQ467"刀盘原点信号
="M1200"
正转送1:
A(
O"M1200"
O
A"Chan1".MDyn[15]
A"14512_0".MD_14512_0_4
A"SQ467"
)
JNB_002
L W#16#1
T MW 150
_002:NOP 0
刀盘计数:
A"I474"刀盘数刀开关
FP M 101.3
A"KA14L"刀盘分度马达正转
CU C 11
A"I474"
FP M 101.4
A"KA15L"刀盘分度马达反转
CD C 11
A(
A(
O"M1200"
O"M1201"
)
FP M 101.5
O M 0.6
)
L MW 150
SC 11
NOP 0
L C 11
T DB140.DBW 48
NOP 0
NOP 0
(2)计数开关处理
刀盘计数开始:
A"I474"
FN M 104.1
SM 105.0
刀盘第二个计数脉冲到达
A"I474"
FP M 104.2
O"SB37"复位按钮
R M 105.0
两个脉冲间隔时间
A M 105.0
FN M 106.0
JNB_003
L T 51
T MW 400
_003:NOP 0
时间间隔比较
A M 105.0
FN M 106.1
JNB_004
L MW 400
L"14512_0".MD_14510_15间隔最小时间设置
<I
S"ALMSG_DB".A700009
L MW 400
L"14512_0".MD_14510_16间隔最大时间设置
>I
S"ALMSG_DB".A700010
_004:NOP 0
A"I53"
R"ALMSG_DB".A700009刀盘开关抖动报警
R"ALMSG_DB".A700010刀盘开关漏数报警
刀盘计数开关为接近开关计数,当刀盘开始旋转则有一个计数脉冲下降沿被触发,当到下一刀套位置时一个计数脉冲上升沿被触发,这个间隔的时间应该是个定值,如果超出这个范围可能发生错误。多次试验得出结论,当刀盘从一个计数开关下降沿到下一个计数开关上升沿的时间间隔为70~80 ms之间,所以当小于70 ms或大于80 ms时计数开关信号时会出现错误,系统就会提示报警。这样刀盘开关损坏或发不出信号及检测时发生抖动的错误计数基本解决。因为840Dsl的程序在系统中不能更改,所以在这里把这个范围参数编辑在界面中,如果长久使用后,刀盘旋转时间出现减慢现象,操作者可以直接通过操作界面的两个参数重新设置这两个检测时间。
(1)自动换刀时换刀点错误报警。
读取系统坐标值
A(
O"M230"
ON"M230"
)
AN"M230"
="M230"实时脉冲
CALL"GET",DB130
Req:="M230"
NumVar:=3
Addr1:="ch1_ax".C1_SEMA_measPos21_6
实时检测x轴坐标位置
Unit1:=
Column1:=
Line1:=
Addr2:="ch1_ax".C1_SEMA_measPos12_5
实时检测y轴坐标位置
Unit2:=
Column2:=
Line2:=
Addr3:="ch1_ax".C1_SEMA_measPos23_6
实时检测z轴坐标位置
Unit3:=
Column3:=
Line3:=
Addr4:=
Unit4:=
Column4:=
Line4:=
Addr5:=
Unit5:=
Column5:=
Line5:=
Addr6:=
Unit6:=
Column6:=
Line6:=
Addr7:=
Unit7:=
Column7:=
Line7:=
Addr8:=
Unit8:=
Column8:=
Line8:=
Error:=
NDR:=
State:=
RD1:=MD500 x轴坐标位置存储器
RD2:=MD504 y轴坐标位置存储器
RD3:=MD508 z轴坐标位置存储器
RD4:=
RD5:=
RD6:=
RD7:=
RD8:=
x轴坐标与换刀点坐标比较
L MD 500
L"14512_0".MD_14514_160 x轴换刀点位置
-R
T MD 600
L MD 600
ABS
T MD 600
L MD 600
L 1.000000e+000
>R
=M 650.0
y、z轴换刀点位置比较同上。
A(
A(
O M 650.0 x轴换刀点位置超差
O M 650.1 y轴换刀点位置超差
O M 650.2 z轴换刀点位置超差
)
A(
O"Chan1".MDyn[12]换刀启动M12
O"Chan1".MDyn[13]换刀启动M13
)
O"ALMSG_DB".A700002换刀点错误报警
)
AN"SB37"复位按钮
="ALMSG_DB".A700002
(2)手动换刀主轴未在安全位置报警
L MD 500
L"14512_0".MD_14514_176 x轴手动换刀
安全位置
<=R
="M555"
A"SB554"刀库机械手点动按钮
A"M555"
A"DB99".DB_VAR123刀库调试状态生效
="ALMSG_DB".A700404 x轴位置危险,机械手禁止启动报警
刀库防撞主要是防止刀库机械手与主轴相撞,分两种情况,一是自动换刀时换刀点位置误差过大,另一种是在手动调整时主轴在机械手旋转范围内发生碰撞。手动调整时只要控制x轴的位置不在机械手运动范围内即可,y、z轴位置对机械手运动没有影响。以上程序对这两种情况都进行了处理,避免了刀库机械手由于系统故障或人为操作不当而引发碰撞事件的发生。
通过以上程序对刀盘计数信号的安全处理及机械手换刀安全措施的保护,此刀库已经成功正常在用户运转一年多时间,从未发生撞刀等意外事件。对机床的生产效率及使用寿命及精度有了很大的保障。
[1]SINUMERIK 840D solution line简明调试手册.2012.
[2]西门子(中国)有限公司STEP 7 V5.2编程手册.2003.