本系統(tǒng)以龍門刨床的機械傳動為例,采用PLC作為控制器,通過變頻器調(diào)節(jié)速度,利用光電編碼器和PLC高速計數(shù)器進行定位控制,從而實現(xiàn)精確定位摘??要:在往返式傳動控制系統(tǒng)中,很多時候都會涉及到多點定位問題。即要求在不同的定位點啟動不同的機械動作。但由于機械慣性的作用,常常會給系統(tǒng)帶來定點誤差。本系統(tǒng)以龍門刨床的機械傳動為例,采用PLC作為控制器,通過變頻器調(diào)節(jié)速度,利用光電編碼器和PLC高速計數(shù)器進行定位控制,從而實現(xiàn)精確定位。 關(guān)鍵字:變頻器;?PLC;?高速計數(shù)器;?光電編碼器 1?龍門刨床的機械傳動控制要求[align=center]圖1?往返式機械傳動示意圖[/align] 圖1所示的龍門刨床的機械傳動示意圖。傳動系統(tǒng)從原點啟動,中速行駛到1000mm,開始高速行駛,高速行駛到3000mm,開始低速爬行,低速爬行到終點(3200mm)停車。停頓2s。反向高速行駛,高速行駛到距原點200mm處開始低速爬行。到達原點停車,停頓2s后重新開始往返。在原點和終點低速爬行的目的是為了避免系統(tǒng)慣性帶來的定點誤差,做到原點和終點的精確定位停車。 2?龍門刨床機械傳動的PLC控制系統(tǒng)硬件設(shè)計2.1?系統(tǒng)對變頻器的控制要求 變頻器的正反轉(zhuǎn)由繼電器K1、K2控制,速度的切換由繼電器K3、K4完成。變頻器故障報警輸出觸點(30A、30C觸點)用于立即停止高速計數(shù)器運行,并由指示燈HR指示。 變頻器具有多段速度設(shè)定功能,當(dāng)K3、K4兩個繼電器觸點都斷開時,高速行駛(第一速度);K3閉合,K4斷開時,中速行駛(第二速度);K3斷開,K4閉合時,低速行駛(第三速度);K3、K4都閉合時,手動調(diào)節(jié)行駛(第四速度)。 旋鈕SF用于手動/自動切換,并用指示燈HG1表示自動狀態(tài)。手動時,能夠通過按鈕SA1(電機正轉(zhuǎn))和SA2(電機反轉(zhuǎn))手動調(diào)節(jié)傳動系統(tǒng)的位置。 按鈕SA用于傳動系統(tǒng)在自動狀態(tài)下的啟動/停止控制。采用“一鍵開關(guān)機”方式實現(xiàn)啟動/停止控制,用指示燈HG2表示啟動狀態(tài)。 行程開關(guān)SQ用于自動啟動時,確定傳動系統(tǒng)在原點位置,自動停止時,傳動系統(tǒng)必須返回原點。行程開關(guān)SQ1、SQ2用于傳動系統(tǒng)的兩端限位,確保傳動系統(tǒng)不能脫離設(shè)備。 2.2?PLC系統(tǒng)硬件系統(tǒng)的構(gòu)成及連接 為了實現(xiàn)對龍門刨床機械傳動的精確定位,本系統(tǒng)采用PLC作為控制器,通過變頻器進行速度調(diào)節(jié),采用光電編碼器和PLC高速計數(shù)器進行定位控制。根據(jù)龍門刨床的機械傳動控制要求,系統(tǒng)中有開關(guān)量輸入點8個,開關(guān)量輸出點7個,光電編碼器A相輸入一個,因此選用SIEMENS的CPU224作為控制器,其I/O點的分配及系統(tǒng)接線如圖2所示。 [align=center]圖2?龍門刨床機械傳動PLC控制系統(tǒng)接線圖[/align] 3?PLC梯形圖程序的設(shè)計PLC的梯形圖程序設(shè)計包含主程序(用于實時調(diào)用手動子程序SBR_0和自動子程序SBR_1)、子程序SBR_0(用于實現(xiàn)對系統(tǒng)的手動控制)和SBR_1(用于實現(xiàn)對系統(tǒng)的自動控制)和中斷處理程序INT_0程序(用于處理高速計數(shù)器計數(shù)當(dāng)前值到達不同預(yù)置值的處理)。由于篇幅所限,以下將以中斷處理程序INT_0程序為例,說明變頻器對速度的控制和調(diào)節(jié)。其梯形圖如下。 4?梯形圖設(shè)計過程中要注意的幾個關(guān)鍵問題4.1通過多次更改高速計數(shù)器的中斷和預(yù)置值實現(xiàn)多點定位 實現(xiàn)多點定位控制的關(guān)鍵包括兩點,第一點是設(shè)置高速計數(shù)器中斷事件12(計數(shù)器當(dāng)前值=計數(shù)器預(yù)置值),另一點就是在中斷處理程序中更改高速計數(shù)器預(yù)置值。 定位控制需要測量定位點與原點的距離,然后將單位距離(mm)轉(zhuǎn)換成脈沖量,通過光電編碼器和PLC高速計數(shù)器記錄脈沖量的變化。本系統(tǒng)中,光電編碼器的機械軸和電動機同軸。傳動比=10,用于驅(qū)動設(shè)備的傳動輥直徑=100mm,光電編碼器每轉(zhuǎn)脈沖數(shù)=600個/轉(zhuǎn)。可以計算出每毫米距離的脈沖數(shù)為: 每毫米距離的脈沖數(shù)=600÷(10×100×3.14)≈0.19108脈沖/mm 定點位和預(yù)置值比較,必須采用高速計數(shù)器中斷方式,而不能采用一般的比較指令。因為一般的比較指令無法捕捉高速變化的事件。 所以,必須通過ATCH和ENI指令將高速計數(shù)器中斷事件號12((計數(shù)器當(dāng)前值=計數(shù)器預(yù)置值)與中斷處理程序INT_0連接。在中斷處理程序INT_0中,到達預(yù)置值時,重新裝載下一次的預(yù)置值,并執(zhí)行工藝要求的繼電器輸出,處理變頻器的運行速度。 在自動子程序SBR_1中,將高速計數(shù)器HC0設(shè)置為單相計數(shù)輸入,沒有外部控制功能。在原點和終點通過更改計數(shù)方向,便于中斷處理程序INT_0判斷變頻器的運行方向。 4.2?在中斷處理程序INT_0中不能使用等于比較指令 由于在一個中斷處理程序INT_0中判斷處理多個預(yù)置值。需要比較指令和計數(shù)方向來判斷目前高速計數(shù)器計數(shù)當(dāng)前值在哪個階段,根據(jù)判斷來決定執(zhí)行那一段指令。但是,判斷不能使用等于比較指令,應(yīng)該使用大于或小于指令判斷。 盡管中斷事件(計數(shù)器當(dāng)前值=計數(shù)器預(yù)置值)發(fā)生時,PLC立即中斷當(dāng)前主程序、子程序,執(zhí)行中斷處理程序INT_0中的指令。但是,在中斷處理程序INT_0中,PLC仍然是按照逐條逐行的掃描機制執(zhí)行。而高速變化的計數(shù)值不可能和中斷處理程序執(zhí)行同步,如果采用等于比較指令,PLC在執(zhí)行中斷處理程序時,可能會錯過等于值,使PLC在中斷處理程序中無法判斷設(shè)備運行到哪個階段。 4.3?在自動運行時,高速計數(shù)器的初始值寄存器寫入必須禁止 由于多點定位需要多次裝載預(yù)置值,寫入預(yù)置值必須執(zhí)行HSC指令。 執(zhí)行HSC寫入指令,不單單是寫入預(yù)置值,如果在控制字節(jié)中不加以限制,初始值寄存器SMD38中的值同樣寫入。而SMD38=0,這樣,就會使高速計數(shù)器計數(shù)當(dāng)前值置0。因此,在自動運行時,必須設(shè)置控制字節(jié)SMB37的第七位SM37.6為0,在裝載預(yù)置值時,禁止寫入初始值。 但是,在高速計數(shù)器初始設(shè)置和返回原點重新開始運行時,又必須寫入初始值,使初始值置0,避免機械原因帶來的誤差。因此,控制字節(jié)必須多次修改。遵循的原則是:允許寫入初始值、執(zhí)行HSC指令后,必須馬上修改控制字節(jié),禁止初始值寫入,并再次執(zhí)行HSC指令,中間不能有其它指令存在。 4.4?多點定位的輸出線圈盡量采用立即指令 采用高速計數(shù)器進行多點定位,主要為了精確定位。定位精度既決定于高速計數(shù)器的測量,同時也決定于執(zhí)行機構(gòu)的執(zhí)行快速性。 如果采用普通輸出指令,在一個掃描周期的程序執(zhí)行階段,改變的僅僅是輸出映像存儲器,PLC的輸出點不會立即刷新,只有在程序執(zhí)行完畢后,PLC的輸出映像存儲器才能對輸出點刷新,執(zhí)行輸出。 為了增加定位精度,盡量采用立即輸出指令。立即輸出指令不受PLC掃描周期階段的限制,在改變輸出映像存儲器的同時,立即刷新PLC輸出點。 4.5自動/手動程序采用For-Next循環(huán)指令和子程序指令實現(xiàn) 本系統(tǒng)中的自動/手動功能通過采用For-Next指令和子程序指令實現(xiàn)。自動程序和手動程序?qū)嶋H上就是兩個循環(huán)指令的循環(huán)體。而循環(huán)指令僅執(zhí)行一次循環(huán)掃描刷新。 手動子程序SBR_0和自動子程序SBR_1用于整個程序的分段,便于程序的理解,增加程序的可讀性。For-Next循環(huán)指令的作用是使輸出線圈能夠重復(fù)使用,簡化程序。 中斷處理程序:INT_0 當(dāng)變頻器正向運行(由SM36.5判斷,增計數(shù)為正向運行,SM36.5=1),高速計數(shù)器當(dāng)前值等于19108(1000mm)時,繼電器K3(Q0.2)、K4(Q0.3)斷開,變頻器速度設(shè)定為高速正向行駛(第一速度)。同時將高速計數(shù)器預(yù)置值更改為57325(3000mm)。 當(dāng)變頻器正向運行,高速計數(shù)器當(dāng)前值等于59325(3000mm)時,繼電器K3(Q0.2)斷開、K4(Q0.3)接通,變頻器速度設(shè)定為低速正向爬行行駛(第三速度)。同時將高速計數(shù)器預(yù)置值更改為61146(3200mm)。 當(dāng)變頻器正向運行,高速計數(shù)器當(dāng)前值等于61146(3200mm)時,表明達到終點,繼電器K1(Q0.0)、K2(Q0.1)、K3(Q0.2)、K4(Q0.3)全部復(fù)位斷開,變頻器立即停止運行。同時,發(fā)出終點到達信號M0.1,讓子程序SBR_1處理停頓2s時間,并由SBR_1處理反向運行設(shè)置。 當(dāng)變頻器反向運行(由SM36.5判斷,減計數(shù)為反向運行,SM36.5=0),高速計數(shù)器當(dāng)前值等于3822(200mm)時,繼電器K3(Q0.2)斷開、K4(Q0.3)接通,變頻器速度設(shè)定為低速反向爬行行駛(第三速度)。同時將高速計數(shù)器預(yù)置值更改為0。 當(dāng)變頻器反向運行(由SM36.5判斷,減計數(shù)為反向運行,SM36.5=0),高速計數(shù)器當(dāng)前值等于0時,表明變頻器返回到達原點。繼電器K1(Q0.0)、K2(Q0.1)、K3(Q0.2)、K4(Q0.3)全部復(fù)位斷開,變頻器立即停止運行。同時,發(fā)出原點到達信號M0.0,讓子程序SBR_1處理停頓2s時間,并由SBR_1處理正向重新運行設(shè)置。 本文創(chuàng)新點:往返式傳動控制系統(tǒng)的多點定位是一個較難解決的問題,本系統(tǒng)采用PLC作為控制器,通過變頻調(diào)速,利用光電編碼器和PLC高速計數(shù)器進行定位控制,克服了往返式傳動控制系統(tǒng)中由于機械慣性的作用給系統(tǒng)帶來的定點誤差,從而實現(xiàn)了精確定位。 參考文獻:[1]?SIMATIC?S7-200?可編程序控制器系統(tǒng)手冊和用戶手冊.1999. [2]?方承遠,工廠電氣控制技術(shù)[M].北京:機械工業(yè)出版社,1992.7. [3]?胡幸鳴,戴一平.基于PLC?技術(shù)的組合機床改造[J].微計算機信息,2006,7-1:32-38