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