劉云龍
摘 要:研究了高速脈沖串輸出在步進(jìn)電機(jī)位置控制中的應(yīng)用,包括應(yīng)用PLS指令、MAP指令庫(kù)及位置控制指令向?qū)У确椒?。給出了系統(tǒng)構(gòu)成,說明了各種方法的應(yīng)用。對(duì)步進(jìn)電機(jī)的位置控制有實(shí)際意義。
關(guān)鍵詞:S7-200;步進(jìn)電機(jī);位置控制;PTO;MAP;PLS
引言
作為自動(dòng)控制系統(tǒng)中的執(zhí)行元件,步進(jìn)電機(jī)的應(yīng)用十分廣泛,主要原因是步進(jìn)電機(jī)有很多優(yōu)點(diǎn),其中它的控制方法比較簡(jiǎn)單。步進(jìn)電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖個(gè)數(shù)??梢酝ㄟ^控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,進(jìn)行調(diào)速;可以通過控制脈沖個(gè)數(shù)來控制角位移量,進(jìn)行準(zhǔn)確定位。
控制步進(jìn)電機(jī)的方法較多,目前流行的是采用PLC通過步進(jìn)電機(jī)驅(qū)動(dòng)器來控制步進(jìn)電機(jī)。為了配合步進(jìn)電機(jī)的控制,許多PLC都內(nèi)置脈沖輸出功能,并設(shè)置了相應(yīng)的控制指令,可以很好地對(duì)步進(jìn)電機(jī)進(jìn)行控制。
為了實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的開環(huán)定位控制,可以通過PLC控制輸出脈沖來實(shí)現(xiàn)。本文應(yīng)用SIEMENS公司S7-200PLC來控制步進(jìn)電機(jī)。SIEMENS公司S7-200PLC主要提供了以下幾種方式的開環(huán)定位控制:脈沖串輸出(PTO)、EM253位控模塊、自由口通信等。文章主要探討PTO這種方式。
1 步進(jìn)電機(jī)位置控制系統(tǒng)
1.1 硬件系統(tǒng)
步進(jìn)電機(jī)位置控制系統(tǒng)由PLC、步進(jìn)電機(jī)驅(qū)動(dòng)器、步進(jìn)電機(jī)和絲杠組成。
系統(tǒng)選擇的PLC為SIEMENS公司CPU226DC/DC/DC型。
選用的步進(jìn)電機(jī)是42H2P4812A4的兩相混合式步進(jìn)電機(jī),該型號(hào)的步進(jìn)電機(jī)步矩角為1.8°,相電流1.2A,靜轉(zhuǎn)矩4.5kg·cm,額定轉(zhuǎn)速400rmp。
選用的驅(qū)動(dòng)器型號(hào)為2MA320,該驅(qū)動(dòng)器的供電電壓DC12-36V ,驅(qū)動(dòng)電流0.3-2.0A,細(xì)分精度1-128細(xì)分,可驅(qū)動(dòng)任何2.0A相電流以下兩相、四相混合式步進(jìn)電機(jī)。
由于上述步進(jìn)電機(jī)的相電流為1.2A,驅(qū)動(dòng)器的SW1-SW3分別設(shè)置為:ON、OFF、OFF,即輸出峰值電流為1.5A,SW5-SW7分別設(shè)置為ON、ON、ON,即細(xì)分設(shè)定為200步/圈。
1.2 控制要求
如圖1所示,要求控制絲杠從A點(diǎn)加速到B點(diǎn)后恒速運(yùn)行,又從C點(diǎn)開始減速到D點(diǎn),B點(diǎn)到C點(diǎn)間恒速運(yùn)行,A、D點(diǎn)的脈沖頻率為2kHz,B、C點(diǎn)的脈沖頻率為5kHz。AB點(diǎn)之間脈沖數(shù)為300個(gè),BC點(diǎn)之間脈沖為4000個(gè),CD點(diǎn)之間脈沖為150個(gè)。
2 程序設(shè)計(jì)
SIEMENS公司S7-200PLC可提供2個(gè)內(nèi)置高速脈沖發(fā)生器,有脈沖串輸出(PTO)和寬度可調(diào)脈沖輸出(PWM)兩種方式。PTO可以輸出一串脈沖(占空比50%),用戶可控制脈沖周期和個(gè)數(shù),用于步進(jìn)電機(jī)的位置控制。
對(duì)S7-200PLC的PTO編程有3種實(shí)現(xiàn)方法。第一種方法是通過PLS指令編程。第二種方法是通過編程軟件STEP7-MicroWIN提供的位置控制指令向?qū)нM(jìn)行配置。第三種方法是采用西門子公司提供的脈沖輸出指令庫(kù)MAP。以下分別對(duì)這三種方法進(jìn)行說明。
2.1 PLS指令編程
根據(jù)控制系統(tǒng)要求,首先確定脈沖發(fā)生器及工作方式。要求PLC輸出多串脈沖,因此用PTO的多段管線方式。選擇Q0.0,確定PTO為3段脈沖管線(AB、BC、CD段)。
設(shè)置控制字節(jié)。將16#A0寫入SMB67。
寫入周期值、周期增量值和脈沖數(shù)。建立包絡(luò)表。
裝入包絡(luò)表首地址。將包絡(luò)表起始變量V地址裝入SMW168中。
中斷調(diào)用。中斷事件號(hào)為19。
執(zhí)行PLS指令。
經(jīng)過以上設(shè)置并執(zhí)行指令后,就可用PLS指令啟動(dòng)多段脈沖串,并由Q0.0輸出。
2.2 PTO位置控制向?qū)?/p>
西門子PLC的組態(tài)軟件STEP7-MicroWIN提供了位置控制向?qū)Э梢詭椭覀兺瓿蒔TO組態(tài)。該向?qū)Э梢陨晌豢刂噶?,用這些指令在應(yīng)用程序中對(duì)位置進(jìn)行控制。
使用STEP7-MicroWIN位置控制向?qū)?,在位置控制向?qū)?duì)話框中選擇“配置S7-200 PLC內(nèi)置PTO/PWM操作”,按以下步驟操作[1]:
(1)指定一個(gè)脈沖發(fā)生器:選擇Q0.0。(2)選擇PTO。(3)指定電機(jī)速度:電機(jī)最高速度(MAX_SPEED)設(shè)為5000,電機(jī)啟動(dòng)/停止速度(SS_SPEED)為100。(4)設(shè)置加速和減速時(shí)間:加速時(shí)間設(shè)為1000ms,減速時(shí)間設(shè)為500ms。(5)配置位置輪廓:繪制電機(jī)運(yùn)動(dòng)包絡(luò)。(6)啟動(dòng)輪廓數(shù)據(jù)的V內(nèi)存地址:VB70-VB139。(7)生成項(xiàng)目代碼:主要包括子程序PTO0_CTRL、PTO0_RUN、PTO0_MAN等。編程調(diào)用PTO0_CTRL子程序(控制)使能和初始化用于步進(jìn)電機(jī)的PTO輸出;調(diào)用PTO0_RUN子程序(運(yùn)行包絡(luò))命令PLC在一個(gè)指定的包絡(luò)中執(zhí)行運(yùn)動(dòng)操作,此包絡(luò)存儲(chǔ)在組態(tài)/包絡(luò)表中。如圖2所示。
2.3 MAP庫(kù)
西門子公司為S7-200系列PLC本體PTO提供了應(yīng)用庫(kù)MAP SERV Q0.0和MAP SERV Q0.1,這兩個(gè)庫(kù)的功能完全相同,分別用于Q0.0和Q0.1的脈沖串輸出,實(shí)現(xiàn)位置控制。從西門子公司網(wǎng)站上下載這兩個(gè)文件的壓縮包SERVMAP.ZIP,解壓后就可以在STEP7-MicroWIN中添加庫(kù)文件。
MAP庫(kù)包括了9個(gè)功能塊。應(yīng)用MAP庫(kù)時(shí),一些輸入/輸出點(diǎn)被預(yù)先定義。為了使用MAP庫(kù),必須為該庫(kù)分配68字節(jié)的全局變量[2]。
應(yīng)用MAP庫(kù)編程實(shí)現(xiàn)控制要求,程序如圖3所示,主要應(yīng)用了Q0_x_CTRL和Q0_x_MoveAbsolute這兩個(gè)功能塊。
2.4 PTO三種編程方法的比較
上文介紹了S7-200PLC的高速脈沖串輸出的三種編程方法,為了更好的使用這些方法,我們對(duì)這些方法作一比較。PLS指令編程的方法,需要熟練掌握PTO的編程指令,可以完成較復(fù)雜的控制要求。PTO指令向?qū)Ь幊?,由于是通過軟件向?qū)В僮骱?jiǎn)單,但受制于向?qū)?,不能完成太?fù)雜的控制需求。MAP庫(kù)編程,編寫程序時(shí)可以調(diào)用庫(kù)的功能塊,輔以數(shù)據(jù)處理可以實(shí)現(xiàn)復(fù)雜的位置控制。
3 結(jié)束語
應(yīng)用S7-200PLC對(duì)步進(jìn)電機(jī)進(jìn)行位置控制,可以應(yīng)用PLC的PTO。在編程方法上,有應(yīng)用PLS指令、MAP指令庫(kù)及位置控制指令向?qū)?種方法。在實(shí)際應(yīng)用中,應(yīng)靈活使用這些方法,提高位置控制系統(tǒng)的精度。
參考文獻(xiàn)
[1]王永華.現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,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庫(kù)文件的使用手冊(cè)[Z].西門子(中國(guó))有限公司,2011.
[4]孫建東,蔣興加.西門子200系列PLC脈沖串輸出指令的研究與實(shí)踐[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),2010,12(2):61-63.
[5]郭志冬.基于西門子S7-200PLC的步進(jìn)電機(jī)控制[J].新鄉(xiāng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2012,29(4):360-361.