回复:高速脉冲输出的问题

boboq

  • 帖子

    6
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2012-11-21

普通 普通 如何晋级?

发布于 2012-11-23 12:16:53

3楼

quote:以下是引用yanxiao在2012-11-21 21:36:43的发言:
如果我要帮你找问题,需要一条一条语句去分析,要翻书。还是你自已每条加上注释吧。
电机能转到3600RPM需要一个过程,没有按要求以合适的坡度平稳升速,就不能让电机成功转起来。


谢谢斑主,我用的代码就是一个三段脉冲输出的示例代码(是step 7 自带的代码,只是改变了加减速和脉冲数量),
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也可以
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。