在回答這個(gè)問題之前,首先要清楚伺服電機(jī)的用途,相對(duì)于普通的電機(jī)來說,伺服電機(jī)主要用于精確定位,因此大家通常所說的控制伺服,其實(shí)就是對(duì)伺服電機(jī)的位置控制。其實(shí),伺服電機(jī)還用另外兩種工作模式,那就是速度控制和轉(zhuǎn)矩控制,不過應(yīng)用比較少而已。
速度控制一般都是有變頻器實(shí)現(xiàn),用伺服電機(jī)做速度控制,一般是用于快速加減速或是速度精準(zhǔn)控制的場(chǎng)合,因?yàn)橄鄬?duì)于變頻器,伺服電機(jī)可以在幾毫米內(nèi)達(dá)到幾千轉(zhuǎn),由于伺服都是閉環(huán)的,速度非常穩(wěn)定。轉(zhuǎn)矩控制主要是 控制伺服電機(jī)的輸出轉(zhuǎn)矩,同樣是因?yàn)樗欧姍C(jī)的響應(yīng)快。應(yīng)用以上兩種控制,可以把伺服驅(qū)動(dòng)器當(dāng)成變頻器,一般都是用模擬量控制。
伺服電機(jī)最主要的應(yīng)用還是定位控制,位置控制有兩個(gè)物理量需要控制,那就是速度和位置,確切的說,就是控制伺服電機(jī)以多快的速度到達(dá)什么地方,并準(zhǔn)確的停下。
伺服驅(qū)動(dòng)器通過接收的脈沖頻率和數(shù)量來控制伺服電機(jī)運(yùn)行的距離和速度。比如,我們約定伺服電機(jī)每10000個(gè)脈沖轉(zhuǎn)一圈。如果PLC在一分鐘內(nèi)發(fā)送10000個(gè)脈沖,那么伺服電機(jī)就以1r/min的速度走完一圈,如果在一秒鐘內(nèi)發(fā)送10000個(gè)脈沖,那么伺服電機(jī)就以60r/min的速度走完一圈。
所以,PLC是通過控制發(fā)送的脈沖來控制伺服電機(jī)的,用物理方式發(fā)送脈沖,也就是使用PLC的晶體管輸出是最常用的方式,一般是低端PLC采用這種方式。而中高端PLC是通過通訊的方式把脈沖的個(gè)數(shù)和頻率傳遞給伺服驅(qū)動(dòng)器,比如Profibus-DP CANopen,MECHATROLINK-II,EtherCAT等等。這兩種方式只是實(shí)現(xiàn)的渠道不一樣,實(shí)質(zhì)是一樣的,對(duì)我們編程來說,也是一樣的。這也就是我想跟大家說的,要學(xué)習(xí)原理,觸類旁通,而不是為了學(xué)習(xí)而學(xué)習(xí)。
對(duì)于程序編寫,這個(gè)差別很大,日系PLC是采用指令的方式,而歐系PLC是采用功能塊的形式。但實(shí)質(zhì)是一樣的,比如要控制伺服走一個(gè)絕對(duì)定位,我們就需要控制PLC的輸出通道,脈沖數(shù),脈沖頻率,加減速時(shí)間,以及需要知道伺服驅(qū)動(dòng)器什么時(shí)候定位完成,是否碰到限位等等。無論哪種PLC,無非就是對(duì)這幾個(gè)物理量的控制和運(yùn)動(dòng)參數(shù)的讀取,只是不同PLC實(shí)現(xiàn)方法不一樣。