1 引言
在機械加工時,定位控制系統一般用在孔加工機床上(例如鉆孔、鉸孔和鏜孔的數控機床)。定位控制系統僅控制刀具相對于工件的定位,由一個定位點向另一個定位點。用全功能數控系統來實現定位控制功能,這種系統雖然功能十分完善,但其價格十分昂貴,而且,對于中低檔數控機床來說,許多功能對定位控制來說是多余的。如果采用單片機來實現定位控制,需要進行復雜的二次開發,設計硬件電路時,除了微機系統外,還要設計接口電路、抗干擾電路及驅動電路,設計軟件時,要求掌握微機原理及微機的指令系統,并且具有程序開發能力[1]。
PLC是一種數字運算操作的電子系統,專為工業環境設計的一種工業控制計算機,采用面向用戶的指令,編程方便。近年來,PLC在傳統的對開關量處理的基礎上,又增加了數字運算及對模擬信號處理的能力[2]。這給PLC的應用帶來了巨大的發展前景,PLC驅動步進電機實現點位控制,硬件電路設計簡單、方便、快捷,編程時,只要熟悉PLC的指令即可。
2 用PLC實現數控系統的定位控制存在的問題
在定位控制系統中,刀具或工件移動過程中不進行切削,為了減少輔助時間,提高工作效率,要求快速移動,而在接近定位點時,為了保證定位精度則要降低速度。同時,步進電機的啟動是一個加速的過程,為了維護步進電機及驅動設備,要求驅動脈沖頻率也線性增大。
PLC以循環掃描的方式工作,PLC循環掃描一次所需的時間稱為掃描周期。PLC運行正常時掃描周期的長短與CPU的運算速度,與I/O點的情況,與用戶應用程序的長短及編程情況有關。通常用PLC執行1KB指令所需的時間來描述掃描速度(一般為1~10ms/KB)[3]。如果采用傳統的掃描方式來產生驅動脈沖,則要求PLC掃描頻率要比步進電機工作頻率大一個數量級[4],才不會導致步進電機出現失步現象,所以步進電機只能在極低的頻率下工作。這樣顯然不滿足快速定位的要求。綜上所述,問題的關鍵就是要實現步進電機的軟啟動和快速而精確的定位功能。
3 系統方案設計
目前,世界上已有200多個廠家生產PLC,隨著微電子技術的發展,新型器件大幅度的性能提升,PLC的功能不斷增加,已將原來大中型PLC才有的功能部分的移植到小型PLC上,如模擬量處理,數據通信,高速輸入輸出以及數學計算功能[5],而價格卻不斷下降。考慮數控機床定位系統的實際工作情況以及我國對PLC的應用現狀,這里決定采用SIMATIC S7-200系列小型晶體管輸出型可編程控制器(PLC)主機,以滿足高速輸出的頻率要求。
SIMATIC S7-200系列PLC的高速脈沖輸出功能是指在PLC某些輸出端產生高速脈沖,用來驅動負載實現精確控制。高速脈沖輸出有高速脈沖串輸出(PTO)和寬度可調(PWM)脈沖輸出兩種方式,脈沖周期變化范圍是50~65 535us或2~65 535ms,為16位無符號數據;脈沖數用雙字無符號數表示,取值范圍是1~4 294 967 295之間。其輸出不受PLC掃描周期的影響[3],這樣可以滿足數控系統精確定位的要求。
每種PLC主機最多可提供2個高速脈沖輸出端,即Q0.0和Q0.1,一般包括在數字量映像寄存器編號范圍內,如果Q0.0和Q0.1在程序執行時用作高速脈沖輸出,其通用功能被自動禁止。每個高速脈沖發生器對應一定數量的特殊寄存器,包括控制字節寄存器,狀態字節寄存器和參數數值寄存器,它們用以控制高速脈沖輸出形式,反映輸出狀態和參數值。各寄存器功能表如表1所示[3]。
由已知條件可知可選定Q0.0為脈沖輸出端,工作模式為PTO方式,并且確定為多段模式。
表1 相關寄存器的功能表
4 應用實例
在本控制系統中,設刀具或工作臺起始位置在A點,現欲從A點移至D點,其中AD=100mm,定位精度只與步進電機脈沖當量有關,取脈沖當量為0.01mm/步,則需10 000步完成定位。步進電機運行過程中,要從A點加速到B點后恒速運行,又從C點開始減速到D點完成定位過程,如圖1所示[5]。
圖1 步進電機工作過程
由此可確定PTO為3段脈沖管線(AB,BC和CD段)。設最大脈沖頻率為10kHz,將2#10100000寫入控制字節SMB67,允許多段PTO脈沖輸出,時基為us級。建立3段脈沖的包絡表并對各段參數分別設置,給定段的周期增量按下式計算[3]:
給定段的周期增量=(Tec-Tic)/Q;
式中Tec為該段結束周期時間;Tic為該段初始周期時間;Q為該段的脈沖數量。
包絡表結構如表2所示。將包絡表的起始變量V存儲器地址裝入SMW168中。高速輸出完成時,調用中斷子程序,點亮信號燈(本例中使用Q0.2端子)。
表2 包絡表內容
本系統主程序,初始化子程序,包絡表子程序和中斷子程序如圖2所示[3]。
圖2 數控定位系統梯形圖
注:fig 2.1為主程序,fig 2.2為初始化子程序SBR_0,
fig 2.3為中斷程序INT_0,fig 2.4為包絡表子程序SBR_1。
5 結語
本論文詳細分析了用PLC來實現數控定位功能的方法的可行性,并且給出了應用實例。對于二維定位系統可采用Q0.0和Q0.1同時輸出高速脈沖,使兩軸聯動達到定位目的[7],同時使用JUMP指令來實現不同的定位方式[8]。