签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
大家好,现在有个项目是1200脉冲+方向控制伺服往复正反转,刚开始以为就是两个指令应该很简单,但是遇到了麻烦,请大家帮忙看下,我的是要求电机正转转360°,再反转转360°,1200这面轴组态都完成了,使用脉冲+方向点动正反速度给定都正常,伺服设置上电使能,编码器多圈绝对值编码器,第一种我用了2个走绝对值Absolute指令,第一步先home,轴回零,然后上升沿触发第一个绝对值块距离写360°,用第一个块的Done触发第二个绝对值的块,距离填的0°,然后Done再上升沿触发第一个块做往复运动,但实际情况是轴正转了一圈后换向反转了一圈,动作就停止了,没有找到原因。于是我又换成用2个相对位置的块Relative,第一个块上升沿触发走360°,Done上升沿触发第二个块走负360°,第二个块Done再触发第一个上升沿,做往复运动,但实际情况是,正转360后确实反转360了,然后就不换向了,而且是一直反转,但我观察电机轴,每次反转一圈时明显感觉轴有停顿一下,但好像没换向成功,就又继续反转了,之前我用PN控制伺服时用报文111做伺服正反时没有遇到这个问题,同样是用的俩个相对位置块,换向都正常,这回用PTO就出现这种情况了,请问下该如何解决,是俩个块之间切换太快了,方向的脉冲没有给进去吗?需要在Done加定时器延时个0.几s才能实现往复运动吗?而且我现在速度给的不快,60n/min,我估计速度上来更换不了向了,请大家帮忙看看,有什么好方法解决下,感激不尽,使用的下面俩个指令
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1769730&b_id=50&s_id=0&num=5
1200脉冲+方向控制伺服正反转疑问-SIMATIC S7-1200-找答案-西门子中国 https://www.ad.siemens.com.cn/service/answer/solve_273979_1072.html
因为有斜坡时间,加减速的原因,在第一圈走完后会有惯性电机未停,导致第二圈命令发送不转,建议在正反转中间加入MC_Halt暂停指令,让其在运动后停再启动
估计是Done只存在了一个扫描周期,第二个move指令在第一个下面所以可以检测到done的上升沿,第一个move由于是新的扫描周期,所以检测不到done的上升沿
切换正反转之间加个延时,
用done做个逻辑,比如三楼的延时,另外加个物理检测信号
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录