一,、應(yīng)用背景
本文講述了DVP-EH2型PLC在我公司的雙工位深孔鉆機床上的應(yīng)用。雙工位深孔鉆機床為我公司開發(fā)生產(chǎn)的重點產(chǎn)品,,機床主要用于汽車剎車泵缸體的鉆孔加工,,在市場上具有很大的應(yīng)用潛力。
機床加工的基本原理是:槍鉆鉆頭動力頭平置于機床工作臺,,加工件安放于豎直的滑臺上的工件夾具內(nèi),。滑臺沿槍鉆鉆頭旋轉(zhuǎn)的垂直線上下運行。加工時,,鉆頭高速旋轉(zhuǎn),,滑臺帶動工件往下運行,對產(chǎn)品進行鉆孔加工,,加工尺寸到位后,,滑臺再往上運行,退出工件,,關(guān)閉動力頭,。
傳統(tǒng)的機床采用液壓油缸驅(qū)動。當(dāng)液壓油缸行程到位后,,利用行程開關(guān)控制液壓電磁閥動作,,使油缸返回。液壓驅(qū)動的最大問題是加工孔深精度很難控制,。運行速度調(diào)節(jié)也不是很方便,。
機床采用伺服電機控制絲桿滑臺上下運行定位,滑臺往下運行時,,對產(chǎn)品進行鉆孔加工,,加工完成后,滑臺再住上運行,,退出,。與傳統(tǒng)的液壓油缸驅(qū)動相比較,由于利用伺服電機定位控制,,可以很方便的進行加工速度設(shè)置,,高精確地達到鉆孔深度的控制。
雙工位深孔鉆機床是兩個工位同時加工,,互不干涉。一個機床操作員控制,,可以同時進行兩件工件的加工,。是提高加工效益,減少投資的不二之舉,。
機床控制方案可以選用簡易型數(shù)控控制系統(tǒng)(CNC),。當(dāng)前市面上也有很多兩軸的數(shù)控產(chǎn)品。數(shù)控系統(tǒng)有著標(biāo)準(zhǔn)的G代碼編程,,也能夠很方便的進行伺服的定位控制,。但是須要完成兩軸相互獨立,互不干擾的定位時,,CNC在編程時遇到了制約,。CNC的兩軸或多軸G代碼在編程時,不能做到同時執(zhí)行兩段獨立的定位指令。當(dāng)然,,也可以采用兩臺單軸的CNC控制系統(tǒng),。但是,這樣的控制過于冗雜,,成本也過高,,應(yīng)用價值不高。
鑒于以上原因 ,,實現(xiàn)此機床控制要求可以選用PLC進行控制,。機床的定位動作并不復(fù)雜,只需要正向加工定位,、反向退出定位兩段位置控制指令,。很多型式的PLC都帶有高速脈沖輸出功能,具有很方便的相對定位,,絕對定位指令,。不需要另加擴展模塊,能夠很方便的實現(xiàn)機床的運動控制,。
二,、控制概要
1、機床需要兩軸脈沖輸出,,以分別控制兩個工位的絲桿滑臺運行,。滑臺的定位速度不小于6m/min,。定位精度小于0.01mm,。在電氣控制設(shè)計上,一般都設(shè)計為0.001mm/P,,即0.001mm每脈沖當(dāng)量,。 這樣,方便進行運算,,電子齒輪比也容易計算,。機械制造上采用精密絲桿傳動(雙螺母滾珠絲桿),也比較容易就能達到0.01的定位精度,。
2,、 機床人機對話采用控制面板的開關(guān)按鈕與觸摸屏接合。工件的加工速度,,加工尺寸在觸摸屏上利用參數(shù)的形式進行設(shè)置,。
觸摸屏與PLC組態(tài)后,可以對PLC的一些關(guān)鍵內(nèi)部數(shù)據(jù)時行監(jiān)控,,包括實時顯示工件坐標(biāo),、動力頭電機電流,。顯示加工狀態(tài)、關(guān)鍵的PLC內(nèi)部數(shù)據(jù)或一些故障碼,、異常信號,,方便進行機床的狀態(tài)分析、故障疹斷,。
觸摸屏與PLC可以很方便的實現(xiàn)通信,。兩者組態(tài)時,只要設(shè)置好兩者之間的通信協(xié)議,,觸摸屏即可以讀寫PLC的D,、M數(shù)據(jù)了。
3,、槍鉆的加工因為工件的材質(zhì)不同,、加工孔徑的大小不一,槍鉆鉆頭的轉(zhuǎn)速也要求能夠很方便的進行調(diào)節(jié),。因此,,機床的動力頭轉(zhuǎn)速采用變頻器進行調(diào)速控制。
機床控制系統(tǒng),,可以監(jiān)視變頻器的相應(yīng)狀態(tài),,包括輸出頻率,輸出電壓,,負載電流,。因此,可以將PLC與變頻器進行RS485通信讀取讀據(jù),。同時,,PLC對變頻器的速度、運行,、停機等可以通過RS485通信進行控制,,方便變頻器的控制接線。
4,、機床加工還須要一定的外部輔助功能,。如加工過程中的冷卻液,工件裝夾,,防護門開關(guān)等等。
5,、機床具有手動控制和自動控制兩種工作方式,。手動控制主要用于機床的調(diào)試和首件產(chǎn)品的試制,可以分別對輔助功能進行開關(guān),,手動控制工件滑臺的上下運行,。自動控制為自動進行一個工件的加工周期,人工裝夾好工件后,操作人員按下起動按鈕,,機床即進行工件的鉆孔加工,,鉆孔完成后,即行自動退出工件,,加工過程中,,自動注入冷卻液,開關(guān)防護門等相關(guān)輔助動作,。加工完成后,,自動工件松開。完成一個工件的加工過程,。
三,、PLC在專用機床上的控制實現(xiàn)
根據(jù)機床控制要求,電氣控制系統(tǒng)以PLC為控制核心,、以觸摸屏與控制面板按鈕為人機對話界面,,控制機床的各項輔助功能輸出、控制雙軸伺服定位,、變頻器調(diào)速,。其中,PLC與觸摸屏的通信為RS232通信,;PLC與變頻器的通信采用RS485,;PLC對伺服驅(qū)動的定位控制采用脈沖+方向形式的脈沖輸出方式。機床總體控制框架如下圖所示:
機床電氣控制總框圖
1,、PLC 在機床上的定位控制
PLC的脈沖輸出最高頻率直接影響運動定位控制的速度和精度,,是一項非常關(guān)鍵的技術(shù)指標(biāo)。一般PLC都會帶兩路脈沖輸出或四路脈沖輸出,。并且脈沖輸出頻率并不低,,甚至比一般的CNC數(shù)控還要高,如臺達的DVP-EH2系統(tǒng)的PLC最高輸出達200KHz,,有些甚至更高,,如Omron公司的CP1H-Y系列的PLC還達到了1MHz。
脈沖定位速度為:
V=Fmax×δ×60 (式1)
其中,,V為速度,,單位:m/min(米/分鐘);Fmax為最高脈沖頻率,,單位:Hz(赫茲),;δ為脈沖當(dāng)量,單位:mm/P ,。
臺達DVP-EH2型PLC共有四路高速脈沖輸出,,其中兩組為AB相脈沖,,兩點為單脈沖輸出端。四路脈沖輸出端口分別為:CH0(Y0,,Y1),,CH1(Y2,Y3),,CH2(Y4),,CH3(Y6),輸出頻率都達到200KHz,。如果采用0.001mm/P脈沖當(dāng)量進行控制,,那么,根據(jù)式1,,PLC的定位速度最快為:
200000×0.001×60=12000mm/min=12m/min
即定位的最高速度為12米每分鐘,。完全可以達到機床的控制要求。
現(xiàn)在很多的微型機,,或小型機都有內(nèi)置高速脈沖輸出功能,。可以運用脈沖定位指令實現(xiàn)相對定位,、絕對定位,。臺達PLC的相對定位指令[D]DRVI或絕對定位指令[D]DRVA。(指令前綴D為雙字控制指令,,最高定位區(qū)間可以達到232,,即定位范圍為-2147483648~+2147483647)。在機床控制中,,當(dāng)電氣精度做到0.001mm時,,則機床的定位范圍在-2147483.648mm~+214748.367mm之間,完全可以滿足機床的控制要求,。
機床在定位控制中,,需要用到單步方式、連續(xù)方式,、自動加工定位,。單步方式主要用于調(diào)試機床時的精確定位,即按動一次正向定位或反向定位的控制按鈕,,機床即進給一定量值(PLC發(fā)出指令數(shù)量的脈沖值),。單步方式一般采用脈沖相對定位指令[D]DRVI,脈沖定位數(shù)量可以在觸摸屏人機界面中設(shè)置,。相對定位指令格式如下:
S1:脈沖輸出數(shù)目,;(定位量)
S2:脈沖輸出頻率;(定位速度)
D1:脈沖輸出裝置,;(脈沖輸出通道CH0,,或CH1)
D2:定位方向輸出裝置;(脈沖正向定位/反向定位)
其中,,EH2機型的脈沖輸出通道D1可以指定為Y0(CH0)或Y2(CH1),;定位方向輸出D2可以指定其他任何輸出端點,D2根據(jù)脈沖定位數(shù)量的正值/負值自動決定為ON/OFF,。當(dāng)S1為負值時,,D2=OFF,當(dāng)S1為正值時,,D2=ON,。
對于操作數(shù)S1,和S2 可以指定為數(shù)據(jù)寄存器D,。通過觸摸屏對寄存器D的訪問,,進行操作數(shù)的設(shè)定。
實現(xiàn)程序如下所示:
程序中,,M17為觸摸屏界面的觸控按鈕,,X17為操作面板“滑臺升”按鈕,特殊輔助繼電器M1029為CH0脈沖輸出完畢標(biāo)志,,當(dāng)按下X17(M17)時,,定位脈沖輸出端子即刻輸出由D120指定的定位脈沖數(shù),并因M21的自鎖而持續(xù)輸出,,當(dāng)定位脈沖數(shù)值完成時,,脈沖輸出完畢標(biāo)志置ON,指令條件解除,,須得由下一次按鈕按下時再次起動,。
機床在自動加工時,采用絕對定位指令[D]DRVA,。使用[D]DRVA指令之前,,需要先進行原點設(shè)定,也即在絕對定位指令前,,須要將現(xiàn)在的脈沖輸出當(dāng)前值做出設(shè)定,,否則絕對定位指令不能執(zhí)行。原點設(shè)定可以在PLC上電的初始化中進行設(shè)置,。一般使用PLC的啟動正向脈沖對D1336進行數(shù)據(jù)傳送,。特殊數(shù)據(jù)寄存器D1336為CH0脈沖的現(xiàn)在值?!?/span>
原點設(shè)定的實現(xiàn)程序如下所示:
當(dāng)機床在定位時,,PLC實時的讀取當(dāng)前的脈沖數(shù),隨時將D1336內(nèi)的數(shù)值讀出到D200進行保存,。在機床再次起動時,,再將D200內(nèi)保存的數(shù)值送入到D1336中,,這樣,就可以在機床關(guān)機時,,能保持機床的當(dāng)前坐標(biāo),。
絕對定位指令實現(xiàn)程序如下所示:
使用定位指令時,也可以指定定位起動時的加減速,,設(shè)置脈沖輸出的加減速一個作用是使機床能平穩(wěn)地起動停止,,另外一個用處是伺服電機驅(qū)動器對輸入脈沖用一個響應(yīng)頻寬,如果送給伺服電機驅(qū)動器的定位脈沖是突變的,,有可能會造成驅(qū)動器對定位脈沖的丟失,。設(shè)置脈沖輸出的加減速只要設(shè)置脈沖輸出通道相應(yīng)的加減速時間即可。CH0的加減速時間在特殊數(shù)據(jù)寄存器D1343中設(shè)置,。EH系列PLC加減速不可低于10mS,。若低于10mS或高于10000mS,則將以10mS輸出,。如果不對D1343進行設(shè)置,,PLC會以出廠默認值100mS執(zhí)行。
脈沖輸出加減速實現(xiàn)程序如下所示:
D210內(nèi)數(shù)據(jù)在觸摸屏界面中進行設(shè)置,,從而實現(xiàn)以參數(shù)的形式對定位加減速進行設(shè)置,。
2、變頻器通信程序的設(shè)計
PLC與變頻器的通信采用RS485 MODBUS通信協(xié)議進行通信,。EH2系列PLC有內(nèi)置的RS485通信接口,。MODBUS通信協(xié)議包含三個層次:物理層,數(shù)據(jù)鏈路層和應(yīng)用層,。物理層和數(shù)據(jù)鏈路層采用了基于RS485的MODBUS通信協(xié)議,,應(yīng)用層即通過MODBUS之RTU模式對變頻器的運行、停機控制和變頻器參數(shù)的讀寫操作,?! ?/span>
變頻器的MODBUS通信為主從通信。上位機發(fā)送指令,,變頻器應(yīng)答,。
RTU幀格式如下:
MODBUS通信的RTU模式具有如下所列功能:
循環(huán)冗余碼校驗(Cyclical Redundancy Check),簡稱CRC校驗碼,。CRC-16碼由兩個字節(jié)構(gòu)成,,CRC碼的生成如下:
在開始時設(shè)置CRC寄存器,并給其賦值FFFF(hex),;
將數(shù)據(jù)的第一個8-bit字符與16位CRC寄存器的低8位進行異或,,并把結(jié)果存入CRC寄存器;
CRC寄存器向右移一位,MSB(最高位元)補零,,移出并檢查LSB(最低有效位),;
如果LSB為0,重復(fù)第三步,,若LSB為1,,CRC寄存器與多項式碼相異或;
重復(fù)第3與第4步直到8次移位全部完成,。此時一個8-bit數(shù)據(jù)處理完畢;
重復(fù)第2至第5步直到所有數(shù)據(jù)全部處理完成,;
最終CRC寄存器的內(nèi)容即為CRC值,。
臺達DVP系列PLC有專門的MODBUS通信指令,,只要設(shè)定好指令參數(shù),,然后觸發(fā)指令,PLC會自行按照通信幀格式自動發(fā)送數(shù)據(jù),,指令發(fā)送完畢后,,PLC會對回傳的數(shù)據(jù)自動進行檢查是否出錯。如果出錯,,則會給出相應(yīng)的狀態(tài)標(biāo)志,,相應(yīng)的特列輔助繼電器有所動作。
MODBUS數(shù)據(jù)讀取指令格式如下:
S1:從機地址,;
S2:欲讀取的數(shù)據(jù)的地址,;
N:批量讀取數(shù)據(jù)的長度,。
MODBUS數(shù)據(jù)寫入指令格式如下:
S1:從機地址,;
S2:欲寫入的數(shù)據(jù)的地址,;
N:批量寫入數(shù)據(jù)的長度。
通信指令各特殊寄存器說明:
D1120:通信協(xié)議設(shè)置,;
D1129:通信超時時間設(shè)置;
D1130:MODBUS回傳錯誤碼記錄,;
D1070~1085:MODBUS回傳信息數(shù)據(jù)緩存器,;
D1050~1055:如果MODBUS通信格式為ASCLL碼,,則PLC自動會將回傳的D1070~D1085內(nèi)的ASCLL碼轉(zhuǎn)換為HEX格式,將存于D1050~1055寄存器內(nèi),。
M1120:COM2端口(內(nèi)置RS485端口)通訊設(shè)定保持,,置ON后,,D1120(通信協(xié)議)變更無效;
M1123:MODWR指令執(zhí)行時回傳數(shù)據(jù)接收完成標(biāo)志,;
M1127:MODRD指令執(zhí)行時回傳數(shù)據(jù)接收完成標(biāo)志;
M1129:通信超時標(biāo)志,;
M1140:數(shù)據(jù)接收錯誤標(biāo)志,;
M1141:發(fā)送地址錯誤標(biāo)志,;
M1143:為0,,通信為ASCLL格式,,置ON,通信為RTU格式。
M1122:觸發(fā)通信指令,。
專用機床在做PLC與變頻器的通信時,,因為要讀取變頻器內(nèi)部的狀態(tài)信息,,改寫變變頻器的參數(shù)。故可以采用步進指令STL,。當(dāng)?shù)谝粋€變頻器內(nèi)數(shù)據(jù)通信完成后,再與第二個數(shù)據(jù)進行通信,。當(dāng)?shù)诙€數(shù)據(jù)通信完成后,,再與第三個數(shù)據(jù)進行通信,,當(dāng)最后一個數(shù)據(jù)通信完成后,,再與第一個數(shù)據(jù)進行通信。通信程序節(jié)選如下所示:
以上省略若干行……
程序中,,D240數(shù)據(jù)由觸摸屏設(shè)置RS485的通信協(xié)議。D241數(shù)據(jù)由觸摸屏設(shè)置通信超時時間,。程序執(zhí)行時,將D240的數(shù)據(jù)送入特殊寄存器D1120,,D241數(shù)據(jù)送入特殊寄存器D1129,,從而設(shè)定RS485的通信協(xié)議和設(shè)置通信超時時間,。特殊寄存器數(shù)據(jù)設(shè)置好后,,將M1120置ON,從而保持通信協(xié)議。再將M1143置ON,,將MODBUS通信設(shè)定為RTU模式,。
MODRD指令(數(shù)據(jù)讀?。┳x取的信息存放在以D1070~D1085的特殊寄存器中,。在使用RTU模式時,讀取的目標(biāo)地址內(nèi)的數(shù)據(jù)只會存放于以D1073開始的低半位,。程序中,,如果設(shè)置D320的數(shù)值為3210H,即PLC訪問變頻器地址為3210H的內(nèi)存數(shù)據(jù),,程序在由STL語句步進到S127狀態(tài)時,,會觸發(fā)通信數(shù)據(jù)讀取指令。數(shù)據(jù)在回傳成功后,,回傳的數(shù)據(jù)會存放于D1070~D1085內(nèi),,D1070~D1085數(shù)據(jù)內(nèi)容如下所示:
從表中可以看出,數(shù)據(jù)內(nèi)存分為高低兩個半字節(jié)分別進行了存放(D1073,、D1074),,因此在數(shù)據(jù)處理時,須要將接收特殊寄存器的兩個字節(jié)的低半字節(jié)數(shù)據(jù)送入到一個寄存器組合成一個整字節(jié),。半字節(jié)指令為SMOV。本程序中,,分別用兩條SMOV指令,將D1073的低半字節(jié)送入D320高半字節(jié),,將D1074的低半字節(jié)送入D320低半字節(jié),。從而使D320整合為從機地址為3210H的數(shù)據(jù)0057H?! ?/span>
SMOV(移位傳送)在執(zhí)行時,當(dāng)控制位M1168為OFF時,,數(shù)據(jù)傳送為BCD碼,,當(dāng)控制位M1168為ON時,數(shù)據(jù)傳送為BIN值,。本通信程序為傳送BIN值碼,。因此在程序開始須將特殊輔助繼電器M1168置ON,。
程序執(zhí)行時,若通信超時,,則標(biāo)志繼電器M1129置ON,,程序由M1129再次觸發(fā)通信指令,。
若通信時回傳數(shù)據(jù)錯誤,則標(biāo)志繼電器M1140置ON,,程序中由M1140再次觸發(fā)通信指令。
若通信程序發(fā)送地址錯誤,,則標(biāo)志繼電器M1141置ON,,程序中由M1141再次觸發(fā)通信指令。
通信程序若回傳數(shù)據(jù)無誤,,則將接收的數(shù)據(jù)內(nèi)容進行處理,然后再將M1129,,M1140,,M1141復(fù)位,,并將接收完畢標(biāo)志繼電器M1123(MODWR通信接收完畢)或M1127(MODRD通信接收完畢)復(fù)位,。然后再觸發(fā)下一從機地址的通信指令。直到從機的所有通信地址訪問完成后,,再循環(huán)訪問從機的第一個通信地址。
3,、觸摸屏人機界面的程序設(shè)計
對于PLC的人機對話窗口,相對于計算機(IPC)的高成本和控制面板儀表元件的笨重復(fù)雜,,觸摸屏(HMI)是一個非常好的選擇,。通過人機界面的組態(tài)編程對PLC內(nèi)存數(shù)據(jù)進行訪問,可以讀取改寫數(shù)據(jù)寄存器內(nèi)的數(shù)據(jù),,也可以對輔助繼電器進行位控制,還可以對連續(xù)的位單元組合為字節(jié)進行處理,。
如下圖所示中,,可以在人機界面中對機床外部輔助功能進行控制,。也可以顯示PLC的內(nèi)部數(shù)據(jù),,如伺服電機的脈沖量,,通過RS485讀取的變頻器參數(shù),?! ?/span>
只要設(shè)置好HMI與PLC的通信協(xié)議,,兩者之間即可以進行通信,,不需要另外編制復(fù)雜的通信程序。在組態(tài)HMI的界面程序時,,只要將畫面元件訪問地址設(shè)定為相應(yīng)的PLC內(nèi)的數(shù)據(jù)寄存器或繼電器,,兩者即建立相關(guān)聯(lián)系。
如果一個屏有若干畫面,,可以采用彈出式菜單,。選擇相應(yīng)的畫面,,進入相關(guān)畫面進行操作,。
利用HMI方便的組態(tài)功能,,可以對機床各保護信號進行顯示,,如果機床有報警發(fā)生,,可以在HMI界面中顯示出來,并提示相應(yīng)的處理方法,。還可以顯示歷史上出現(xiàn)的異常情況,,為機床的檢修提供相關(guān)依據(jù),。使機床做到最簡便的操作,。
另外,也可以對機床的基本操作在HMI上做一個簡略的說明,,從而使機床最大的做到操作界面友善,。
四,總結(jié)
機床采用PLC作為主體控制,,在實際使用過程中,,性能穩(wěn)定,操作使用方便簡單,,對于機床操作員來說直觀易懂,,不需要了解數(shù)控編程也可以很快的熟練機床的加工操作,。因此,該方案在專用機床上的應(yīng)用是比較成功的,。