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