西门子plc如何控制步进电机?

2018年12月21日10:34:19 发表评论 3,023 阅读

西门子PLC控制步进电机案例

前段时间发了不少案例文,也是大家爱看的。但都三菱为多,这几期该发西门子的了,今天先给大家一个干货案例文:以S7-200Smart为基础,控制步进电机,内容分上下篇,为大家介绍两种控制方法。

任务

某设备上有1套步进驱动系统,步进驱动器的型号为SH-XXXXXMa,采用某的步进电动机,其型号为1XXXX1,是两相四线直流24V步进电动机,其控制车床部件加工过程如下,按下启动按钮SB1后,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯闪烁。电动机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。

1、所需主要软硬件配置

a.1套STEP 7-MicroWIN SMART V2.3;

b.1台步进电动机的型号为17HS111;

c.1台步进驱动器的型号为SH-2H042Ma;

d.1台CPU ST20。

2、硬件接线

某牌的步进电机型号是1XXXX1,这种型号的步进电动机的出线接线图如下图所示。

其含义是:步进电动机的4根引出线分别是红色、绿色、黄色和蓝色;其中红色引出线应该与步进驱动器的A+接线端子相连,绿色引出线应该与步进电机驱动器的A-接线端子相连,黄色引出线应该与步进驱动器的B+接线端子相连,蓝色引出线应该与步进电机驱动器的B-接线端子相连。

PLC与步进电动机、步进驱动器的接线。步进驱动器有共阴和共阳两种接法,这与控制信号有关系,通常西门子PLC输出信号是+24V信号(即PNP接法),所以应该采用共阴接法,所谓共阴接法就是步进驱动器的DIDIR-和CP-与电源的负极短接。

考虑到画图美观,灯就省略了哈。

注意:由于PLC的输出信号电压与步进电机驱动器的接受信号电压不一致,故不能直联接,那怎么办捏?办法是有的,那就是采取串电阻分压,具体还是看图吧。

3、方案分析

既然都控制步进电机,那么PTO指令肯定跑不了,此外,任务里是需要输出多个脉冲串,那么编程时候就应当允许脉冲串进行排队,形成管线,当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性,说白了,就是用多段管线方式,你估计会问,什么是多段管线,那好,看下科普文:

多段管线:在多段管线模式,CPU自动从V存储器区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储器区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址偏移量(SMW168或SMW178)。时间基准可以选择微秒或者毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。

将任务的多段管线画出来就是下图:

4、方案实施步骤

1)确定脉冲发生器及工作模式,选择Q0.0输出,选择3段管式PTO的输出形式。设置控制字节,选择的时基单位为μs,向控制字节写入控制字。

2)确认并写入周期值、周期增量值和脉冲数,由每段的初始频率可得初始周期,某一段每个脉冲周期增量值△用下式确定:周期增量值△=(该段结束时的周期时间-该段初始的周期时间)/该段的脉冲数。用该式,计算出1段的周期增量值△为-2μs,2段的周期增量值△为0,3段的周期增量值△为1μs。

3)装入包络表首地址,假设包络表位于从VB400开始的V存储区中,这里选择的首地址为VB400。

4)中断调用,设置中断事件并全局开中断。如果想在PTO完成后,立即执行相关功能,则需设置中断,将脉冲串完成事件(中断事件号19)连接一中断程序。

5)执行PLS指令,编程PTO指令,高速脉冲串由Q0.0输出。

 5、指令温习

考虑到大家可能会对指令及用到的特殊存储区不熟悉或不记得了,因此,为了让这期内容更加丰富并凸显实用,很有必要给你们来多点科普文:

一、高速脉冲输出指令介绍

在PLC的指定输出点(Q0.0~Q0.1,Q0.3)上实现脉冲输出(PTO)和脉宽调制(PWM)功能。CPU ST20具备配有两个PTO/PWM发生器,它们可以产生一个高速脉冲串或者一个脉冲调制波形。Q0.1。当Q0.0和 Q0.1作为高速输出点时,其普通输出点被禁用,而当不作为PTO/PWM发生器时,Q0.0和 Q0.1可作为普通输出点使用。一般情况下,PTO/PWM输出负载至少为10%的额定负载。脉冲输出指令(PLS)配合特殊存储器用于配置高速输出功能,PLS指令格式见下表。

脉冲串操作(PTO)按照给定的脉冲个数和周期输出一串方波(占空比50%,如下图所示)。PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。可以s或ms为单位指定脉冲宽度和周期。

二、PLS指令相关的特殊寄存器的含义

如果要装入新的脉冲数(SMD72或SMD82)、脉冲宽度(SMW70或SMW80)和周期(SMW68),应该在执行PLS指令前装入这些值和控制寄存器,然后PLS指令会从特殊存储器SM中读取数据,并按照存储数值控制PTO/PWM发生器。这些寄存器的含义见下表:

表1、PTO控制寄存器的SM标志(Q0.0)

表2、其他PTO/PWM寄存器的SM标志

三、温馨提示:

① 如果要装入新的脉冲数(SMD72或SMD82)、脉冲宽度(SMW70)或者周期(SMW68),应该在执行PLS指令前装入这些数值到控制寄存器。

②PTO状态字中的空闲位(SM66.7或者SM76.7)标志着脉冲输出完成。另外,在脉冲串输出完成时,可以执行一段中断服务程序。如果使用多段操作时,可以在整个包络表完成后执行中断服务程序。

6、程序

根据任务,结合上文第4第5点内容进行编程,程序只做参考哈:

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: