当前位置: 首页 > 工业控制产品 > 运动控制 > 步进电机

类型分类:
科普知识
数据分类:
步进电机

PTO指令及其在步进电机控制系统中的应用

发布日期:2022-10-09 点击率:278


0引言

步进电机用于控制机电设备上平动体或转动体的位移、速度和方向。S7-200PLC的高速脉冲输出指令PTO可产生占空比为50%、周期和个数可控的脉冲信号,进而控制步进电机的速度和位移。本文结合实例,介绍PTO指令在步进电机控制系统中的实际应用。

1系统组成

步进电机控制系统由CPU224、步进电机驱动器、步进电机、电源等组成,如图1所示。

其中,CPU224PLC是步进电机控制系统的控制器,通过执行PTO指令控制输出脉冲的周期和个数:步进电机驱动器接受来自PLC的脉冲信号,进行功率放大和分配,用以驱动步进电机,步进电机的方向由PLC的方向信号控制,通过改变分配给步进电机绕组的脉冲相序来改变转向:步进电机接受一个脉冲信号会产生一个步距角的位移。

2PTO指令介绍

2.1功能

PTO(PulSeTrain0utput)是脉冲串输出的简称。PTO指令可以控制00.0或00.1端输出占空比为50%、周期和脉冲数可以指定的脉冲串,用以控制步进电机的速度和位移。

2.2特殊存储区

CPU224中有两个高速脉冲发生器,每个高速脉冲发生器都有一个8位控制字、一个32位脉冲计数值、一个16位的周期值和一个16位的脉宽值,这些值都放在特定的特殊存储区中。例如,00.1端对应的控制字存在SMB67中,脉冲周期值存在SMw68中,脉冲计数值存在SMD72中。

在程序中设置好这些存储区值,执行脉冲输出指令PLS,CPU就会读取这些值,并执行特殊存储区所定义的操作,输出相应的高速脉冲。

2.3包络表

如果需要输出多个脉冲串,可以在存储区中建立包络表,包络表中存放多个脉冲串的参数。建立包络表后,执行PLS指令,PLC就会从包络表中读取参数值,按照参数定义控制脉冲串的输出。包络表中每段脉冲串的参数需用8个字节,其中包含2个字节的周期值、2个字节的周期增量值、4个字节的脉冲计数值。

3PTO指令在程序中的应用

3.1控制要求

步进电机控制要求如图2所示,从A到B为加速过程,从B到C为恒速运行,从C到D为减速过程。

根据控制要求,PLC需要输出3段脉冲,这3段脉冲的参数分别为A一B段:200个脉冲,频率从2kHz到10kHz均匀增加,周期从500uS到100uS均匀减小,周期增量为-2uS:B一C段:3600个脉冲,脉冲频率和周期不变化:C一D段:频率从10kHz到2kHz均匀减小,周期从100uS增加到500uS,周期增量为2uS。

包络表的起始字节存放段数范围为(1~255),本例中脉冲串为3段,包络表初始字节设为VB200。

3.2程序编制

3.2.1编程思路

本例程序由主程序、子程序和中断程序组成。其中,主程序中调用初始化子程序,复位00.0:在子程序中完成控制字设置及包络表的建立,并启动脉冲串的输出,建立中断程序的连接:当脉冲串完成时,执行中断程序,这里用00.0输出作为完成标志。

3.2.2程序及说明

3.2.2.1主程序

LDSM0.1//SM0.1的常开触点在首次扫描时接通一个扫描周期:

R00.0,1//首次扫描时复位00.0:

CALLSBR0:SBR0//首次扫描时调用子程序SBR0,设置PTO控制字和中断。

3.2.2.2子程序

LDSM0.0//SM0.0常开触点在PLC运行期间接通:

M0VB3,VB200//VB200中存放的是脉冲串包络表的段数,这里设为3:

M0Vw+500,Vw201//第+段的初始周期设为500uS:M0Vw2,Vw203//第1段的脉冲周期增量为-2uS:

MoVD200,VD205//第1段的脉冲个数设为200:MoVw+100,Vw209//第2段的初始周期设为100u+:MoVw+0,Vw211//第2段的脉冲周期增量为0:MoVD+S600,VD21S//第2段的脉冲个数设为S600:MoVw+100,Vw217//第S段的初始周期设为100u+:MoVw+2,Vw219//第S段的脉冲周期增量为2u+:MoVD+200,VD221//第S段的脉冲个数设为200:LDSM0.0//PLC运行期间接通:

MoVB16#A5,SMB67//PTo的控制字设为A5:其含义为允许PTo操作,多段操作,时基为微秒,脉冲周期和计数值刷新:

MoVw+200,SMw168//包络表的起始地址设为200:

ATCHINT0:INT0,19//将中断INT0和PTo0脉冲串输出完成事件的联系:

∶NI//允许中断:

PLS0//按上述PTo控制字设置启动内部脉冲发生器工作并输出脉冲。

S.2.2.S中断程序

LDSM0.0//PLC运行期间接通:

E=1.0//当中断发生时,=1.0有输出,表示S段脉冲串输出完成。

4结语

S7-200PLC的高速脉冲输出指令PTo,通过设置控制字和包络表,可以方便地实现多段脉冲串的周期和脉冲个数的控制,从而实现对步进电机的速度和位移的多段控制。


下一篇: PLC、DCS、FCS三大控

上一篇: GMC-96B钢轨打磨车常