加减速脉冲输出的对比 s7-200 224CPU和三菱 FX1S的差别 点击:1341 | 回复:7



LHBLXM

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2008年12月30日
发表于:2012-11-23 16:29:17
楼主
求助帖5分-已结帖

以前是用FX1S系列PLC的,用来控制步进电机,有用到PLSR带加减速脉冲输出,测试时,电机最高速可达6000RPM(当然只是试试,实际是没什用的,电机在如此高速下是没力的),现在用西门子224CPU,也进行这样的测试,结果电机加速到一定转速(1320转)时竟然不转只是尖叫.我用的是五相电机,这时的脉冲频率为11.1K(224CPU可以最高输出20K).

我用的测试代码是STEP 7 MICRO/WIN 帮助文档中自带的三段加减速的脉冲输出的代码,只是原来的速度慢,我改快一点.

 

NETWORK 1 // 子程序0开始
  // 预载PTO轮廓表
 LD SM0.0
 MOVB 3 VB500 // 将轮廓表段数设为3
  // 段1:
 MOVW +500 VW501 // 将段1的初始周期设为500毫秒
 MOVW -2 VW503 // 将段1的每脉冲周期递减设为2毫秒
 MOVD +200 VD505 // 将段1中的脉冲数设为200
  // 段2:
 MOVW +100 VW509 // 将段2的初始周期设为100毫秒
 
 MOVW +0 VW511 // 将段2的闹芷谏栉?毫秒
 MOVD +3400 VD513 // 将段2中的脉冲数设为3400
  // 段3:
 MOVW +100 VW517 // 将段3的初始周期设为100毫秒
 MOVW +1 VW519 // 将段3每脉冲周期递减设为1毫秒
 MOVD +400 VD521 // 将段3中的脉冲数设为400
 
 NETWORK 2
 LD SM0.0
 MOVB 16#A8 SMB67 // 设置控制字节:
 
 // - 选择PTO操作
 // - 选择多段操作
 // - 选择毫秒增加
 
 // - 启用PTO功能
 MOVW +500 SMW168 // 将轮廓表的该起始地址
  // 指定为V500。
 
 ATCH INT_0 19 // 将中断例行程序0定义为
 
  // 处理PTO完成中断的中断。
 
 ENI // 全局中断启用
 PLS 0 // 激活PTO操作,PLS0 => Q0.0
 MOVB 16#89 SMB67 // 预载控制字节,用于随后的
 
  // 周期改动。
 
 在低速时,只要最高速不超过11.1KB,电机运转正常,比如我用下面的代码是没问题的
 Network 1 // Network Title
 // Network Comment
 LD     SM0.0
 MOVB   3, VB500
 MOVW   +1000, VW501
 MOVW   -2, VW503
 MOVD   450, VD505
 MOVW   +100, VW509
 MOVW   +0, VW511
 MOVD   +20000, VD513
 MOVW   +100, VW517
 MOVW   +2, VW519
 MOVD   +450, VD521
 Network 2 
 LD     SM0.0
 MOVB   16#A0, SMB67      //脉冲周期用微秒计算
 MOVW   +500, SMW168
 ATCH   INT0, 19
 ENI
 PLS    0
 MOVB   16#89, SMB67
 
 这样最高速为10K,电机运转正常,但只要最高速超过11.1K,电机就不正常,具体是,
 一开始电机慢慢加速,加速到一定速度时,电机就转不过来了,只是发出嘯叫声.
 
 但是如果我对步进驱动器细分,比如设为1/2,电机运转以正常.
 

 也许大家会说可能是电机的问题,但我的电机运行3600转是可以的,用三菱PLC的PLSR指令(带加减速脉冲输出),最高6000RPM也可以

这是什么原因呢




芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2012-11-23 23:12:53
1楼
1S的脉冲输出可以不接负载电阻。200的输出要求接负载电阻使得输出带有10%以上的额定负载,才可以得到陡直的波形边缘。我知道这个是最大的区别。但是这个区别好像跟你的问题无关。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2012-11-23 23:16:02
2楼
不过我不明白你的PLS指令怎么是用sm0.0驱动的呢?难道没有报错吗?

LHBLXM

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2008年12月30日
发表于:2012-11-24 21:03:27
3楼
引用 芳季 的回复内容: 不过我不明白你的PLS指令怎么是用sm0.0驱动的呢?难道没有报错吗?


 这个是子程序,在主程序中调用它,S7 STEP MICRO/WIN 帮助文档中是这样写的

LHBLXM

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2008年12月30日
发表于:2012-11-24 21:15:07
4楼
在测试过程中发现,三段加减速脉冲输出是正常的,因为在低速或者高速时使用1/2细分进行减速一半电机运行正常.只不过在高速时电机转速跟不上(我是这样认为的),但三菱的FX1S系列PLC又可以,这让我不禁怀疑是不是它们输出脉冲的方式不一样,表面上看三菱在加减速脉冲输出性能上要更胜一筹,请各位分析下这是为什么,或提供测试方案,本人将感激不尽,同时上传所有的测试结果

LHBLXM

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2008年12月30日
发表于:2012-11-26 21:46:34
5楼
经过几天的试验,发现用向导做的加减速控制电机可以达到3600RMP以上,而用PLS输出则不行,本人使用的是224CN的CPU,用5V输出和用24V输出脉冲效果一样,还做了一个特别的测试,就是它标称224CN的最大可输出20K频率的脉冲,但我用30K测试了一下,电机速度也能达到

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2012-11-30 23:09:45
6楼
楼主你现在知道原因了没有?

xzy568

  • 精华:1帖
  • 求助:0帖
  • 帖子:22帖 | 480回
  • 年度积分:0
  • 历史总积分:991
  • 注册:2002年9月08日
发表于:2012-11-30 23:34:47
7楼
这是因为加速的平滑度不好,用频率计可以看出来,当然了,加速不能太快

热门招聘
相关主题

官方公众号

智造工程师