西门子PLC用PLS指令发脉冲

任务

某设备上有1套步进驱动系统,步进驱动器的型号为SH-XXXXXMa,采用某的步进电动机,其型号为1XXXX1,是两相四线直流24V步进电动机,按下启动按钮SB1后,要求电机能够按下图的频率和脉冲数运行,运行完毕后指示灯闪烁。

<a href=https://www.xmzyj.com/ximenzi>西门子</a>PLC用PLS指令发脉冲” inline=”0″></strong></p>
<p><strong>1、所需主要软硬件配置</strong></p>
<p><strong>a.1套STEP 7-MicroWIN SMART V2.3;</strong></p>
<p><strong>b.1台步进电动机的型号为1XXXX1;</strong></p>
<p><strong>c.1台步进驱动器的型号为SH-XXXXXMa;</strong></p>
<p><strong>d.1台CPU ST20。</strong></p>
<p><strong>2、硬件接线</strong></p>
<p><strong>某牌的步进电机型号是1XXXX1,这种型号的步进电动机的出线接线图如下图所示。</strong></p>
<p><strong>PLC与步进电动机、步进驱动器的接线。步进驱动器有共阴和共阳两种接法,这与控制信号有关系,通常西门子PLC输出信号是+24V信号(即PNP接法),所以应该采用共阴接法,所谓共阴接法就是步进驱动器的DIDIR-和CP-与电源的负极短接。</strong></p>
<p><strong>注意:由于PLC的输出信号电压与步进电机驱动器的接受信号电压不一致,故不能直联接,可以采取串2K左右的电阻来进行分压,具体还是看图吧。(为什么是2K左右:</strong><strong>一般驱动器输入为光电耦合器,即负载是一个LED负载,而LED正常工作电流一般为5~8mA左右,那么在24V电压下,5~8mA = 24 / 电阻 ,电阻 = 24 /0.008 = 3K,考虑到步进驱动器输入不仅仅是直接的LED,还需要有一个限流电阻器,所以取值2K左右的电阻器限流是允许的。</strong><strong>)</strong></p>
<p><img src=

3、方案分析

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

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

西门子PLC用PLS指令发脉冲

4、方案实施步骤

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

2)确认包络表首地址,向包络表里写入每段的脉冲数,初始频率和终止频率

3)若想脉冲发完后,指示灯闪烁,可用脉冲串完成事件产生中断的方式来实现,设置中断事件并全局开中断。(中断事件号19)

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

5、指令温习

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

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

西门子PLC用PLS指令发脉冲

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

西门子PLC用PLS指令发脉冲

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

PLS指令会从特殊存储器SM中读取数据,并按照存储数值控制PTO/PWM发生器。这些寄存器的含义见下表:

西门子PLC用PLS指令发脉冲

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

西门子PLC用PLS指令发脉冲

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

三、温馨提示:

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

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

6、程序

根据任务,结合上文第4第5点内容进行编程,亲测有效:

主程序:

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

西门子PLC用PLS指令发脉冲

中断程序:

西门子PLC用PLS指令发脉冲

实验结果:看不清可以长按动图,保存到手机,然后打开图库看(记得设置手机画面旋转)即可全屏看。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据