PTO指令及其在步进电机控制系统中的应用
扫描二维码
随时随地手机看文章
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,通过设置控制字和包络表,可以方便地实现多段脉冲串的周期和脉冲个数的控制,从而实现对步进电机的速度和位移的多段控制。