s7-200驱动步进电机

老师,你们好,我在用西门子-200驱动一个步进电机。我现在能让他动起来了,我想用向导让它进行一个加速 匀速  减速的过程,NETWORK 1 // 用于多段脉冲串操作的主程序(PTO)

// 首次扫描时,将映像寄存器位设为低

// 并调用子程序0
LD SM0.1
R Q0.0 1
CALL SBR_0

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的闹芷谏栉?毫秒
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 // 预载控制字节,用于随后的

 // 周期改动。

NETWORK 1 // 中断0开始
// PTO输出轮廓完成时,打开输出Q0.5
LD SM0.0
= Q0.5
这是实验程序, 但是运行起来很慢。我在向导中设置加速时间为500ms  最大速度为2000 最小为800  步进4000 但是运行起来根本行,我弄了好几天了 ,怎么都找不到问题。请老师傅帮帮忙?   我的QQ422679828

问题补充:
程序我看过了,我整整弄了10天了。 真找不出什么毛病。但是停不下来。现在弄的我头都大了。老师,谁有步进的电机的控制程序啊。我想看看我的问题倒地处在哪里。QQ422679828

最佳答案

你的速度太慢了,而设定的结束位置太大了,所以要把你所要的脉冲发送完需要很长的时间,给你的错觉就是一直停不下来。

提问者对于答案的评价:
谢谢你的,指点!我是新手,麻烦你的时间 你帮我把程序修改一下吧! 谢谢您了,老师

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:20
下一篇 2020年11月1日 下午3:20

相关推荐