路向琨,高忠林,尹 戈,成海暉
(天津七所高科技有限公司,天津300402)
電阻點(diǎn)焊因其操作簡單、焊接成本低、勞動條件較好、生產(chǎn)率高等優(yōu)點(diǎn),廣泛應(yīng)用于航空航天、電子、汽車、家用電器等行業(yè),近年來對電阻焊機(jī)產(chǎn)品的需求量不斷增加[1-2]。隨著電子技術(shù)以及新材料技術(shù)的不斷進(jìn)步,電阻焊技術(shù)出現(xiàn)前所未有的發(fā)展[3-4]。
隨著移動信息時代的到來,基于Android操作系統(tǒng)進(jìn)行移動應(yīng)用開發(fā)成為不可阻擋的潮流。目前的移動設(shè)備幾乎都配備了簡單易用的USB接口作為與其他設(shè)備進(jìn)行通信的主要接口[5-6]。USB接口協(xié)議規(guī)范也不斷發(fā)展更新,同時為了彌補(bǔ)USB主從架構(gòu)中只能依賴PC作為HOST端的不足推出了USB OTG技術(shù)規(guī)范作為USB協(xié)議規(guī)范的補(bǔ)充[7-8],使得USB通信系統(tǒng)允許移動設(shè)備既可以作為通信系統(tǒng)的HOST端又可以作為DEVICE端,從而擺脫了主從架構(gòu)中對PC機(jī)器的依賴[9-11]。
目前市場上廣泛采用單片機(jī)MCU作為主芯片的焊機(jī)編程器,通過液晶屏和物理按鍵與用戶進(jìn)行交互。這種方案體驗(yàn)效果差、設(shè)備沉重、屏幕窗口小、菜單級聯(lián)多、操作繁瑣,導(dǎo)致用戶的人機(jī)體驗(yàn)效果較差;此外,設(shè)備的物理按鍵壽命短,硬件相對復(fù)雜,增加了不可靠因素。
本研究提出一種基于Android系統(tǒng)的焊機(jī)遠(yuǎn)程控制設(shè)備及系統(tǒng),在硬件層面上該系統(tǒng)克服了手機(jī)與焊接控制器接口不統(tǒng)一的問題;軟件上優(yōu)化并重新設(shè)計(jì)了交互界面,克服了大數(shù)據(jù)量通訊狀態(tài)下的操作不流暢以及強(qiáng)電磁干擾下通訊經(jīng)常失敗的難點(diǎn),此外還為大數(shù)據(jù)分析提供基本的數(shù)據(jù)支撐。該設(shè)備結(jié)構(gòu)簡單,硬件連接方便,可靠性高,可節(jié)省大量硬件成本;軟件界面更加友好,操作簡單,很大程度上提高了人機(jī)交互性能和用戶體驗(yàn)性得到。
隨著Android系統(tǒng)的不斷升級,Android系統(tǒng)已經(jīng)越來越穩(wěn)定,因其開發(fā)周期短、人機(jī)交互性能卓越,近年來基于Android系統(tǒng)的設(shè)備得到廣泛應(yīng)用。本研究提出的基于Android系統(tǒng)的焊機(jī)遠(yuǎn)程控制設(shè)備利用最常見的手機(jī)對焊機(jī)控制器進(jìn)行編程,與無線藍(lán)牙傳輸方式對比,發(fā)現(xiàn)無線通訊在處于焊接的強(qiáng)電磁干擾環(huán)境中通訊穩(wěn)定性較差,故本設(shè)備采用電纜連接的方式。但是手機(jī)的接口是USB,焊機(jī)控制器的接口是串口,為解決電纜連接兩種接口不統(tǒng)一的問題,本系統(tǒng)設(shè)計(jì)了一款通訊轉(zhuǎn)接板,用于實(shí)現(xiàn)兩種接口的轉(zhuǎn)換功能。
本設(shè)備通訊質(zhì)量更加穩(wěn)定可靠,同時轉(zhuǎn)接電路的狀態(tài)指示燈齊全,為以后的硬件故障定位提供了很大的方便。轉(zhuǎn)接電路還可以根據(jù)用戶的不同需要在2種總線中進(jìn)行選擇。硬件結(jié)構(gòu)簡單,連接方便,可靠性高,同時節(jié)省了大量的生產(chǎn)成本和材料耗損。系統(tǒng)連接主要包括手持設(shè)備(Android手機(jī))、通訊板、焊機(jī)控制器。通訊板包括接口轉(zhuǎn)換的相關(guān)電路,主要為USB驅(qū)動電路,422驅(qū)動電路,485驅(qū)動電路,如圖1所示,其中手持設(shè)備與通訊板相連,通訊板與焊機(jī)控制器相連。
圖1 系統(tǒng)連接示意
Eclipse最初是由IBM公司開發(fā)的IDE開發(fā)環(huán)境,并且是一個開放源代碼、基于Java的可擴(kuò)展開發(fā)平臺。它雖然只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境[12-13],但其附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)[14-15]。
該系統(tǒng)采用JAVA語言編寫,根據(jù)焊接行業(yè)的特點(diǎn),重新開發(fā)了故障報(bào)警模塊、狀態(tài)監(jiān)測模塊、讀取手持設(shè)備參數(shù)模塊、讀取主機(jī)參數(shù)模塊、參數(shù)批量下載和參數(shù)批量上傳模塊的交互系統(tǒng)。通過軟件優(yōu)化,采用多線程技術(shù)將大量耗時的通訊放到一個單獨(dú)線程中,克服了大數(shù)據(jù)量通訊狀態(tài)下操作不流暢的難點(diǎn);另外將大數(shù)據(jù)量分隔成多個小數(shù)據(jù)量的通訊單元,采用小數(shù)據(jù)單元進(jìn)行通訊并在每次通訊時逐條校準(zhǔn),克服了強(qiáng)電磁干擾下大數(shù)據(jù)量通訊時容易發(fā)生錯誤的問題;同時,還考慮到大數(shù)據(jù)處理方面的應(yīng)用,將手持設(shè)備上的焊接參數(shù)以及采集的監(jiān)測數(shù)據(jù)保存在SQLite數(shù)據(jù)庫中,可以通過調(diào)取數(shù)據(jù)查看每臺焊機(jī)的參數(shù)設(shè)置以及焊接完成后每個焊點(diǎn)的焊接狀態(tài),指導(dǎo)廠家進(jìn)行生產(chǎn)節(jié)拍管理以及為焊機(jī)設(shè)備維護(hù)提供大量的數(shù)據(jù)支撐。
軟件主要分為故障報(bào)警模塊、狀態(tài)監(jiān)測模塊、讀取手持設(shè)備參數(shù)模塊、讀取主機(jī)參數(shù)模塊、參數(shù)下載模塊、參數(shù)上傳模塊6部分。整體流程見圖2。
故障報(bào)警模塊是一直運(yùn)行在后臺的一個線程,處理順序上擁有最高優(yōu)先級。故障信息和監(jiān)控信息都屬于控制器主動發(fā)送的數(shù)據(jù),可通過數(shù)據(jù)包的包頭進(jìn)行區(qū)分。一旦發(fā)生故障馬上進(jìn)入故障報(bào)警模塊。通過數(shù)據(jù)解析與故障時間的雙重判斷,確定所報(bào)故障是否是最新故障,并將故障信息記錄在數(shù)據(jù)庫中。其中,新故障類型的判斷方法是:如果該故障類型與前一個故障類型不同則將該故障報(bào)警的發(fā)生時間和類型記錄到故障報(bào)警文件中,否則再判斷本次故障發(fā)生時間與上次故障發(fā)生時間的間隔,若時間間隔大于設(shè)定值則將故障報(bào)警信息保存到故障報(bào)警文件中,否則認(rèn)為是主機(jī)連續(xù)發(fā)送了多個相同的故障信息,并舍棄本次的故障報(bào)警信息。軟件流程如圖3所示。
圖2 軟件主界面
圖3 故障報(bào)警流程
手持設(shè)備為從設(shè)備,焊機(jī)控制器為主設(shè)備。當(dāng)焊機(jī)控制器正常工作時,每次焊接完后會主動返回采集的焊接時間、焊接電流等信息,從設(shè)備通過判斷包頭以及接收數(shù)據(jù)緩沖區(qū)未讀字節(jié)數(shù)即可判斷是否是狀態(tài)監(jiān)測數(shù)據(jù)。讀取緩沖區(qū)數(shù)據(jù),判斷數(shù)據(jù)格式正確后,經(jīng)數(shù)據(jù)解析與轉(zhuǎn)換將數(shù)據(jù)顯示在頁面中。同時,控制器編號以及該焊接結(jié)果的數(shù)據(jù)會一并保存在數(shù)據(jù)庫中,經(jīng)過長時間的數(shù)據(jù)累計(jì),數(shù)據(jù)庫中會保存大量的焊接數(shù)據(jù),可導(dǎo)出提供給汽車廠的焊點(diǎn)分析系統(tǒng),為汽車廠監(jiān)控焊接質(zhì)量提供有力的數(shù)據(jù)支撐。一旦發(fā)生故障就進(jìn)入故障處理模塊。軟件流程和界面如圖4和圖5所示。
圖4 監(jiān)視界面流程
圖5 監(jiān)視界面
一臺汽車的零部件有幾百個,需要焊接的點(diǎn)數(shù)成百上千,每個焊點(diǎn)的焊接參數(shù)都會有一定的差別,其影響因素主要有焊接板厚、焊接材料、螺母或者螺栓大小、是否有鍍層等。工藝人員需根據(jù)每一個焊點(diǎn)的特點(diǎn)給出一套焊接規(guī)范,同時將其保存在手機(jī)中方便攜帶,讀取手持設(shè)備參數(shù)模塊可完成對手機(jī)上保存的焊接規(guī)范進(jìn)行編輯和保存的操作。
進(jìn)入該模塊會鏈接到SQLite數(shù)據(jù)庫中的對應(yīng)表單,該部分的數(shù)據(jù)存儲在手機(jī)上,讀取速度快,無需開辟新線程即可實(shí)現(xiàn)界面的流暢操作和數(shù)據(jù)展示,節(jié)省系統(tǒng)內(nèi)存資源。該模塊中可查看和修改各參數(shù)并重新保存到數(shù)據(jù)庫中。軟件流程如圖6所示。
每臺焊接控制器都會有一定的差異,隨著汽車廠對產(chǎn)品質(zhì)量要求的提高,汽車焊接中各個參數(shù)的設(shè)定和調(diào)整越來越細(xì)化,精度越來越高,該模塊可用于工藝人員針對焊機(jī)控制器的差異編輯和保存控制器中保存的焊接參數(shù)。
進(jìn)入該模塊后會新開辟一個讀取數(shù)據(jù)的線程,該線程完成相關(guān)的數(shù)據(jù)通訊操作,包括加載所選定的規(guī)范號和模式、發(fā)送索要相應(yīng)數(shù)據(jù)的命令給主機(jī)、解析接收的數(shù)據(jù)等。通訊板完成命令信號和數(shù)據(jù)的通訊和轉(zhuǎn)換。該數(shù)據(jù)線程判斷返回?cái)?shù)據(jù)格式正確后顯示數(shù)據(jù),同時關(guān)閉該線程。由于增加了一個專門的數(shù)據(jù)通訊線程,界面的操作更加流暢,解決了因?yàn)橥ㄓ嵮訒r造成的界面卡頓的問題,還節(jié)省了系統(tǒng)內(nèi)存資源。隨后可查看和修改各參數(shù),并保存到數(shù)據(jù)庫中或者重新下載到主機(jī)。一旦發(fā)生故障就進(jìn)入故障處理模塊。軟件流程和界面如圖7和圖8所示。
圖6 讀取手持設(shè)備流程
圖7 讀取主機(jī)參數(shù)流程
汽車廠的焊裝車間一般會有至少幾百臺焊接控制器,相當(dāng)一部分控制器的焊接參數(shù)相差較小,僅需調(diào)整少數(shù)幾個參數(shù)即可,此時可以用參數(shù)下載模塊將參數(shù)批量下載到控制器中,然后再進(jìn)行局部調(diào)整,避免輸入每個參數(shù)的繁瑣操作。
圖8 編程界面
焊裝車間屬于高電磁干擾環(huán)境,在參數(shù)下載和上傳模塊中經(jīng)常發(fā)生數(shù)據(jù)通訊中斷或者亂碼的問題,通過采用將多套規(guī)范的一整塊數(shù)據(jù)分解成以單套規(guī)范為一組數(shù)據(jù)單元,在每套規(guī)范下載完成后都進(jìn)行校準(zhǔn)確認(rèn)的逐步逐條下載方式,克服了強(qiáng)電磁干擾下大批量數(shù)據(jù)正確傳輸?shù)睦щy。
進(jìn)入?yún)?shù)下載模塊,首先新建一個線程完成該模塊的主要功能,包括加載所選定的規(guī)范號和模式、鏈接SQLite數(shù)據(jù)中的對應(yīng)表單、讀取所需的所有規(guī)范數(shù)據(jù)。單次校準(zhǔn)確認(rèn)的方式為:發(fā)送選擇的第一條規(guī)范數(shù)據(jù),數(shù)據(jù)信號經(jīng)通訊板傳輸?shù)街鳈C(jī),主機(jī)收到后進(jìn)行數(shù)據(jù)校準(zhǔn),當(dāng)數(shù)據(jù)正確無誤后保存到相應(yīng)存儲區(qū),并返回保存成功信號,保存成功信號經(jīng)通訊板后傳輸?shù)绞殖衷O(shè)備,此時可判斷規(guī)范下載完成;否則,會重新下載該規(guī)范直到成功。若還有規(guī)范未下載則進(jìn)行下一規(guī)范的下載。軟件流程和界面如圖9和圖10所示。
參數(shù)上傳模塊與參數(shù)下載模塊類似,可以將焊機(jī)的多套焊接參數(shù)保存在手機(jī)中作為數(shù)據(jù)備份,并同樣采用逐條確認(rèn)的模式保證電磁干擾環(huán)境下的數(shù)據(jù)準(zhǔn)確性。
圖9 參數(shù)下載流程
圖10 下載界面
進(jìn)入?yún)?shù)上傳模塊會新建一個線程負(fù)責(zé)數(shù)據(jù)通訊部分,同樣采用單次校準(zhǔn)模式,校準(zhǔn)接收到的每條數(shù)據(jù),判斷格式正確后將數(shù)據(jù)保存到對應(yīng)規(guī)范的表單中,若還有規(guī)范未上傳則進(jìn)行下一條規(guī)范的上傳,直到所有規(guī)范上傳完成。軟件流程和界面如圖11和圖12所示。
本系統(tǒng)最大特點(diǎn)是基于具備USB OTG功能的Android系統(tǒng),僅需一個通訊板和相應(yīng)軟件即可完成操作。硬件上,該系統(tǒng)克服了兩種設(shè)備接口不統(tǒng)一的問題,節(jié)省了大量的生產(chǎn)成本和材料耗損,硬件整體結(jié)構(gòu)簡單、連接方便、可靠性高。軟件上,首先,將大量耗時的通訊放到一個單獨(dú)線程中,克服了大數(shù)據(jù)量通訊狀態(tài)下操作不流暢的問題;其次,通過將一整塊的大數(shù)據(jù)量分隔成多塊的小數(shù)據(jù)通訊單元,采用小數(shù)據(jù)單元進(jìn)行通訊且每次校準(zhǔn)確認(rèn)的方法,克服了強(qiáng)電磁干擾下大數(shù)據(jù)量通訊容易失敗的困難;最后,本系統(tǒng)還為汽車廠的大數(shù)據(jù)管理預(yù)留了接口,可以指導(dǎo)廠家管理生產(chǎn)節(jié)拍以及為焊機(jī)設(shè)備維護(hù)提供大量的數(shù)據(jù)支撐。操作上,交互系統(tǒng)根據(jù)焊接行業(yè)的特點(diǎn)優(yōu)化軟件界面和操作,采用Android系統(tǒng)使得軟件界面比傳感液晶屏顯示的更加友好,交互性能得到很大改善,提高了用戶粘性和使用的舒適感??傮w而言,該系統(tǒng)結(jié)構(gòu)簡單、連接方便、交互系統(tǒng)更加人性化、通訊更加可靠,既滿足了工業(yè)產(chǎn)品對穩(wěn)定性和可靠性的要求,又符合現(xiàn)場使用者的習(xí)慣,獲得使用者的一致好評,并產(chǎn)生了良好的社會價值。
圖11 上傳界面流程
圖12 上傳界面
[1]吳英俊.多模式電阻焊機(jī)控制器及其控制模式研究[D].上海:上海交通大學(xué),2013.
[2]王敏.我國電阻焊設(shè)備和工藝的應(yīng)用現(xiàn)狀與發(fā)展前景[J].金屬加工:熱加工,2004(5):19-21.
[3]王福生.國內(nèi)外電阻焊設(shè)備的發(fā)展[J].電焊機(jī),2005,35(2):1-4.
[4]王清,吳林,張相軍.電阻焊焊接電源發(fā)展方向之探討[J].焊接,2000(11):7-10.
[5]周立功.USB2.0與OTG規(guī)范及開發(fā)指南[M].北京:北京航天航空大學(xué)出版社,2004:12-13.
[6]錢仇圣,王宜懷.基于MCF52223的多功能USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2010,30(1):277-279.
[7]付貴陽,賈懷義.USB On-The-Go工作原理分析和應(yīng)用研究[J].國外電子元器件,2004(10):14-17.
[8]劉海龍.基于USB OTG的Android手機(jī)與ARM卡通信的研究[D].成都:電子科技大學(xué),2014.
[9]蘇維嘉,唐宇,楊靜.基于Android平臺的USB數(shù)據(jù)采集系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(8):39-42.
[10]程軍,陳貴燦,姜飛.通用串行總線的OTG技術(shù)[J].微電子學(xué)與計(jì)算機(jī),2003(06):54-73.
[11]辛華峰.USB OTG技術(shù)在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用研究[D].吉林:吉林大學(xué),2005.
[12]周宇,尹生強(qiáng),王冬青,等.基于Eclipse和Android系統(tǒng)的App開發(fā)平臺搭建研究[J].青島:青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2016(03):45-49.
[13]王斌.基于Android平臺的移動APP開發(fā)模式探索[J].產(chǎn)業(yè)與科技論壇,2017(13):85-89.
[14]宋小倩,周東升.基于Android平臺的應(yīng)用開發(fā)研究[J].軟件導(dǎo)刊,2011(02):69-72.
[15]趙亮,張維.基于Android技術(shù)的界面設(shè)計(jì)與研究[J].電腦知識與技術(shù),2009(29):117-119.