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