周國華,商俊燕
(常州輕工職業(yè)技術(shù)學(xué)院 信息系,江蘇 常州 213164)
基于Android平臺的折彎機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)
周國華,商俊燕
(常州輕工職業(yè)技術(shù)學(xué)院 信息系,江蘇 常州 213164)
為了促進(jìn)數(shù)控系統(tǒng)發(fā)展,方便系統(tǒng)維護(hù)與監(jiān)測,開發(fā)了一種基于Android平臺的折彎機(jī)遠(yuǎn)程監(jiān)控系統(tǒng),實現(xiàn)了對折彎機(jī)系統(tǒng)運行數(shù)據(jù)的遠(yuǎn)程采集和數(shù)據(jù)存儲功能。該系統(tǒng)不受地點時間限制,用戶可在任何具備網(wǎng)絡(luò)覆蓋的地方從手機(jī)上瀏覽并獲取數(shù)據(jù),并根據(jù)數(shù)據(jù)自動生成系統(tǒng)運行報告、故障診斷報告及圖形分析報告,系統(tǒng)運行可靠,且具有較高的性價比。
折彎機(jī);安卓;集成控制系統(tǒng);遠(yuǎn)程監(jiān)控
目前國外,在數(shù)控折彎機(jī)領(lǐng)域,荷蘭、瑞典等一些發(fā)達(dá)國家主要綜合運用高科技手段構(gòu)建先進(jìn)折彎機(jī)運行狀態(tài)遠(yuǎn)程監(jiān)測系統(tǒng),通過先進(jìn)的傳感器感知技術(shù)、數(shù)據(jù)融合傳輸技術(shù)以及互聯(lián)網(wǎng)技術(shù)建立覆蓋整個產(chǎn)品的數(shù)控技術(shù)信息化平臺,實現(xiàn)了對數(shù)控折彎機(jī)運行狀態(tài)的自動監(jiān)測,大幅提高了折彎系統(tǒng)運行的可靠性、可維護(hù)性、可持續(xù)性發(fā)展[1]。在國內(nèi),目前都是人工測試系統(tǒng)、采集數(shù)據(jù),然后手工導(dǎo)出數(shù)據(jù)再進(jìn)行分析,操作耗時費力、實時性不佳,甚至很多專業(yè)數(shù)據(jù)采集必須攜帶和使用專門測試儀表,帶來了更大的維護(hù)困難等問題。本監(jiān)控系統(tǒng)基于Android平臺,系統(tǒng)實時性強,采用手機(jī)無線通訊的方式對折彎機(jī)運行進(jìn)行實時監(jiān)控,系統(tǒng)操作簡單、數(shù)據(jù)輸出快而精確。
系統(tǒng)主要分為底層模塊(伺服控制模塊監(jiān)控、流量閥模塊監(jiān)控、壓力閥模塊監(jiān)控),數(shù)據(jù)采集模塊,服務(wù)器,遠(yuǎn)程監(jiān)控以及Android手機(jī)客戶端等模塊。系統(tǒng)架構(gòu)圖如圖1所示。
折彎機(jī)集成控制系統(tǒng)是整個數(shù)控折彎機(jī)的核心,監(jiān)控著整個板料折彎全過程。集成控制系統(tǒng)包括控制部分、驅(qū)動部分及監(jiān)控部分,實現(xiàn)的功能主要包括控制參數(shù)的設(shè)定、狀態(tài)的讀取控制、數(shù)據(jù)信號采集、對折彎機(jī)的控制。運動控制系統(tǒng)要對伺服、流量閥、壓力閥、電磁閥、液壓泵在內(nèi)的多種控制對象進(jìn)行控制,負(fù)責(zé)的控制任務(wù)如下:板料的輸送、工作滑塊的位移及后擋料板的位置控制等。驅(qū)動部分則由控制系統(tǒng)根據(jù)采集到的數(shù)據(jù)和相關(guān)參數(shù)設(shè)置發(fā)送控制指令運作。監(jiān)控部分包括實時接受控制反饋信息、實時數(shù)據(jù)采集、狀態(tài)信息匯集及處理、控制參數(shù)和狀態(tài)顯示等。各個部分必須實時通訊、協(xié)調(diào)工作。
圖1 系統(tǒng)整體框架結(jié)構(gòu)圖
服務(wù)器模塊主要用于接收數(shù)據(jù)并通過GPRS與Android手機(jī)客戶端進(jìn)行網(wǎng)絡(luò)通信;Android手機(jī)客戶端主要完成同服務(wù)器的數(shù)據(jù)交互,端口狀態(tài)顯示以及自身的數(shù)據(jù)庫管理、網(wǎng)絡(luò)通信等功能。
2.1Android客戶端架構(gòu)
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。客戶端部分采用Android Java開發(fā),利用自身數(shù)據(jù)庫SQLite實現(xiàn)數(shù)據(jù)存儲,結(jié)合Socket完成網(wǎng)絡(luò)通信,最終編譯之后打包生成App,在Android手機(jī)上可直接安裝,相比傳統(tǒng)的折彎機(jī)監(jiān)控系統(tǒng),本設(shè)計不受時間、地域、環(huán)境、距離等因數(shù)限制,在用戶手機(jī)上設(shè)計監(jiān)控界面,操作方便靈活,具體架構(gòu)如圖2所示。
圖2 Android客戶端架構(gòu)
2.2客戶端界面設(shè)計
Android系統(tǒng)采用XML語言完成界面設(shè)計,本系統(tǒng)主要包含登錄界面、主功能界面、參數(shù)設(shè)置、運行狀態(tài)監(jiān)控、故障診斷及數(shù)據(jù)分析界面,在主功能界面中可點擊進(jìn)入各級主控制界面,端口監(jiān)測界面如圖3所示。在該控制界面實時接收由服務(wù)器端發(fā)送的數(shù)據(jù)并直觀的顯示出來。
圖3 端口監(jiān)測界面
端口通過其狀態(tài)0-1的變化判定外部信號或者輸入端口的好壞。I_00到I_13為輸入端口,O_14到O_18為伺服軸的模擬量輸出端口。 O_19和O_20為伺服軸模擬量輸出端口的零位調(diào)整,可用以校正伺服電機(jī)的零飄。D1~D4分別對應(yīng)Y1、Y2光柵尺,X軸,R軸的編碼器的反饋信號,通過這些反饋信號可判定計數(shù)方向的正確性,防止發(fā)生飛車。
左偏置,右偏置可控制左右兩側(cè)比例伺服閥的雙向開啟關(guān)閉,左右閥補償可校正閥零位,壓力閥偏置可以通過DA1 到DA6值的改變輸出相應(yīng)電流到主壓力閥,通過壓力表可直接觀察到主壓力的變化,通過這種方法可方便的進(jìn)行壓力標(biāo)定。通過左右閥偏置,壓力閥偏置及相關(guān)開關(guān)閥的動作能操縱滑塊上下動作。
本系統(tǒng)包含多個Activity,這些Activity切換與傳遞數(shù)據(jù)通過Intent來實現(xiàn)。在一個Activity設(shè)置可觸發(fā)的控件,添加一個觸發(fā)器,設(shè)置Intent,讓Intent能將Activity和需要跳轉(zhuǎn)的Activity進(jìn)行綁定,通過 putExtra方法將要傳輸?shù)闹捣诺絀ntent對象中存儲,在跳轉(zhuǎn)的Activity中使用 getIntent來獲取上下文切換中,使得自己啟動Intent對象實例,最后使用getStringExtra來獲取數(shù)據(jù)。
2.3數(shù)據(jù)存取模塊設(shè)計
在本系統(tǒng)設(shè)計中2處用到數(shù)據(jù)庫,即在參數(shù)設(shè)置以及采集數(shù)據(jù)存取模塊中。在參數(shù)設(shè)置模塊中,為了提高系統(tǒng)的操作人性化,用戶可手動設(shè)置通信地址和端口,添加到數(shù)據(jù)庫中,一次設(shè)置可永久保存,在下次通信時系統(tǒng)自動搜索數(shù)據(jù)庫,取出通信參數(shù)和遠(yuǎn)程服務(wù)器進(jìn)行通信,若服務(wù)器地址發(fā)生變化,只需修改客戶端的通信數(shù)據(jù)庫中的通信參數(shù)即可。在數(shù)據(jù)存取模塊中,實現(xiàn)了對遠(yuǎn)程服務(wù)器傳送來的采集數(shù)據(jù)進(jìn)行數(shù)據(jù)存儲,更新以及實時的查詢記錄功能,為了防止數(shù)據(jù)的覆蓋,每次實時讀取系統(tǒng)當(dāng)前的時間,提煉出關(guān)鍵信息作為保存文件的文件名,在數(shù)據(jù)分析時通過ListView將指定目錄下存儲的XML文檔全部列出,用戶選擇某一XML文檔后,可刪除此文檔或者根據(jù)此文檔的數(shù)據(jù)生成圖形分析,同時考慮到手機(jī)自帶的SQLite數(shù)據(jù)庫容量有限,系統(tǒng)能將數(shù)據(jù)庫中全部信息以XML文檔的方式保存到用戶的SD卡上。
SQLite數(shù)據(jù)庫是D.Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫,支持的數(shù)據(jù)庫大小為2TB。SQLite是輕量級數(shù)據(jù)庫,其與C/S模式的數(shù)據(jù)庫軟件不同,是進(jìn)程內(nèi)的數(shù)據(jù)引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器。使用SQLite一般只需要帶上其的一個動態(tài)庫,便可享受其全部功能。且那個動態(tài)庫的尺寸也相當(dāng)小。SQLite數(shù)據(jù)庫具有很強的獨立性,其的核心引擎本身不依賴第三方軟件,使用其也無需“安裝”。所以在部署的時候能省去不少麻煩。SQLite數(shù)據(jù)庫支持跨平臺,支持大部分操作系統(tǒng),除了在電腦上使用的操作系統(tǒng)外,諸多手機(jī)系統(tǒng)同樣可運行,比如 Android、Windows Mobile、Sysbin、Palm等。SQLite數(shù)據(jù)庫支持多語言接口,比如C/C++、java、Python、dotNet、Ruby、Perl等,因此本系統(tǒng)采用SQLite數(shù)據(jù)庫。
在android中使用SQLite,一般需要重新寫一個類,而該類繼承一個 android提供訪問該數(shù)據(jù)庫的助手類SQLiteOpenHelper。SQLiteOpenHelper是SQLiteDatabase的一個幫助類,用來管理數(shù)據(jù)庫的創(chuàng)建和版本的更新。SQLite數(shù)據(jù)庫同樣可通過SQL語句來完成數(shù)據(jù)的新增、插入、修改等操作,Android提供了一個名為SQLiteDatabase的類,該類封裝了一些操作數(shù)據(jù)庫的API,使用該類可完成對數(shù)據(jù)進(jìn)行添加(Create)、查詢(Retrieve)、更新(Update)和刪除(Delete)操作。
2.4通信模塊設(shè)計
通信模塊主要基于Socket接口來實現(xiàn)的,Socket是兩個程序之間進(jìn)行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)通訊端點,有一個地址和一個端口號來標(biāo)識。每個服務(wù)程序在提供服務(wù)時均要在一個端口進(jìn)行,而想使用該服務(wù)的客戶機(jī)也必須連接該端口。Socket因是基于傳輸層,所以其是較為原始的通訊協(xié)議機(jī)制。通過Socket的數(shù)據(jù)表現(xiàn)形式為字節(jié)流信息,因此通訊雙方要想完成某項具體的應(yīng)用則必須按雙方約定的方式進(jìn)行數(shù)據(jù)的格式化和解釋。本系統(tǒng)選用基于TCP/IP協(xié)議的Socket通信方式。為了提高系統(tǒng)的通信效率,將Socket通信的接收部分在獨立的線程Thread中執(zhí)行,以保證系統(tǒng)的快速反應(yīng)性能。
首先利用服務(wù)器的域名 (IP地址)以及端口創(chuàng)建新的Socket連接,通過該端口號向服務(wù)器發(fā)送連接請求,如果連接不成功,拋出異常。成功連接后客戶端啟動偵聽,準(zhǔn)備接收來自服務(wù)器指定端口發(fā)送的IO端口參數(shù)信息,具體實現(xiàn)如下:
try{
//客戶端
socketSocket socket=new Socket(服務(wù)器固定IP地址, 54321);
//取得輸出流
PrintWriter out=new PrintWriter(
new BufferedWriter(new OutputStreamWriter(socket. getOutputStream()),true);
//取得輸入流
BufferedReaderin=newBufferedReader(new InputStreamReader(socket.getInputStream());
…
//讀取信息關(guān)閉流
out.close();
in.close();
}catch(IOException e){…}
折彎機(jī)控制系統(tǒng)服務(wù)器由數(shù)據(jù)編程模塊、折彎控制模塊以及狀態(tài)監(jiān)控3大模塊組成,系統(tǒng)采用C#與C++混合編程,C#設(shè)計界面,C++實現(xiàn)底層通訊,實現(xiàn)在不影響系統(tǒng)性能下提高了系統(tǒng)開發(fā)效率。
與手機(jī)通訊采用GPRS模塊,GPRS(General Packet Radio Service)是通用分組無線業(yè)務(wù)的簡稱,是在GSM基礎(chǔ)上發(fā)展起來的一種分組交換的數(shù)據(jù)承載和傳輸方式。與原有的GSM比較,GPRS在數(shù)據(jù)業(yè)務(wù)的承載和支持上具有明顯的優(yōu)勢:通過多個GSM時隙的復(fù)用,支持的數(shù)據(jù)傳輸速率更高;GPRS采用TCP協(xié)議進(jìn)行數(shù)據(jù)通信,其內(nèi)嵌TCP/IP協(xié)議棧,實現(xiàn)用戶數(shù)據(jù)透明傳輸;支持固定IP和域名解析方式連接;采用信道復(fù)用技術(shù),每個GPRS用戶均能實現(xiàn)永遠(yuǎn)在線;相對于短消息等其他無線數(shù)據(jù)通信業(yè)務(wù),GPRS的價格優(yōu)勢比較明顯;內(nèi)置EEPROM,可保存用戶設(shè)定參數(shù);獨立的數(shù)據(jù)端口和命令端口,可接受遠(yuǎn)程AT命令;抗干擾設(shè)計,適合電磁環(huán)境惡劣的應(yīng)用需求。
圖4 折彎機(jī)控制系統(tǒng)服務(wù)器功能模塊
圖5 系統(tǒng)監(jiān)控流程圖
通過系統(tǒng)狀態(tài)監(jiān)控模塊來查看折彎機(jī)IO端口及運行參數(shù)、狀態(tài)的變化,方便對系統(tǒng)進(jìn)行故障診斷。當(dāng)折彎系統(tǒng)發(fā)生故障時,折彎控制模塊能自動識別故障代碼,通過串口發(fā)送到折彎機(jī)控制系統(tǒng)服務(wù)器端,服務(wù)器端能準(zhǔn)確將相關(guān)IO端口狀態(tài)發(fā)送到Android手機(jī),同時本監(jiān)控系統(tǒng)支持?jǐn)?shù)據(jù)采集、保存及發(fā)送,當(dāng)整個折彎步驟完成后,監(jiān)控自動采集數(shù)據(jù),為了防止數(shù)據(jù)丟失,保存在機(jī)器的數(shù)據(jù)庫中,通過GPRS傳送數(shù)據(jù),同時窗口能正確顯示接收到的指令,可對監(jiān)控信息進(jìn)行查詢。
利用本系統(tǒng)在蘇州愛克機(jī)械有限公司折彎機(jī)生產(chǎn)基地進(jìn)行試驗,實時獲取折彎機(jī)的IO端口變化及采集數(shù)據(jù)生成分析報告,在本系統(tǒng)監(jiān)控下,測試結(jié)果如圖6所示。
圖6 圖形數(shù)據(jù)分析示例
通過該采樣分析界面,可看到整個折彎動作運行的實時狀態(tài)曲線,分析該曲線,可得到比例伺服閥的動作狀態(tài);比例壓力閥的動作狀態(tài);Y1,Y2滑塊運行速度,位置;機(jī)床狀態(tài)(停止,快下,工進(jìn),保壓,卸荷,回程);滑塊運行 參考曲線,實際誤差;數(shù)字輸入輸出端口狀態(tài);伺服軸的運行狀態(tài)及參考曲線;模擬量反饋信號狀態(tài)(壓力傳感器,補償電位器等)等。
本文開發(fā)的基于物聯(lián)網(wǎng)Android平臺的折彎機(jī)遠(yuǎn)程監(jiān)控系統(tǒng),在Android手機(jī)上實現(xiàn)了遠(yuǎn)程無線監(jiān)控,方便了折彎機(jī)生產(chǎn)廠家監(jiān)控和調(diào)試折彎機(jī),系統(tǒng)運行可靠,性價比高,具有良好的推廣前景。
[1]孫斌,楊汝清.基于PC的數(shù)控系統(tǒng)的研究現(xiàn)狀和發(fā)展趨勢[J].機(jī)床與液壓,2001(4):3-5.
[2]余宏兵,李寶安,申功勛.基于ARM的WINCE系統(tǒng)定制[J].現(xiàn)代電子技術(shù),2008(10):73-75.
[3]王四林.一種通用型折彎機(jī)數(shù)控系統(tǒng)[J].中國水運,2008(10): 144-145.
[4]黎小巨,吳百海,王衛(wèi)平.電伺服折彎機(jī)同步控制及仿真研究[J].機(jī)床與液壓,2009,37(8)203-205.
[5]葉俊華,許雪妹,黃帥,等.基于ARM和WINCE的數(shù)據(jù)采集系統(tǒng)設(shè)計[J].計算機(jī)工程與科學(xué),2009,31(6):136-138.
[6]代杰,樊瑾瑜,孫洪德.基于單片機(jī)和PLC的母線折彎機(jī)控制系統(tǒng)設(shè)計[J].機(jī)床與液壓,2011,39(12):71-73.
[7]魏雪梅,王志明,曹光榮,等.數(shù)控板料折彎機(jī)遠(yuǎn)程診斷技術(shù)研究[J].鍛壓裝備與制造技術(shù),2012(2):29-31.
[8]李東旭,岳向泉.基于WinCE的折彎機(jī)遠(yuǎn)程無線監(jiān)控系統(tǒng)開發(fā)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2013,26(3):131-133.
[9]白瑞林,盧長龍,胡軍山.具有遠(yuǎn)程無線監(jiān)控功能的鋁隔條折彎機(jī)控制系統(tǒng)設(shè)計[J].機(jī)床與液壓,2014,42(5):91-93.
Remote monitoring system of bending machine based on android platform
ZHOU Guo-hua,SHANG Jun-yan
(Department of Information,Changzhou Institute of Light Industry Technology,Changzhou 213164,China)
In order to promote the development of NC system,and is convenient for system maintenance and monitoring,the development of a bending machine remote monitoring system based on the Android platform,the realization of the bending machine system operation data acquisition and remote data storage function.The system is not affected by the time and place restrictions on,the user can in any with network coverage of the place from the phone browsing and access to data,and according to the data automatic generation system operation report,fault diagnosis reports and graphical analysis report,and reliable operation of the system and has a high price.
bending machine;Android;integrated control system;remote monitoring
TN99
A
1674-6236(2016)13-0098-03
2015-07-14稿件編號:201507102
常州輕工職業(yè)技術(shù)學(xué)院青年創(chuàng)新基金項目(2014);江蘇省大學(xué)生創(chuàng)新項目(201513101015Y)
周國華(1977—),男,江蘇常州人,碩士,講師。研究方向:軟件技術(shù)。