基于Modbus協(xié)議的數(shù)控排鉆伺服定位系統(tǒng)
點(diǎn)擊:1506
A+ A-
所屬頻道:新聞中心
0 引言
數(shù)控鉆床是實(shí)現(xiàn)工件上各種類型孔自動(dòng)定位和鉆削的高精度機(jī)床,廣泛應(yīng)用于工業(yè)和電子行業(yè)的零件加工,其數(shù)控系統(tǒng)是機(jī)床的核心,一般多采用伺服系統(tǒng)來(lái)實(shí)現(xiàn)精確定位。伺服系統(tǒng)融合了電機(jī)、計(jì)算機(jī)、電力電子、自動(dòng)控制、精密機(jī)械和新材料等多種高新技術(shù),是裝備制造、工業(yè)自動(dòng)化、辦公自動(dòng)化和家庭生活自動(dòng)化等不可缺少的重要技術(shù)。目前,國(guó)內(nèi)的計(jì)算機(jī)數(shù)字控制(computer numerical control,CNC)數(shù)控鉆床大多為進(jìn)口設(shè)備,每次定位只能鉆單個(gè)孔,而木工機(jī)械行業(yè)中經(jīng)常需要鉆大量的排孔,致使CNC數(shù)控鉆床定位次數(shù)大大增加,無(wú)法體現(xiàn)效率,而且其價(jià)格昂貴,無(wú)法普及。
基于此問(wèn)題,筆者采用現(xiàn)代伺服系統(tǒng)設(shè)計(jì)了新型數(shù)控排鉆。采用交流伺服驅(qū)動(dòng)器與可編程邏輯控制器(programmable logic controller,PLC)作為控制系統(tǒng)的核心,結(jié)合VB編程的上位機(jī)人機(jī)界面,同時(shí)使用4臺(tái)伺服電機(jī),依次分布于數(shù)控排鉆的運(yùn)動(dòng)導(dǎo)軌(即x軸)上,每臺(tái)伺服電機(jī)分別拖動(dòng)1臺(tái)鉆孔定位器來(lái)實(shí)現(xiàn)定位。這樣的設(shè)計(jì)每次最多可實(shí)現(xiàn)4個(gè)孔的同時(shí)定位,效率較高。
1 系統(tǒng)設(shè)計(jì)
該系統(tǒng)采用1臺(tái)觸摸屏電腦作為上位機(jī),上位機(jī)提供VB程序操作界面,并發(fā)送定位目標(biāo)數(shù)據(jù)到下位機(jī)PLC中;PLC根據(jù)當(dāng)前位置與目標(biāo)位置的關(guān)系再經(jīng)過(guò)一系列計(jì)算,把定位距離轉(zhuǎn)換為精確脈沖數(shù)發(fā)送給伺服驅(qū)動(dòng)器;伺服驅(qū)動(dòng)器實(shí)時(shí)響應(yīng)PLC所發(fā)脈沖,配合自增益調(diào)整采用SVPWM 控制方式驅(qū)動(dòng)伺服電機(jī);伺服電機(jī)通過(guò)蝸輪蝸桿減速器帶動(dòng)鉆孔定位器做直線運(yùn)動(dòng),實(shí)現(xiàn)x軸準(zhǔn)確定位。該定位方式具有響應(yīng)速度快、定位精度高、動(dòng)態(tài)特性好等優(yōu)點(diǎn)。伺服驅(qū)動(dòng)器提供位置、速度、扭矩3種基本控制模式,本設(shè)計(jì)采用位置模式,脈沖列+方向控制方式。另外x軸運(yùn)動(dòng)方向上還安裝了4個(gè)光電傳感器供伺服電機(jī)做原點(diǎn)回歸使用。PLC一方面發(fā)送脈沖控制x軸定位;另一方面根據(jù)數(shù)控鉆床控制要求,控制各執(zhí)行繼電器動(dòng)作。上位機(jī)與PLC之間使用RS232接口進(jìn)行通信,采用Modbus通信協(xié)議。
1.1 硬件設(shè)計(jì)
1)上位機(jī)。上位機(jī)采用宇聯(lián)公司QC-156工業(yè)級(jí)觸摸屏電腦,操作界面采用VB編程語(yǔ)言編寫。VB是一種結(jié)構(gòu)化面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,采用事件驅(qū)動(dòng)的程序機(jī)制,可高效、快速地開發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。上位機(jī)主要為用戶提供人性化操作界面,設(shè)定各種運(yùn)行參數(shù),實(shí)時(shí)顯示鉆孔定位器的位置與運(yùn)行速度,接收定位目標(biāo)位置并發(fā)送給PLC。
2)下位機(jī)。下位機(jī)采用臺(tái)達(dá)DVP-40EH型PLC,可同時(shí)支持2組AB相200 kHz脈沖輸出(Y0,Y1)(Y2,Y3),與2點(diǎn)200kHz脈沖輸出(Y4,Y6)。內(nèi)置RS-232與RS-485通訊端口,兼容Modbus ASCII/RTU通訊協(xié)議,且內(nèi)置4組硬件高速計(jì)數(shù)器,可同時(shí)控制4臺(tái)伺服電機(jī)實(shí)現(xiàn)定位。
3)伺服驅(qū)動(dòng)器。采用臺(tái)達(dá)ASDA-B2型伺服驅(qū)動(dòng)器,內(nèi)置高性能32位DSP芯片,配合增益自動(dòng)調(diào)整技術(shù),對(duì)伺服電機(jī)進(jìn)行閉環(huán)控制,對(duì)其各種信息做出快速、準(zhǔn)確反應(yīng),處理隨時(shí)變化的信號(hào)。
4)臺(tái)達(dá)伺服電機(jī)。本設(shè)計(jì)要求快速、準(zhǔn)確地實(shí)現(xiàn)控制目標(biāo),決定配套采用臺(tái)達(dá)ECMA C20807系列交流伺服系統(tǒng)。此系列伺服電機(jī)配合臺(tái)達(dá)B2型伺服驅(qū)動(dòng)器組成的伺服系統(tǒng),已廣泛應(yīng)用于數(shù)控機(jī)床、機(jī)器人、自動(dòng)化生產(chǎn)線等各種有精確調(diào)速、定位要求的場(chǎng)合。
1.2 伺服系統(tǒng)接線
伺服驅(qū)動(dòng)器的位置控制指令脈沖有3 種類型,分別是:正向脈沖+反向脈沖,脈沖+方向,相位相差90°的AB兩相脈沖 。本文選用脈沖+方向方式,伺服驅(qū)動(dòng)器的CN1接口中的Pulse 41號(hào)引腳接收PLC的脈沖信號(hào),Sign 37號(hào)引腳接收方向信號(hào)。PLC的輸出端口Y0,Y1構(gòu)成一組脈沖控制信號(hào),總共4組,分別控制4臺(tái)伺服電機(jī)運(yùn)行。伺服電機(jī)的轉(zhuǎn)速南Y0口脈沖發(fā)送頻率決定,移動(dòng)距離由Y0口發(fā)送脈沖的個(gè)數(shù)決定。
2 上位機(jī)與PLC之間的通信實(shí)現(xiàn)
上位機(jī)與臺(tái)達(dá)PLC之間采用Modbus通信協(xié)議。Modbus協(xié)議具有以下優(yōu)點(diǎn):開放性好、易實(shí)現(xiàn)、擴(kuò)展性好、幀格式簡(jiǎn)單、可靠性高,可支持多種電氣接口,可在各種介質(zhì)上傳送,如雙絞線、光纖、無(wú)線等 ,因而具有廣闊的應(yīng)用前景,被越來(lái)越多的設(shè)備廠商所支持。不同廠商生產(chǎn)的控制設(shè)備可以連成Modbus工業(yè)網(wǎng)絡(luò)。
Modbus的實(shí)質(zhì)是一種主從應(yīng)答的通訊協(xié)議,其通訊遵循以下過(guò)程:主機(jī)準(zhǔn)備請(qǐng)求并向從機(jī)發(fā)送請(qǐng)求;從機(jī)接收主機(jī)請(qǐng)求后進(jìn)行校驗(yàn),然后處理,并向主機(jī)發(fā)送回復(fù);如果出現(xiàn)差錯(cuò),從機(jī)將返回一個(gè)異常的功能碼。
在Modbus系統(tǒng)中有2種傳輸模式可選擇,一種是美國(guó)信息交換碼(ASCII),另一種是遠(yuǎn)程終端單元(remote terminal unit,RTU)。ASCII采用的格式和校驗(yàn)相對(duì)簡(jiǎn)單,本設(shè)計(jì)采用ASCII格式,LRC校驗(yàn)。
VB與臺(tái)達(dá)PLC通訊的基本流程。上位機(jī)讀PLC中相應(yīng)數(shù)據(jù)寄存器的數(shù)值時(shí),應(yīng)輸入正確的寄存器號(hào),并按照通訊協(xié)議生成正確的發(fā)送字符串,觸發(fā)MSComm控件,在其OnComm事件中調(diào)用公用模塊中的Public Sub MSComml_OnComm10過(guò)程,對(duì)所獲取字符串進(jìn)行處理及顯示。向PLC中的數(shù)據(jù)寄存器寫人數(shù)值操作時(shí),應(yīng)輸入正確的寄存器號(hào)與數(shù)值,生成發(fā)送字符串后觸發(fā)MSComm控件的OnComm事件,向PLC中寫入數(shù)值。
3 防碰撞算法
由于4個(gè)伺服定位器在數(shù)控鉆床X軸方向上依次分布,運(yùn)動(dòng)過(guò)程中要防止它們相互間的碰撞。所以在設(shè)計(jì)過(guò)程中采取了防碰撞保護(hù)措施。首先,在 軸導(dǎo)軌的下方依次安裝4個(gè)光電接近傳感器做定位校準(zhǔn)使用,將這4個(gè)光電傳感器依次接到PLC的4個(gè)輸入點(diǎn)上,作為伺服定位系統(tǒng)的零點(diǎn)傳感器。當(dāng)伺服系統(tǒng)每次開機(jī)運(yùn)行時(shí),使用dzrn指令可使4臺(tái)伺服定位器分別移動(dòng)到4個(gè)光電傳感器的位置,然后把此位置換算成脈沖數(shù),賦給伺服驅(qū)動(dòng)器里的脈沖計(jì)數(shù)器作為定位初值。當(dāng)伺服定位器移動(dòng)時(shí),脈沖計(jì)數(shù)器會(huì)根據(jù)PLC所發(fā)脈沖數(shù)自動(dòng)增減。根據(jù)脈沖計(jì)數(shù)器的數(shù)值即可知道伺服定位器的精確位置,再將4個(gè)脈沖計(jì)數(shù)器的數(shù)值經(jīng)過(guò)一定的換算關(guān)系,轉(zhuǎn)換為 軸導(dǎo)軌上4個(gè)伺服定位器的實(shí)際位置,即可在運(yùn)行過(guò)程中不斷監(jiān)視4個(gè)定位器的位置差。在程序中設(shè)定4臺(tái)伺服定位器的防碰撞安全距離,一旦監(jiān)視到伺服定位器之間的距離差小于或等于防碰撞安全距離,則立即停止PLC脈沖輸出,使伺服電機(jī)停止轉(zhuǎn)動(dòng),從而防止碰撞發(fā)生。
4 結(jié)語(yǔ)
本文通過(guò)臺(tái)達(dá)交流伺服控制器、PLC及其t位機(jī)的組合來(lái)完成一個(gè)數(shù)控排鉆的運(yùn)動(dòng)控制實(shí)現(xiàn),上位機(jī)與PLC采用基于Modbus協(xié)議的串口通信實(shí)現(xiàn)。由于采用了PLC與上位機(jī)人機(jī)界面,可采用不同的控制算法,對(duì)系統(tǒng)采用不同的控制方式,控制實(shí)現(xiàn)上有較大的靈活性。
經(jīng)過(guò)一段時(shí)問(wèn)的使用,該數(shù)控排鉆伺服定位系統(tǒng)運(yùn)行良好,在定位精度、控制可靠性、運(yùn)行穩(wěn)定性方面效果較好。
(審核編輯: 智匯張瑜)
分享