精华0
积分3756
阅读权限20
注册时间2012-11-7
最后登录2012-12-13
在线时间16 小时
高级技师
  
- 帖子
- 215
- 主题
- 123
- 积分
- 3756
- 在线时间
- 16 小时
- 注册时间
- 2012-11-7
- 最后登录
- 2012-12-13

|
原理:对附件头比较多的情况下,有些附件在与主轴连接在一起以后,要求必须限制主轴的最大速度,否则可能造成设备安全事故!
一般的处理方法:通过操作界面修改以下参数:
N43210 MDD_SPIND_MAX_VELO_G25
N43220 MDD_SPIND_MAX_VELO_G26 (here used)
N43230 MDD_SPIND_MAX_VELO_LIMIT
但是在实际使用的过程中,人为地修改参数可能不是很安全,人总有疏忽的时候,为此我们可以用附件识别码和NC数据相结合的方法来实现数据的修改
首先找到相应的NC-var变量,并生成源文件DB120.AWL
----------------------------------
DATA_BLOCK DB 120
VERSION : 0.0
STRUCT
A0_SE_SPIND_MAX_VELO_G26:
STRUCT
SYNTAX_ID : BYTE := B#16#82;
bereich_u_einheit :byte := B#16#60;
spalte :word := W#16#A8D4;
zeile :word := W#16#1;
bausteintyp :byte := B#16#16;
ZEILENANZAHL : BYTE := B#16#1;
typ :byte := B#16#F;
laenge :byte := B#16#8;
END_STRUCT ;
END_STRUCT ;
BEGIN
END_DATA_BLOCK
----------------------------------
以上参数中,轴号没有定义,可以根据需要在使用的时候指定即可!
Eg: 如果指定了轴号为7,则 bereich_u_einheit :byte := B#16#67;
下面我们来看如何实现参数的自动赋值:
假如我们有三个附件,分别用三个标志位表示:M0.1(附件1),M0.2(附件2),M0.3(附件3),三个附件对应的最大速度为200rpm,500rpm, 1000rpm。
首先从NC中读出当前主轴的速度设定值G26---SD43220,并将其装入MD140中:
AN #STAT257
S #STAT257
O #STAT258
O #STAT259
R #STAT257
CALL FB2
Req :=#STAT257
NumVar :=1
Addr1 :="NC_VAR".SPIND_MAX_VELO_G26
Unit1 :=B#16#7 //在参数中指定轴号7
Column1:=
Line1 :=
…………………..
Error :=#STAT259
NDR :=#STAT258
State :=#STAT255
RD1 :=P#M 140.0 DWORD 1
…………………..
RD8 :=
L MD 140 //当前实际转速设定值
编码及速度值选择:
L 2.000000e+002 //200rpm
A M 0.1
JC M001
L 5.000000e+002 //500rpm
A M 0.2
JC M001
L 1.000000e+003 //1000rpm
A M 0.3
JC M001
M001: T MD 144 //需要重新设定的转速值
A(
L MD 140
L MD 144
<>R //如果实际值和需要设定的数值不相等则写入
)
S #STAT260
O #STAT261
O #STAT262
R #STAT260
将需要的转速写入SD43220 SPIND_MAX_VELO_G26 中:
CALL FB3
Req :=#STAT260
NumVar :=1
Addr1 :="NC_VAR".SPIND_MAX_VELO_G26
Unit1 :=B#16#7 //在参数中指定轴号7
Column1:=
Line1 :=
…………………..
Error :=#STAT262
Done :=#STAT261
State :=#STAT256
SD1 :=P#M 144.0 DWORD 1
…………………..
SD8 := |
|