刘云龙
摘 要:研究了高速脉冲串输出在步进电机位置控制中的应用,包括应用PLS指令、MAP指令库及位置控制指令向导等方法。给出了系统构成,说明了各种方法的应用。对步进电机的位置控制有实际意义。
关键词:S7-200;步进电机;位置控制;PTO;MAP;PLS
引言
作为自动控制系统中的执行元件,步进电机的应用十分广泛,主要原因是步进电机有很多优点,其中它的控制方法比较简单。步进电机的转速、停止的位置只取决于脉冲信号的频率和脉冲个数。可以通过控制脉冲频率来控制电机转动的速度和加速度,进行调速;可以通过控制脉冲个数来控制角位移量,进行准确定位。
控制步进电机的方法较多,目前流行的是采用PLC通过步进电机驱动器来控制步进电机。为了配合步进电机的控制,许多PLC都内置脉冲输出功能,并设置了相应的控制指令,可以很好地对步进电机进行控制。
为了实现对步进电机的开环定位控制,可以通过PLC控制输出脉冲来实现。本文应用SIEMENS公司S7-200PLC来控制步进电机。SIEMENS公司S7-200PLC主要提供了以下几种方式的开环定位控制:脉冲串输出(PTO)、EM253位控模块、自由口通信等。文章主要探讨PTO这种方式。
1 步进电机位置控制系统
1.1 硬件系统
步进电机位置控制系统由PLC、步进电机驱动器、步进电机和丝杠组成。
系统选择的PLC为SIEMENS公司CPU226DC/DC/DC型。
選用的步进电机是42H2P4812A4的两相混合式步进电机,该型号的步进电机步矩角为1.8°,相电流1.2A,静转矩4.5kg·cm,额定转速400rmp。
选用的驱动器型号为2MA320,该驱动器的供电电压DC12-36V ,驱动电流0.3-2.0A,细分精度1-128细分,可驱动任何2.0A相电流以下两相、四相混合式步进电机。
由于上述步进电机的相电流为1.2A,驱动器的SW1-SW3分别设置为:ON、OFF、OFF,即输出峰值电流为1.5A,SW5-SW7分别设置为ON、ON、ON,即细分设定为200步/圈。
1.2 控制要求
如图1所示,要求控制丝杠从A点加速到B点后恒速运行,又从C点开始减速到D点,B点到C点间恒速运行,A、D点的脉冲频率为2kHz,B、C点的脉冲频率为5kHz。AB点之间脉冲数为300个,BC点之间脉冲为4000个,CD点之间脉冲为150个。
2 程序设计
SIEMENS公司S7-200PLC可提供2个内置高速脉冲发生器,有脉冲串输出(PTO)和宽度可调脉冲输出(PWM)两种方式。PTO可以输出一串脉冲(占空比50%),用户可控制脉冲周期和个数,用于步进电机的位置控制。
对S7-200PLC的PTO编程有3种实现方法。第一种方法是通过PLS指令编程。第二种方法是通过编程软件STEP7-MicroWIN提供的位置控制指令向导进行配置。第三种方法是采用西门子公司提供的脉冲输出指令库MAP。以下分别对这三种方法进行说明。
2.1 PLS指令编程
根据控制系统要求,首先确定脉冲发生器及工作方式。要求PLC输出多串脉冲,因此用PTO的多段管线方式。选择Q0.0,确定PTO为3段脉冲管线(AB、BC、CD段)。
设置控制字节。将16#A0写入SMB67。
写入周期值、周期增量值和脉冲数。建立包络表。
装入包络表首地址。将包络表起始变量V地址装入SMW168中。
中断调用。中断事件号为19。
执行PLS指令。
经过以上设置并执行指令后,就可用PLS指令启动多段脉冲串,并由Q0.0输出。
2.2 PTO位置控制向导
西门子PLC的组态软件STEP7-MicroWIN提供了位置控制向导可以帮助我们完成PTO组态。该向导可以生成位控指令,用这些指令在应用程序中对位置进行控制。
使用STEP7-MicroWIN位置控制向导,在位置控制向导对话框中选择“配置S7-200 PLC内置PTO/PWM操作”,按以下步骤操作[1]:
(1)指定一个脉冲发生器:选择Q0.0。(2)选择PTO。(3)指定电机速度:电机最高速度(MAX_SPEED)设为5000,电机启动/停止速度(SS_SPEED)为100。(4)设置加速和减速时间:加速时间设为1000ms,减速时间设为500ms。(5)配置位置轮廓:绘制电机运动包络。(6)启动轮廓数据的V内存地址:VB70-VB139。(7)生成项目代码:主要包括子程序PTO0_CTRL、PTO0_RUN、PTO0_MAN等。编程调用PTO0_CTRL子程序(控制)使能和初始化用于步进电机的PTO输出;调用PTO0_RUN子程序(运行包络)命令PLC在一个指定的包络中执行运动操作,此包络存储在组态/包络表中。如图2所示。
2.3 MAP库
西门子公司为S7-200系列PLC本体PTO提供了应用库MAP SERV Q0.0和MAP SERV Q0.1,这两个库的功能完全相同,分别用于Q0.0和Q0.1的脉冲串输出,实现位置控制。从西门子公司网站上下载这两个文件的压缩包SERVMAP.ZIP,解压后就可以在STEP7-MicroWIN中添加库文件。
MAP库包括了9个功能块。应用MAP库时,一些输入/输出点被预先定义。为了使用MAP库,必须为该库分配68字节的全局变量[2]。
应用MAP库编程实现控制要求,程序如图3所示,主要应用了Q0_x_CTRL和Q0_x_MoveAbsolute这两个功能块。
2.4 PTO三种编程方法的比较
上文介绍了S7-200PLC的高速脉冲串输出的三种编程方法,为了更好的使用这些方法,我们对这些方法作一比较。PLS指令编程的方法,需要熟练掌握PTO的编程指令,可以完成较复杂的控制要求。PTO指令向导编程,由于是通过软件向导,操作简单,但受制于向导,不能完成太复杂的控制需求。MAP库编程,编写程序时可以调用库的功能块,辅以数据处理可以实现复杂的位置控制。
3 结束语
应用S7-200PLC对步进电机进行位置控制,可以应用PLC的PTO。在编程方法上,有应用PLS指令、MAP指令库及位置控制指令向导3种方法。在实际应用中,应灵活使用这些方法,提高位置控制系统的精度。
参考文献
[1]王永华.现代电气控制及PLC应用技术[M].北京:北京航空航天大学出版社,2008.
[2]How do you position a servo drive axis using the S7-200 pulse interface?[EB/OL].http://support.automation.siemens.com/WW/view/en/26513850
[3]S7-200PLC脉冲输出MAP库文件的使用手册[Z].西门子(中国)有限公司,2011.
[4]孙建东,蒋兴加.西门子200系列PLC脉冲串输出指令的研究与实践[J].天津职业院校联合学报,2010,12(2):61-63.
[5]郭志冬.基于西门子S7-200PLC的步进电机控制[J].新乡学院学报(自然科学版),2012,29(4):360-361.