在自動化生產、加工和控制過程中,經常要對加工工件的尺寸或機械設備移動的距離進行準確定位控制。這種定位控制僅僅要求控制對象按指令進入指定的位置,對運動的速度無特殊要求,例如生產過程中的點位控制(比較典型的如臥式鏜床、坐標鏜床、數控機床等在切削加工前刀具的定位),倉儲系統(tǒng)中對傳送帶的定位控制,機械手的軸定位控制等等。在定位控制系統(tǒng)中常使用交流異步電機或步進電機等伺服電機作為驅動或控制元件。實現定位控制的關鍵則是對伺服電機的控制。由于可編程控制器(PLC)是專為在工業(yè)環(huán)境下應用而設計的一種工業(yè)控制計算機,具有抗干擾能力強、可靠性極高、體積小等顯著優(yōu)點,是實現機電一體化的理想控制裝置。本文旨在闡述利用PLC控制伺服電機實現準確定位的方法,介紹控制系統(tǒng)在設計與實施中需要認識與解決的若干問題,給出了控制系統(tǒng)參考方案及軟硬件結構的設計思路,對于工業(yè)生產中定位控制的實現具有較高的實用與參考價值。
1 利用PLC的高速計數器指令和旋轉編碼器控制三相交流異步電機實現的準確定位
1.1 系統(tǒng)工作原理
PLC的高速計數器指令和編碼器的配合使用,在現代工業(yè)生產自動控制中可實現精確定位和測量長度。目前,大多數PLC都具有高速計數器功能,例如西門子S7-200系列CPU226型PLC有6個高速計數器。高速計數器可以對脈寬小于PLC主機掃描周期的高速脈沖準確計數,不需要增加特殊功能單元就可以處理頻率高達幾十或上百kHz的脈沖信號。旋轉編碼器則可以將電動機軸上的角位移轉換成脈沖值。
利用PLC的高速計數器指令和編碼器控制三相交流異步電機實現的準確定位控制系統(tǒng),其原理是通過與電動機同軸相連的光電旋轉編碼器將電機角位移轉換成脈沖值,經由PLC的高速計數器來統(tǒng)計編碼器發(fā)出的脈沖個數,從而實現定位控制。
1.2 設計與實施
以對傳輸帶的定位控制設計為例加以說明?,F需要用傳輸帶運送貨物,從貨物運送起點到指定位置(終點)的距離為10 cm?,F要求當傳輸帶上的貨物運行10 cm后,傳輸帶電機停止運行。該系統(tǒng)硬件設置主要包括西門子S7-200CPU226型PLC、傳輸帶電機(三相交流異步電機)、OMRON的E6A2-CW5W光電旋轉編碼器、松下VFO系列BFV00042GK變頻器等。該系統(tǒng)的工作原理是將光電編碼器的機械軸和傳動輥(由三相交流異步電機拖動)同軸相連,通過傳動輥帶動光電編碼器機械軸轉動,輸出脈沖信號,利用PLC的高速計數器指令對編碼器產生的脈沖(采用A相脈沖)個數進行計數,當高速計數器的當前值等于預置值時產生中斷,經變頻器控制電動機停止運行,從而實現傳輸帶運行距離的準確定位控制。很顯然,該控制系統(tǒng)中實現準確定位控制的關鍵是對PLC的高速計數器的預置值進行設置,高速計數器的預置值即為傳輸帶運行10 cm時光電編碼器產生的脈沖數。該脈沖數值與傳輸帶運行距離、光電編碼器的每轉脈沖數以及傳動輥直徑等參數有關。該脈沖數可以通過實驗測量也可通過計算得出。計算得出傳輸帶運行10 cm對應的脈沖數為:
脈沖數=[(傳動輥直徑(mm)&TImes;π÷(脈沖數/轉)]&TImes;傳送帶運行距離(mm)
該系統(tǒng)通過計算得出脈沖數為100,則高速計數器的預置值即為100。參考程序如圖1所示。
在子程序中,將高速計數器HSC0設置為模式1,即單路脈沖輸入內部方向控制的增/減計數器。無啟動輸入,使用復位輸入。系統(tǒng)開始運行時,調用子程序HSC_INIT,其目的是初始化HSC0,將其控制字節(jié)SMB37數據設置為16#F8,對高速計數器寫入當前值和預置值,同時通過中斷連接指令ATCH將中斷事件12(即高速計數器的當前值等于預置值中斷)和中斷服務程序COUNT_EQ連接起來,并執(zhí)行ENI指令,全局開中斷。當高速計數器的當前值等于預置值時,執(zhí)行中斷服務程序,將SMD42的值清零,再次執(zhí)行HSC指令重新對高速計數器寫入當前值和預置值,同時使M0.0置位,電動機停止運行。