| 作者 | 主题 |
|---|---|
|
bbear 游侠 经验值:323 发帖数:177 精华帖:6 |
楼主
主题:多附件头主轴速度限制
原理:对附件头比较多的情况下,有些附件在与主轴连接在一起以后,要求必须限制主轴的最大速度,否则可能造成设备安全事故!
一般的处理方法:通过操作界面修改以下参数: 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 := |