PTO指令及其步进电机控制系统中应用
扫描二维码
随时随地手机看文章
引言
步进电机用于控制机电设备上平动体或转动体的位移、速度和方向。s7-200PLC的高速脉冲输出指令PTO可产生占空比为50%、周期和个数可控的脉冲信号,进而控制步进电机的速度和位移。本文结合实例,介绍PTO指令在步进电机控制系统中的实际应用。
1系统组成
步进电机控制系统由CPU224、步进电机驱动器、步进电机、电源等组成,如图1所示。
其中,CPU224PLC是步进电机控制系统的控制器,通过执行PTO指令控制输出脉冲的周期和个数:步进电机驱动器接受来自PLC的脉冲信号,进行功率放大和分配,用以驱动步进电机,步进电机的方向由PLC的方向信号控制,通过改变分配给步进电机绕组的脉冲相序来改变转向:步进电机接受一个脉冲信号会产生一个步距角的位移。
2PTO指令介绍
2.1功能
PTO(PulseTrain0utput)是脉冲串输出的简称。PTO指令可以控制00.0或00.l端输出占空比为50%、周期和脉冲数可以指定的脉冲串,用以控制步进电机的速度和位移。
2.2特殊存储区
CPU224中有两个高速脉冲发生器,每个高速脉冲发生器都有一个8位控制字、一个32位脉冲计数值、一个16位的周期值和一个l6位的脉宽值,这些值都放在特定的特殊存储区中。例如,00.l端对应的控制字存在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到l0kHz均匀增加,周期从500μs到l00μs均匀减小,周期增量为-2μs:B一C段:3600个脉冲,脉冲频率和周期不变化:C一D段:频率从l0kHz到2kHz均匀减小,周期从l00μs增加到500μs,周期增量为2μs。
包络表的起始字节存放段数范围为(1~255),本例中脉冲串为3段,包络表初始字节设为VB200。
3.2程序编制
3.2.1编程思路
本例程序由主程序、子程序和中断程序组成。其中,主程序中调用初始化子程序,复位00.0:在子程序中完成控制字设置及包络表的建立,并启动脉冲串的输出,建立中断程序的连接:当脉冲串完成时,执行中断程序,这里用00.0输出作为完成标志。
3.2.2程序及说明
3.2.2.1主程序
LDsM0.l//sM0.l的常开触点在首次扫描时接通一个扫描周期:
R00.0,l//首次扫描时复位00.0:
CALLsBR0:sBR0//首次扫描时调用子程序sBR0,设置PTO控制字和中断。
3.2.2.2子程序
LDsM0.0//sM0.0常开触点在PLC运行期间接通:
M0VB3,VB200//VB200中存放的是脉冲串包络表的段数,这里设为3:
M0Vw+500,Vw20l//第l段的初始周期设为500μs:M0Vw2,Vw203//第l段的脉冲周期增量为-2μs:
MoVD200,VD205DD第1段的脉冲个数设为200:MoVw+100,Vw209DD第2段的初始周期设为100μs:MoVw+0,Vw211DD第2段的脉冲周期增量为0:MoVD+3600,VD213DD第2段的脉冲个数设为3600:MoVw+100,Vw217DD第3段的初始周期设为100μs:MoVw+2,Vw219DD第3段的脉冲周期增量为2μs:MoVD+200,VD221DD第3段的脉冲个数设为200:LDsM0.0DDPLC运行期间接通:
MoVB16/A5,sMB67DDPTo的控制字设为A5:其含义为允许PTo操作,多段操作,时基为微秒,脉冲周期和计数值刷新:
MoVw+200,sMw168DD包络表的起始地址设为200:
ATCHINT0:INT0,19DD将中断INT0和PTo0脉冲串输出完成事件的联系:
∶NIDD允许中断:
PLs0DD按上述PTo控制字设置启动内部脉冲发生器工作并输出脉冲。
3.2.2.3中断程序
LDsM0.0DDPLC运行期间接通:
=o1.0DD当中断发生时,o1.0有输出,表示3段脉冲串输出完成。
4结语
s7#200PLC的高速脉冲输出指令PTo,通过设置控制字和包络表,可以方便地实现多段脉冲串的周期和脉冲个数的控制,从而实现对步进电机的速度和位移的多段控制。