这个问题,首先步进电机通常是要配合驱动器去实现步进电机的细分和速度控制的,因此PLC对步进电机的控制,也可以说是对步进电机驱动器的控制!

如果你熟悉西门子S7-200 smart系列PLC的话,利用向导控制正反转和速度是很容易的,因为向导中都说明了哪个点是控制输出脉冲的,哪个点是控制方向的。而S7-200 PLC中,也有向导,但是只规定了输出脉冲的点,却没有规定控制方向的点,可能有的小伙伴就有点搞不清楚了!---其实在S7-200PLC中,你可以自己定义一个输出点,去控制步进电机的控制方向,近一步说的话,就是步进电机的转动方向其实是靠其驱动器实现的,而驱动器预留了这个控制权的接口给PLC!也就是说西门子200PLC实现对步进电机的控制,是需要2个输出点的,一个脉冲输出点,一个控制方向的输出点!

上边大的概念说了,还是紧扣题目来说说怎么编程吧:

首先来看一下西门子200PLC和步进电机的驱动器的接线图,以及我的地址分配:这个图片的左边可以看做是西门子200PLC,右边是步进电机的驱动控制器。PUL就是步进驱动器的脉冲信号接入端,我的PLC去Q0.0这个点去发脉冲信号;DIR就是不进驱动器接受控制电机转动方向信号的接入端,我的PLC是利用Q0.3这个点去控制方向!

通过这个图片,接线和地址分配就说清楚了,就直接来看程序吧:

这个图片中的程序就是西门子200PLC step7 Micro/win 软件的程序截图,程序很简单只有2个网络。分别解释一下:

网络1是一个PWM脉冲输出指令,这里虽然看不到Q0.0,但是当M10.0和M0.0都接通的时候,Q0.0这个点就会“嗒嗒嗒嗒”的这样发出脉冲信号了,图中的20和10的单位都是ms,也就是说20ms会发出一个脉冲信号!--此时,你会看到步进电机在转动了,而且是一直往一个方向转动,比如顺时针转动!

网络1是控制脉冲输出,输出脉冲的频率也就决定步进电机的速度,更改cycle和pulse的值,就可以控制脉冲输出的频率,进而实现对速度的控制。比如cycle是1000的话,就是1s输出一个脉冲,如果是100的话就是0.1s输出一个脉冲。

当网络2的M0.2接通的时候,Q0.3会接通,此时步进电机的转动方向就发生了反转,原来是顺时针转动的话,就会变为逆时针转动!总之就是Q0.3接通和不接通,会控制步进电机正转或者反转,而且是立即就会让方向变化!

所以,这两段网络就是一个最简单的控制步进电机速度和方向的一个小程序!程序中的PWM0_RUN这个程序块,其实是向导生成的一个子程序,来看一下向导处最终的样子,也解释了为何控制PWM0就能控制Q0.0输出。

这个图片可以看到向导下,PTO/PWM下边我建立的向导是输出控制Q0.0的,因此这点就是我的脉冲输出点。在这个向导中是看不到Q0.3的,而且在向导建立的过程中也没有提到控制伺服的方向的,因此这个Q0.3是我随意定义的,我可以定义为Q1.0,Q2.3等等,自己喜欢就好!


就说这么多了,希望能对你有点帮助,谢谢!

西门子s7-200plc控制步进电机速度与正反转怎么编程

相关新闻

联系我们

联系我们

888-888-8888

在线咨询: 点击这里给我发消息

邮件:admin@izywl.cn

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部