S7-200系列西門(mén)子PLC是一種體積小、編程簡(jiǎn)單、控制方便的可編程控制器,它提供了多種位置控制方式可供用戶(hù)選擇,因此,如何利用該系列西門(mén)子PLC實(shí)現(xiàn)對(duì)伺服電機(jī)運(yùn)動(dòng)位置較為精準(zhǔn)的控制是本文的研究重點(diǎn)。
1. 基本控制系統(tǒng)
伺服系統(tǒng)分為液壓伺服系統(tǒng)、電氣-液壓伺服系統(tǒng)以及電氣伺服系統(tǒng)。本文主要討論了電氣伺服系統(tǒng)中的交流伺服系統(tǒng),其基本組成為交流伺服電機(jī)、編碼器和伺服驅(qū)動(dòng)器。交流伺服系統(tǒng)的工作原理是伺服驅(qū)動(dòng)器發(fā)送運(yùn)動(dòng)命令,驅(qū)動(dòng)伺服電機(jī)運(yùn)動(dòng),并接收來(lái)自編碼器的反饋信號(hào),然后重新計(jì)算伺服電機(jī)運(yùn)動(dòng)目標(biāo)位置,從而達(dá)到精確控制伺服電機(jī)運(yùn)動(dòng)。
本伺服系統(tǒng)中選用Exlar公司生產(chǎn)的GSX50-0601型伺服直線(xiàn)電動(dòng)缸。該電動(dòng)缸由普通伺服電機(jī)和一個(gè)行星滾珠絲杠組成,用來(lái)實(shí)現(xiàn)將旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)變?yōu)橹本€(xiàn)運(yùn)動(dòng)。此外,選用Xenus公司生產(chǎn)的XenusTM型伺服驅(qū)動(dòng)器。它可以利用RS.232串口通信方式和外部脈沖方式實(shí)現(xiàn)位置控制。
一般來(lái)說(shuō),一個(gè)伺服系統(tǒng)運(yùn)轉(zhuǎn)需要配置一個(gè)上位機(jī),所以本系統(tǒng)采用S7-200西門(mén)子PLC作為上位機(jī)控制器。通過(guò)高速脈沖輸出、EM253位置控制模塊、自由口通信三種方式控制伺服電機(jī)運(yùn)動(dòng)。
2. 高速脈沖輸出模式
西門(mén)子CPU226CN配置兩個(gè)內(nèi)置脈沖發(fā)生器,它有脈沖串輸出(PTO)和脈沖寬度調(diào)制輸出兩種脈沖發(fā)生模式可供選擇。這兩個(gè)脈沖發(fā)生器的zui大脈沖輸出頻率為100 kHz。在脈沖串輸出方式中,PLC可生成一個(gè)50%占空比脈沖串,用于步進(jìn)電機(jī)或伺服電機(jī)的速度和位置的控制。
2.1 硬件構(gòu)成
圖1為高速脈沖輸出方式的位置控制原理圖。控制過(guò)程中,將伺服驅(qū)動(dòng)器工作定義在脈沖+方向模式下,Q0.0發(fā)送脈沖信號(hào),控制電機(jī)的轉(zhuǎn)速和目標(biāo)位置;Qo,發(fā)送方向信號(hào),控制電機(jī)的運(yùn)動(dòng)方向。伺服電動(dòng)缸上帶有左限位開(kāi)關(guān)LIM一、右限位開(kāi)關(guān)LIM+以及參考點(diǎn)位置開(kāi)關(guān)REF。三個(gè)限位信號(hào)分別連接到CPU224XP的I0.0~I(xiàn)0.2三個(gè)端子上,可通過(guò)軟件編程,實(shí)現(xiàn)限位和找尋參考點(diǎn)。
圖1 位置控制原理圖
2.2 程序設(shè)計(jì)
高速脈沖串輸出(PTO)可以通過(guò)Step 7 Micro/WIN的位置控制向?qū)нM(jìn)行組態(tài),也可通過(guò)軟件編程實(shí)現(xiàn)控制。PTO輸出方式?jīng)]有專(zhuān)門(mén)的位置控制指令,只有一條脈沖串輸出指令,而且在脈沖發(fā)送過(guò)程中不能停止,也不能修改參數(shù)。為解決以上問(wèn)題,可以設(shè)置脈沖計(jì)數(shù)值等于10(或更小),并能使脈沖發(fā)送指令PLS處于激活狀態(tài)。這樣,就可以在任一脈沖串發(fā)送完之后修改脈沖周期。
圖2為高速脈沖輸出方式位置控制流程圖。控制思路為:通過(guò)PTO模式輸出,可以控制脈沖的周期和個(gè)數(shù);通過(guò)啟用高速計(jì)數(shù)器HSC,對(duì)輸出脈沖進(jìn)行實(shí)時(shí)計(jì)數(shù)和定位控制,以控制伺服電機(jī)的運(yùn)動(dòng)過(guò)程。
圖2 位置控制流程圖
3. EM253位置控制模塊
EM253位置控制模塊是S7-200西門(mén)子plc的特殊功能位置控制模塊,它能夠產(chǎn)生脈沖串用于步進(jìn)電機(jī)與伺服電機(jī)的速度和位置的開(kāi)環(huán)控制。
3.1 硬件構(gòu)成
如圖3所示為EM253位置控制原理圖,定義伺服驅(qū)動(dòng)器工作在脈沖+方向模式下。P0口發(fā)送脈沖,P1口發(fā)送方向,DIS端硬件使能放大器,并同時(shí)清除放大器錯(cuò)誤。LIM-、LIM+、REF分別為電機(jī)左限位、右限位以及參考點(diǎn)。
圖3 EM253位置控制原理圖
3.2 程序設(shè)計(jì)
EM253位置控制模塊可以通過(guò)Step 7-Micro/WIN進(jìn)行向?qū)渲?,配置完成后系統(tǒng)將自動(dòng)生成子程序,編程簡(jiǎn)單、可輕松實(shí)現(xiàn)手動(dòng)、自動(dòng)、軌跡運(yùn)行模式。由于EM253屬于開(kāi)環(huán)控制,不能很好地反饋電機(jī)實(shí)際運(yùn)動(dòng)情況。因此,利用伺服驅(qū)動(dòng)器本身的差分輸出信號(hào),通過(guò)西門(mén)子變頻器軟件設(shè)置,反饋給PLC,實(shí)現(xiàn)閉環(huán)位置控制。但由于直線(xiàn)伺服電動(dòng)缸與PLE可允許發(fā)送接收信號(hào)存在一定差別,因此,需要對(duì)輸入到PLC的信號(hào)進(jìn)行電平的轉(zhuǎn)化以及降低伺服驅(qū)動(dòng)器發(fā)送的反饋脈沖頻率。西門(mén)子PLC對(duì)輸入脈沖進(jìn)行累加,從而得到電機(jī)的實(shí)際運(yùn)轉(zhuǎn)位置與運(yùn)轉(zhuǎn)速度,其脈沖計(jì)數(shù)程序如下。
①計(jì)數(shù)器初始化程序
LD SMO. 1//掃描時(shí)
MOVB 16#FC, SMB47
//SMB47 =16#F4,SMB47為高速計(jì)數(shù)器1的控制字節(jié)
HDEF 1,9
//將HSC1配置為正交模式
MOVD 0, SMD48
//設(shè)置HSCI的新初始值為0
MOVD 20000,SMD52
//設(shè)置HSCI的新預(yù)設(shè)值為20 000
HSC I//激活高速計(jì)數(shù)器I
②脈沖計(jì)數(shù)程序
LD SMO. 0
MOVD HC1,VD600
//將高速計(jì)數(shù)器1所記數(shù)值存儲(chǔ)在VD600中
DTR VD600, VD610
// VD601〕中的整數(shù)轉(zhuǎn)化為實(shí)數(shù),存人VD6100
/R SOOO,VD610
// VD610除以5000存入VD610 ,
5001〕為電機(jī)旋轉(zhuǎn)一周編碼器發(fā)送脈沖數(shù)
*R 2.54, VD610
//VD610乘以2.54存人VD610 ,
2.54為電機(jī)旋轉(zhuǎn)一周移動(dòng)的距離
4 RS-232串口通信方式
4.1硬件構(gòu)成
西門(mén)子CPU22
當(dāng)S7-200系列PLC工作在自由口通信模式下時(shí),一般通過(guò)CPU模塊的集成接口進(jìn)行通信。CPU集成接口采用了PPI硬件規(guī)范,其接口為RS-485串口,因此,當(dāng)S7-200系列西門(mén)子PLC的CPU與帶有RS-232標(biāo)準(zhǔn)接口的計(jì)算機(jī)或伺服驅(qū)動(dòng)器連接時(shí),需要配套選用S7-200 PLC的PC/PPI轉(zhuǎn)換電纜或一個(gè)RS-232/RS-485轉(zhuǎn)換器。
4.2 PLC與伺服系統(tǒng)通信
4.2.1 報(bào)文構(gòu)成
S7-200PLC在無(wú)協(xié)議通信方式工作時(shí),不需要任何通信協(xié)議,通信參數(shù)需要根據(jù)與其進(jìn)行通信的伺服驅(qū)動(dòng)器的通信格式進(jìn)行設(shè)定。本伺服系統(tǒng)選用的Xe-nus伺服驅(qū)動(dòng)器可通過(guò)RS-232與PLC利用ASCII碼進(jìn)行通信,其ASCII碼消息命令格式如下:
<命令代碼><命令具體參數(shù)>
其中:<命令代碼>為一個(gè)單字母代碼;<命令具體參數(shù)>表示電機(jī)所要執(zhí)行的任務(wù);為一個(gè)回車(chē)返回字符,表示命令結(jié)束。如:s r0x2A 21表示設(shè)置伺服控制器工作在可編程控制模式。
4.2.2 程序設(shè)計(jì)
程序設(shè)計(jì)時(shí),將伺服驅(qū)動(dòng)器工作定義在可編程位置模式。該模式支持實(shí)時(shí)更改伺服電機(jī)的運(yùn)動(dòng)速度、位置,通過(guò)RS-232接收來(lái)自PLC的ASCII碼命令,執(zhí)行運(yùn)動(dòng)。部分程序如下:
①初始化程序
LD SMO. 1 //掃描
MOVB 9, SMB30
//設(shè)置自由端口0
通信方式SMB30=9、8位數(shù)據(jù)位、9600、PPI
MOVB 188, SMB87
//設(shè)置自由端口。接收信息控制5MB87 =188
MOVB 13,SMB89 //設(shè)置自由端口0
結(jié)束字符SMB89=13,即結(jié)束字符=
MOVW 0, SMW90 //設(shè)置自由端口0
空閑超時(shí)SMB90=0,信息接收始終處于有效
MOVW200, SMW92
//設(shè)置自由端口0信息超時(shí)SMB92 =200 ms
MOVB 255, SMB94
//設(shè)置自由端口0接收字符zui大數(shù)SMB94=255
ATCH INT_0,9 //發(fā)送完成觸發(fā)中斷事件0
ENI //允許中斷
②發(fā)送信息程序
LDN VD3501.1
// V D3501.1為接收延遲,
自由端口0沒(méi)有處于接收延遲時(shí)
A SM4. 5
//自由端口0處于空閑狀態(tài),SM4.5 =1
AB= VB18, 7
//命令字節(jié)VB18 =7,即要求設(shè)置運(yùn)動(dòng)目標(biāo)位置
SCPY "s r0xca',VB3100
//"s r0xca',復(fù)制到VB3100,
"s r0xca'為設(shè)置運(yùn)動(dòng)目標(biāo)位置命令
SCAT VB3600, VB3100
// VB360()內(nèi)的目標(biāo)位置值連接到設(shè)置目標(biāo)位置命令后
SCAT VB3190, VB3100
//VB3190內(nèi)的結(jié)束字節(jié)連接到VB3100后;
XMT VB3100, 0
//通過(guò)自由端口0發(fā)送命令至伺服驅(qū)動(dòng)器
③發(fā)送完成中斷程序(接收信息)
LD SM0.0 //SM0.0總是為1
S SM87.7, 1
//置SM87. 7=1,SM87.7為允許接收信息位
RCV VB3200, 0
//通過(guò)自由端口0接收信息至VB3200
5 三種控制方式的分析比較
上文分別從硬件結(jié)構(gòu)與軟件編程等方面,詳細(xì)介紹了三種伺服電機(jī)位置控制方式。為了更好地理解這三種方式的差異,我們從軟件與控制結(jié)果的角度作如下分析比較。
①軟件編程
脈沖串輸出方式可以輕松實(shí)現(xiàn)一些簡(jiǎn)單的位置與速度控制,具有硬件要求簡(jiǎn)單、可取代EM253并節(jié)省系統(tǒng)硬件配置等功能。但在編寫(xiě)較為復(fù)雜的運(yùn)動(dòng)程序時(shí)(如運(yùn)動(dòng)需要確定電機(jī)運(yùn)動(dòng)的原點(diǎn)位置),由于步驟繁瑣,故不能采用該方法加以實(shí)現(xiàn)。
②控制精度
高速脈沖輸出方式和EM253位置控制方式均屬于開(kāi)環(huán)位置控制,它們只負(fù)責(zé)發(fā)送脈沖,但當(dāng)伺服電機(jī)或伺服驅(qū)動(dòng)器出現(xiàn)故障時(shí),PLC或EM253都沒(méi)得到相應(yīng)的反饋信息,仍然在不斷向外發(fā)送脈沖;而采用通信控制方式則是在每次發(fā)送命令結(jié)束時(shí),伺服驅(qū)動(dòng)器均會(huì)對(duì)發(fā)送的命令做出應(yīng)答。
③位置控制結(jié)果
伺服電機(jī)的速度等于PLC或EM253的輸出脈沖頻匆電機(jī)每轉(zhuǎn)一圈發(fā)送的脈沖數(shù),或直接通過(guò)RS-232串口發(fā)送ASCII碼控制。由于S7-200系列PLC(除CPU224XP)高速脈沖輸出口的zui高頻率為20 kHz,EM253的zui高輸出頻率為200 kHz,RS-232串口通信控制方式則是發(fā)送ASCII碼設(shè)定運(yùn)動(dòng)速度。因此,對(duì)于要求高速運(yùn)動(dòng),或高控制精度的伺服驅(qū)動(dòng)器系統(tǒng),RS-232串口通信控制方式*,而高速脈沖輸出方式則不能滿(mǎn)足要求。
采用高速脈沖輸出控制和EM253位置控制方式時(shí),伺服驅(qū)動(dòng)器工作在脈沖+方向模式下,而處于通信控制方式時(shí),伺服驅(qū)動(dòng)器工作在可編程位置控制模式下。高速脈沖輸出方式不能根據(jù)實(shí)際狀況實(shí)時(shí)更改伺服電機(jī)運(yùn)動(dòng)速度與目標(biāo)位置,EM253位置控制方式只能在手動(dòng)模式下實(shí)時(shí)更改速度,采用通信控制方式時(shí),當(dāng)伺服驅(qū)動(dòng)器設(shè)置電機(jī)在可編程位置控制模式下運(yùn)動(dòng)時(shí),可通過(guò)RS-232串口發(fā)送ASCII碼命令,實(shí)時(shí)更改速度和目標(biāo)位置。