,2 ,2 ,2
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院1,上海 201620;數(shù)字化紡織服裝技術(shù)教育部工程研究中心2,上海 201620)
碳纖維是一種以聚丙烯腈、瀝青、粘膠纖維等為原料,經(jīng)預(yù)氧化、碳化、石墨化工藝而制得的含碳量大于90%的特種纖維。碳纖維具有高強(qiáng)度、高模量、低密度、耐高溫、耐摩擦、導(dǎo)電、導(dǎo)熱、膨脹系數(shù)小等優(yōu)異性能,廣泛應(yīng)用于軍事和民用領(lǐng)域[1]。
我國(guó)研制碳纖維已有40余年的歷史,但生產(chǎn)的碳纖維質(zhì)量較發(fā)達(dá)國(guó)家而言,仍處于較低水平,關(guān)鍵問(wèn)題是碳纖維原絲質(zhì)量未過(guò)關(guān)。影響碳纖維原絲質(zhì)量的工藝指標(biāo)很多:①紡絲原液的濃度、溫度;②凝固浴液的濃度、溫度;③拉伸浴液的濃度、溫度;④熱定型溫度等。對(duì)這些工藝指標(biāo)的監(jiān)測(cè)和控制是制備高質(zhì)量碳纖維原絲的關(guān)鍵[2-3]。
復(fù)雜工業(yè)過(guò)程工藝多、流程長(zhǎng),系統(tǒng)地域跨度性較大,傳統(tǒng)的現(xiàn)場(chǎng)總線及固定站點(diǎn)監(jiān)測(cè)不能滿足工業(yè)的需求。隨著智能手機(jī)和無(wú)線通信技術(shù)的快速發(fā)展和普及,智能手機(jī)應(yīng)用到工業(yè)監(jiān)測(cè)中的條件已經(jīng)成熟。而Android系統(tǒng)是基于Linux的開(kāi)源操作系統(tǒng)平臺(tái),其憑借開(kāi)放性技術(shù),大大降低了產(chǎn)品的開(kāi)發(fā)成本,有助于在激烈的市場(chǎng)競(jìng)爭(zhēng)中獲得用戶青睞[9]。
為了實(shí)現(xiàn)在移動(dòng)終端上的遠(yuǎn)程監(jiān)測(cè),本文設(shè)計(jì)并開(kāi)發(fā)出一套基于Android平臺(tái)的碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了監(jiān)控人員對(duì)現(xiàn)場(chǎng)的實(shí)時(shí)監(jiān)測(cè),降低了監(jiān)測(cè)人員的工作強(qiáng)度和監(jiān)測(cè)成本,提高了監(jiān)測(cè)水平。
碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)由工業(yè)現(xiàn)場(chǎng)傳感器、RS-232/485串口監(jiān)視器、RS-232/485藍(lán)牙轉(zhuǎn)換器、藍(lán)牙模塊和Android手機(jī)構(gòu)成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
① 工業(yè)現(xiàn)場(chǎng)傳感器是指碳纖維加工工藝流程中的濃度、溫度等傳感器。數(shù)據(jù)采集部分集成在C51系列單片機(jī)上,構(gòu)成數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)傳感器數(shù)據(jù)的轉(zhuǎn)換。
② 藍(lán)牙模塊選用主-從一體式藍(lán)牙串口模塊,配置為從設(shè)備被動(dòng)連接Android手機(jī)。
③ Android手機(jī)上安裝碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)軟件,通過(guò)連接工業(yè)現(xiàn)場(chǎng)的藍(lán)牙模塊與現(xiàn)場(chǎng)進(jìn)行數(shù)據(jù)交互;顯示實(shí)時(shí)采集到的傳感器數(shù)據(jù);對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行判斷,越過(guò)數(shù)據(jù)安全范圍時(shí)實(shí)現(xiàn)報(bào)警提示;將采集到的數(shù)據(jù)存入數(shù)據(jù)庫(kù)。
系統(tǒng)主要實(shí)現(xiàn)基于Android平臺(tái)下的碳纖維工業(yè)移動(dòng)監(jiān)測(cè)功能,使現(xiàn)場(chǎng)監(jiān)控人員可以用Android手機(jī)實(shí)時(shí)監(jiān)測(cè)工藝指標(biāo)的實(shí)時(shí)值及變化情況。系統(tǒng)基本功能框圖如圖2所示。
圖2 碳纖維工業(yè)監(jiān)測(cè)系統(tǒng)功能框圖
在系統(tǒng)功能框圖中,軟件系統(tǒng)部分主要包括藍(lán)牙通信模塊、實(shí)時(shí)報(bào)警模塊、數(shù)據(jù)監(jiān)測(cè)模塊、數(shù)據(jù)庫(kù)模塊和遠(yuǎn)程交互模塊。
藍(lán)牙通信實(shí)際上是一種短距離無(wú)線數(shù)據(jù)與語(yǔ)音通信技術(shù)。在Android平臺(tái)上進(jìn)行藍(lán)牙通信開(kāi)發(fā)需要用到的類(lèi)及相應(yīng)的方法均位于android.bluetooth包中。
對(duì)于該碳纖維工業(yè)監(jiān)測(cè)系統(tǒng),Android端作為客戶端主動(dòng)連接工業(yè)現(xiàn)場(chǎng)傳感器端的藍(lán)牙模塊并建立通信連接進(jìn)行數(shù)據(jù)傳輸。具體步驟如下。
① 建立一個(gè)BluetoothAdapter對(duì)象,用于描述本地的藍(lán)牙適配器設(shè)備(如本地藍(lán)牙MAC地址、名稱、當(dāng)前狀態(tài)等)。建立兩個(gè)BroadcastReceiver對(duì)象,一個(gè)用于完成藍(lán)牙設(shè)備搜索的接收器,一個(gè)用于發(fā)現(xiàn)藍(lán)牙后進(jìn)行消息接收的接收器。
② 使用步驟①中實(shí)例化后的BluetoothAdapter對(duì)象中的startDiscovery()方法開(kāi)始執(zhí)行搜索,并用實(shí)例化后的BroadcastReceiver對(duì)象中的onReceive()方法獲取搜索到的藍(lán)牙設(shè)備信息。
③ 建立一個(gè)BluetoothDevice對(duì)象,用于描述步驟③搜索到的一個(gè)遠(yuǎn)程藍(lán)牙設(shè)備,并用其創(chuàng)建一個(gè)帶有各自設(shè)備的連接。
④ 使用步驟③中BluetoothDevice創(chuàng)建的連接建立一個(gè)BluetoothSocket對(duì)象;使用BluetoothSocket對(duì)象中的connect()方法建立連接。
⑤ 連接建立之后,使用BluetoothSocket對(duì)象中的getInputStream()和getOutputStream()方法進(jìn)行通信。
通過(guò)上述步驟,Android手機(jī)端可與工業(yè)現(xiàn)場(chǎng)傳感器端的藍(lán)牙模塊建立通信并進(jìn)行數(shù)據(jù)傳輸。
在碳纖維工業(yè)生產(chǎn)中,由于傳感器損壞等因素導(dǎo)致的工業(yè)參數(shù)異常,可以由碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)對(duì)實(shí)時(shí)采集到的數(shù)據(jù)進(jìn)行數(shù)值取值范圍的判斷,從而進(jìn)行捕捉,再通過(guò)Android手機(jī)發(fā)出報(bào)警,提示現(xiàn)場(chǎng)監(jiān)控人員。主要代碼如下。
public void alarm(String sensor){
int temp = TransferData.getnowx();
boolislarm = checkdata(temp);
if(islarm == true)
{
Looper.prepare();
New AlertDialog.Builder().setTitle("警告:").setMessage(sensor +"對(duì)應(yīng)的傳感器工位出現(xiàn)數(shù)據(jù)異常!請(qǐng)速去現(xiàn)場(chǎng)檢查!").setPositiveButton("確定",null).show();
soundPol.play(soundMap.get(1),1,1,0,0,1);
Looper.loop();
}
}
以上代碼中,參數(shù)sensor為出現(xiàn)異常對(duì)應(yīng)的藍(lán)牙模塊名稱,參數(shù)temp為實(shí)際溫度值或濃度值等。
對(duì)于大部分傳感器來(lái)說(shuō),一般采用數(shù)字方式顯示數(shù)據(jù)。而對(duì)于碳纖維凝固浴液溫度的傳感器,監(jiān)控人員既需要了解工藝參數(shù)的具體數(shù)值,又需要觀察工藝參數(shù)的數(shù)據(jù)走勢(shì),實(shí)現(xiàn)類(lèi)似示波器的功能。因此,該碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)顯示模塊分為數(shù)字顯示和波形顯示兩部分。
2.3.1 數(shù)字顯示
數(shù)字顯示的實(shí)現(xiàn)相對(duì)簡(jiǎn)單,其主要通過(guò)一個(gè)Textview組件來(lái)顯示數(shù)據(jù)。通過(guò)setText()方法添加藍(lán)牙模塊接收到的數(shù)據(jù),實(shí)時(shí)刷新Textview組件便可觀察工藝參數(shù)的實(shí)時(shí)數(shù)值。
2.3.2 波形顯示
波形顯示部分的實(shí)現(xiàn)分為兩步。第一步是在得到實(shí)時(shí)數(shù)據(jù)后,通過(guò)坐標(biāo)變換將量程和實(shí)時(shí)數(shù)據(jù)進(jìn)行相應(yīng)的比例變換,以適應(yīng)于Android系統(tǒng)的坐標(biāo)系。實(shí)現(xiàn)代碼如下。
publicint transfer(int temp){
return(temp/range)*(height/2);
}
其中,參數(shù)temp為實(shí)際溫度值(或濃度),range為量程,height為繪圖部分的高度。
第二步是繪制波形。Android提供了兩個(gè)用于繪圖的類(lèi):View和SurfaceView。SurfaceView擁有雙緩沖機(jī)制,且避免了View在程序需要更新圖像時(shí)必須重繪整張圖像所帶來(lái)的效率低下問(wèn)題。相比SurfaceView,View能夠更好地實(shí)現(xiàn)波形顯示的功能。程序每次繪制時(shí)只需要繪制(更新)當(dāng)前點(diǎn)的波形,前面已經(jīng)繪制的波形無(wú)須更新。核心代碼如下。
public void run(){
paint = new Paint();
int cx = TransferData.getnowx();
int cy = TransferData.getnowy();
Canvascanvas =holder.lockCanvas(
newRect(cx,cy-2,cx+2,cy+2));
canvas.drawpoint(cx,cy,paint);
cx++;
holder.unlockCanvasAndPost(canvas);}
從上面的程序可以看出,當(dāng)程序每次繪制實(shí)時(shí)的數(shù)據(jù)點(diǎn)時(shí),程序無(wú)須重繪整個(gè)畫(huà)面,Holder只要鎖定當(dāng)前繪圖的小范圍即可。系統(tǒng)更新圖像時(shí)也只需要更新這個(gè)范圍即可,具有很好的畫(huà)面性能。
在碳纖維工業(yè)實(shí)際監(jiān)測(cè)過(guò)程中,應(yīng)用程序中的數(shù)據(jù)量較大,且需要進(jìn)行大量插入、更新、查詢等操作,如果使用文件流的方式來(lái)保存數(shù)據(jù),就會(huì)顯得效率低下。這里選用輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù)SQLite。
通過(guò)SQLiteDatabase.openOrCreateDatabase()方法打開(kāi)或創(chuàng)建一個(gè)SQLite數(shù)據(jù)庫(kù);通過(guò)一個(gè)定時(shí)器Timer每隔一段時(shí)間插入一個(gè)表。主要代碼如下。
public void createDatabase(){
SQLiteDatabase.openOrCreateDatabase("pancf_temp.db3",null);
}
public void createTable(){
sql = "create table datatable(data_id integer primary key,"
+ "tempvarchar(255), "
+ "con varchar(255)) "
Db.execSQL(sql);
}
相比遠(yuǎn)程監(jiān)控中心監(jiān)控人員,工業(yè)現(xiàn)場(chǎng)監(jiān)控人員能夠更好地了解和分析現(xiàn)場(chǎng)情況,并可以根據(jù)經(jīng)驗(yàn)做出相應(yīng)的判斷和決策,如碳纖維工業(yè)PID參數(shù)設(shè)定、控制電機(jī)的啟停等。碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)通過(guò)交互模塊模擬現(xiàn)場(chǎng)控制,將模擬控制信息通過(guò)短信發(fā)至遠(yuǎn)程監(jiān)控終端,并由遠(yuǎn)程監(jiān)控終端短信反饋信息。部分代碼如下。
Public voidsendmessage(){
String num = RemoteControl.num;
String content =ControlPanel.getinform();
PendingIntent pi =PendingIntent.getActivity
(SendSms.this,0,new Intent(),0);
SmsManagersm = new SmsManager();
Sm.sendTextMessage(number,null, content,
pi,null);
Toast.makeText(SendSms.this, "短信已發(fā)送
成功",8000).show();
}
以上代碼中,參數(shù)num為遠(yuǎn)程監(jiān)控終端的短信中心號(hào)碼,參數(shù)content為通過(guò)getinform()方法獲取的模擬控制信息。
本文主要描述了3個(gè)模塊的測(cè)試效果,分別為數(shù)據(jù)報(bào)警模塊、數(shù)據(jù)監(jiān)測(cè)模塊和遠(yuǎn)程交互模塊。在實(shí)際界面中,右上角的綠色R和紅色T標(biāo)記分別為藍(lán)牙通信的接收和發(fā)送的數(shù)據(jù)包大小,用于計(jì)算通信流量;左下角為模式切換按鈕,用于切換到其他模式;右下角為斷開(kāi)連接按鈕,用于斷開(kāi)藍(lán)牙連接。
數(shù)據(jù)監(jiān)測(cè)模塊可以實(shí)現(xiàn)數(shù)字顯示刷新凝固浴溫度等變量。刷新時(shí)間由該藍(lán)牙模塊所在工位的凝固浴溫度等傳感器采集頻率決定。而數(shù)據(jù)監(jiān)測(cè)模塊中波形顯示凝固浴溫度界面的波形是由數(shù)個(gè)坐標(biāo)點(diǎn)構(gòu)成,每一個(gè)坐標(biāo)點(diǎn)都是一次實(shí)時(shí)采集的凝固浴溫度。在數(shù)據(jù)報(bào)警模塊中,當(dāng)某一時(shí)刻采集的實(shí)時(shí)數(shù)據(jù)越界時(shí),報(bào)警對(duì)話框彈出并進(jìn)行報(bào)警,實(shí)際使用中Android手機(jī)會(huì)有報(bào)警語(yǔ)音提示。在遠(yuǎn)程交互模塊中的現(xiàn)場(chǎng)控制模擬界面,點(diǎn)擊發(fā)送即可通過(guò)短信發(fā)至遠(yuǎn)程監(jiān)控終端,提交所選信息。
本文以碳纖維工業(yè)生產(chǎn)為背景,基于Android平臺(tái)設(shè)計(jì)并開(kāi)發(fā)了碳纖維工業(yè)移動(dòng)監(jiān)測(cè)系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)的一系列功能,降低了監(jiān)測(cè)人員的工作強(qiáng)度和監(jiān)測(cè)復(fù)雜度,提高了監(jiān)測(cè)水平。目前,Android等一系列移動(dòng)終端在碳纖維工業(yè)上的應(yīng)用很少,而利用移動(dòng)終端便攜的優(yōu)勢(shì)對(duì)碳纖維工業(yè)生產(chǎn)監(jiān)測(cè)是其在工業(yè)領(lǐng)域應(yīng)用的一大需求。若將本地存儲(chǔ)方式改為云存儲(chǔ),移動(dòng)終端加入4G網(wǎng)絡(luò),并對(duì)軟件系統(tǒng)作進(jìn)一步的優(yōu)化與升級(jí),那么工業(yè)監(jiān)測(cè)領(lǐng)域?qū)⑻と朐茣r(shí)代。
[1] 賀福.碳纖維及其應(yīng)用技術(shù)[M].北京:化學(xué)工業(yè)出版社,2004.
[2] 陳佳佳,丁永生,郝礦榮,等.碳纖維拉伸工藝優(yōu)化的多目標(biāo)動(dòng)態(tài)規(guī)劃方法[J].材料導(dǎo)報(bào),2011,25(6).
[3] Canton G,Kulinsky L,Madou M J.Electro-mechanical spinning:a new manufacturing technique for micro/ nano-fabrication of carbon fibers[C]∥Advanced Packaging Materials(APM),2013 IEEE International Symposium,2013:230-239.
[4] 周強(qiáng),丁永生,郝礦榮,等.碳纖維原絲紡絲過(guò)程的在線監(jiān)控協(xié)同式專家系統(tǒng)[J].石油化工自動(dòng)化,2012,48(1).
[5] 陸寧云,王福利,高福榮,等.間歇過(guò)程的統(tǒng)計(jì)建模與在線監(jiān)測(cè)[J].自動(dòng)化學(xué)報(bào),2006,32(3).
[6] 宋欣,王翠榮.基于線性回歸的無(wú)線傳感器分布式數(shù)據(jù)采集優(yōu)化策略[J].計(jì)算機(jī)學(xué)報(bào),2012,35(3).
[7] 葛志強(qiáng),劉毅,宋執(zhí)環(huán),等.一種基于局部模型的非線性多工況過(guò)程監(jiān)測(cè)方法[J].自動(dòng)化學(xué)報(bào),2008,34(7).
[8] 許強(qiáng),趙宏,江早.一種新穎的智能網(wǎng)絡(luò)圖像內(nèi)容監(jiān)測(cè)系統(tǒng)模型[J].軟件學(xué)報(bào),2002,13(3).
[9] 吳晶.Android手機(jī)端遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:上海交通大學(xué),2012.
[10]Moon S W,Kim Y J,Myeong H J,et al.Implementation of smartphone environment remote control and monitoring system for Android operating system-based robot platform[C]//8th International Conference on Ubiquitous Robots and Ambient Intelligence(URAI),Incheon,2011:211-214.