如何用s7-200控制步进电机,如何控制让步进电机一直转动,如何停下来?

就是pto程序中,如果是单段pto的话如何做到,设定的脉冲数是不是无穷,然后停下来的是用中断程序将输出q清0??

第1个回答  2012-09-06
使用S7-200里的连续脉冲输出指令(速度控制指令)。停止也是用相应的指令,详细的你查看西门子的指令手册。追问

pls···我查了指令手册 但是还是不是很理解 请细说

追答

你要一直转动的话,假设你是用I0.1的常开触点接PLS指令以及PTO的设置,那么就一直让I0.1闭合,在单段PTO执行结束后,会继续执行一模一样的单段PTO,一直执行下去。
停下来的话,你再编一段梯形图,接上常开触点I0.2,后边接上更改SMB67将控制方式设为禁止脉冲输出,以及SMD72将PTO脉冲个数设为0,再接上PLS指令就OK了。

追问

谢谢你的耐心解答,我是用关中断来结束单段pto,不知道是否可行?我想在单段pto结束后走多段pto,那么我是否不用关掉单段pto,直接将输出q0.0置0,然后在更改SMB67中的数据即可?

第2个回答  2012-09-07
单段的话脉冲数为零即可.
脉冲模式复位脉冲输出点无效.会立即覆盖掉.
唯一方法是复位特殊寄存器使能位.就是67.7or77.7.追问

如何做到先执行单段pto,然后延时30秒,然后再执行多段pto?步进电机的正反转控制是不是跟执行pto的程序并接就能实现正反转还是在延时前就输入高低电平?

追答

200PLC的脉冲输出和方向是不关联的.
从脉冲数量要求>0就可以看的出来.
可以将方向控制程序写在PLS指令前面,用立即方式即可.

追问

真的非常感谢,如何做到先执行单段pto,然后延时30秒,然后再执行多段pto?就是看手册上的例子pto都是用调用子程序来做,都是主程序里复位q0.0,然后其他的在子程序里做,如果一个程序中友两个pto程序(单段pto,多段pto)这个是否有冲突,该如何实现,谢谢了!

追答

有没有冲突试试不就知道了.
PLC又试不坏.
没有.
200是独立硬件脉冲发送的,可以任意写,不需一直保持使能.
但是空闲时才有效.
也不需要在主程序里复位.
pls...延时...pls方式就是了.
这个不需要说了吧.

追问

非常感谢你的耐心回答,只是我没有条件进行试验,plc都没有。呵呵。要不也不会这么问了,非常感谢你的回答,选了你做推荐答案了,满意答案我就给楼下的那位前辈了,非常感谢!

追答

晕.
仔细看看.
答案不同的.
算了.
应用时自己注意吧.

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网