利用PLC的高速計數器指令和旋轉編碼器控制三相交流異步電機實現的準確定位 系統工作原理 PLC的高速計數器指令和編碼器的配合使用,在現代工業生產自動控制中可實現精確定位和測量長度。目前,大多數PLC都具有高速計數器功能,例如西門子S7-200系列CPU226型PLC有6個高速計數器。高速計數器可以對脈寬小于PLC主機掃描周期的高速脈沖準確計數,不需要增加特殊功能單元就可以處理頻率高達幾十或上百kHz的脈沖信號。旋轉編碼器則可以將電動機軸上的角位移轉換成脈沖值。 利用PLC的高速計數器指令和編碼器控制三相交流異步電機實現的準確定位控制系統,其原理是通過與電動機同軸相連的光電旋轉編碼器將電機角位移轉換成脈沖值,經由PLC的高速計數器來統計編碼器發出的脈沖個數,從而實現定位控制。 設計與實施 以對傳輸帶的定位控制設計為例加以說明。現需要用傳輸帶運送貨物,從貨物運送起點到指定位置(終點)的距離為10 cm。現要求當傳輸帶上的貨物運行10 cm后,傳輸帶電機停止運行。該系統硬件設置主要包括西門子S7-200CPU226型PLC、傳輸帶電機(三相交流異步電機)、OMRON的E6A2-CW5W光電旋轉編碼器、松下VFO系列BFV00042GK變頻器等。 該系統的工作原理是將光電編碼器的機械軸和傳動輥(由三相交流異步電機拖動)同軸相連,通過傳動輥帶動光電編碼器機械軸轉動,輸出脈沖信號,利用PLC的高速計數器指令對編碼器產生的脈沖(采用A相脈沖)個數進行計數,當高速計數器的當前值等于預置值時產生中斷,經變頻器控制電動機停止運行,從而實現傳輸帶運行距離的準確定位控制。很顯然,該控制系統中實現準確定位控制的關鍵是對PLC的高速計數器的預置值進行設置,高速計數器的預置值即為傳輸帶運行10 cm時光電編碼器產生的脈沖數。該脈沖數值與傳輸帶運行距離、光電編碼器的每轉脈沖數以及傳動輥直徑等參數有關。該脈沖數可以通過實驗測量也可通過計算得出。計算得出傳輸帶運行10 cm對應的脈沖數為: 脈沖數=[(傳動輥直徑(mm)×π÷(脈沖數/轉)]×傳送帶運行距離(mm) 在子程序中,將高速計數器HSC0設置為模式1,即單路脈沖輸入內部方向控制的增/減計數器。無啟動輸入,使用復位輸入。系統開始運行時,調用子程序HSC_INIT,其目的是初始化HSC0,將其控制字節SMB37數據設置為16#F8,對高速計數器寫入當前值和預置值,同時通過中斷連接指令ATCH將中斷事件12(即高速計數器的當前值等于預置值中斷)和中斷服務程序COUNT_EQ連接起來,并執行ENI指令,全局開中斷。當高速計數器的當前值等于預置值時,執行中斷服務程序,將SMD42的值清零,再次執行HSC指令重新對高速計數器寫入當前值和預置值,同時使M0.0置位,電動機停止運行。

|