彭 娟
(中船第九設(shè)計研究院工程有限公司, 上海 200063)
基于B4A平臺的造船測量APP開發(fā)與應(yīng)用
彭 娟
(中船第九設(shè)計研究院工程有限公司, 上海 200063)
基于B4A開發(fā)的安卓手機測量APP,運用于造船分段現(xiàn)場測量與分析,其在操作便攜性、測量數(shù)據(jù)傳輸效率等方面有了很大的提高。論述使用手持式智能終端(Personal Digital Assistant, PDA)進行測量的弊端,提出基于B4A平臺的快速開發(fā)模式,開發(fā)安卓APP替代PDA軟件,節(jié)省PDA硬件成本,增加藍牙無線通信、共享測量數(shù)據(jù)等功能,使得現(xiàn)場測量更便捷。
造船測量;B4A;藍牙;APP
隨著韓國造船技術(shù)的學(xué)習(xí)和推廣,造船測量管理理念深化,基于全站儀的造船測量系統(tǒng)逐步發(fā)展起來。在手持式智能終端(Personal Digital Assistant, PDA)中開發(fā)并運行應(yīng)用程序,用數(shù)據(jù)線連接并控制全站儀進行測量,接收存儲測量數(shù)據(jù)后對數(shù)據(jù)進行簡單的計算分析,這一直是船廠精度控制數(shù)據(jù)采集的主要方式,如圖1所示。
圖1 PDA-數(shù)據(jù)線-全站儀造船測量系統(tǒng)
精度測量系統(tǒng)主要原理是:利用全站儀精確測定船舶分段上若干特征點的三維坐標(biāo),應(yīng)用PDA軟件將這些特征點的三維坐標(biāo)用特定的空間直角坐標(biāo)系來組織,實時計算得到這些特征點的空間相對位置,并運用多種數(shù)學(xué)運算得到這些特征點、線、面間的各種幾何量值。軟件具有船體分段形位尺寸檢測時需要的各種功能,如:平面度、直線度、夾角、距離、空間圓圓心坐標(biāo)等;軟件可對測量坐標(biāo)系進行重新構(gòu)建或變換;借助于雙點標(biāo)靶工具可以快速測量分段上的隱蔽點;通過移站測量功能獲取不可見面、點位信息;通過設(shè)計測量功能得到分段實際測量點與設(shè)計模型理論點的偏差。
雖然目前現(xiàn)場測量體系已比較成熟,但仍然存在諸多問題:
(1) PDA硬件問題。造船PDA多為工業(yè)級硬件,較為笨重,測量人員長時間手持工作,加重工作負擔(dān),對工作效率和工作質(zhì)量會產(chǎn)生一定的影響。PDA主機成本較普通手機高出數(shù)倍,船廠采購成本較高。PDA通信線纜多為易耗品,經(jīng)常更換,增加成本,延誤生產(chǎn)進度。
(2) 數(shù)據(jù)共享問題。傳統(tǒng)全站儀測量完成的數(shù)據(jù)保存在PDA中,需要使用數(shù)據(jù)線物理連接電腦的方式從加工現(xiàn)場將測量數(shù)據(jù)導(dǎo)出給分析人員,耗費時間和人力,尤其有些單位需要跨廠區(qū)分析測量結(jié)果,傳統(tǒng)的數(shù)據(jù)共享手段延緩了分段精度的分析進度,因此急需一種實時傳輸數(shù)據(jù)及分享分析結(jié)果的手段。
為解決上述問題,提出將PDA程序移植至安卓手機APP中,并采用藍牙無線連接全站儀進行測量的方式進行精度測量與數(shù)據(jù)通信,如圖2所示。
圖2 安卓APP-全站儀造船測量系統(tǒng)
B4A(Basic4Android)是Anywhere Software公司推出的一個以安卓設(shè)備為目標(biāo)的簡單而強大的開發(fā)環(huán)境,如圖3所示。B4A開發(fā)語言類似于Visual Basic語言但加入了更多面向?qū)ο蟮闹С?。B4A編譯的應(yīng)用程序是原生的安卓應(yīng)用程序,沒有任何額外的運行庫和依賴。它與其他集成開發(fā)環(huán)境(Integrated Development Environment, IDE)不同,B4A是100%專注于安卓開發(fā)的,從而避免了Eclipse(開放源代碼的、基于Java的可擴展開發(fā)平臺)需要大量代碼以及難以理解的問題。B4A包含了一個強大的內(nèi)置圖形界面設(shè)計器,支持多種屏幕和方向,不需要編寫XML。同時,B4A包含一整套豐富的庫文件,并支持安卓的核心特性,更易于開發(fā)高級應(yīng)用程序。
圖3 B4A平臺開發(fā)界面
B4A程序包含窗體模塊(Activity Module)、類模塊(Class Module)、代碼模塊(Code Module)、服務(wù)模塊(Service Module)等4種模塊類型,在需要時可添加相應(yīng)類型的模塊。B4A提供強大的設(shè)計器,添加窗體模塊一般對應(yīng)相應(yīng)的布局文件(Layout),可添加按鈕、文本框、圖片框、列表框等常用控件,并可調(diào)整控件的屬性,設(shè)計器實現(xiàn)所見即所得的操作,可快速設(shè)計出需要的功能界面,如圖4所示。
圖4 B4A平臺圖形界面設(shè)計器
3.1 基本界面開發(fā)
造船測量APP程序由數(shù)十個功能界面組成,每個界面都基于以下步驟建立。
(1) 新建窗體模塊。使用工程菜單下的創(chuàng)建窗體模塊功能創(chuàng)建一個新的窗體后臺代碼文件。
(2) 創(chuàng)建窗體布局和添加控件。在窗體設(shè)計器中新建布局文件,添加需要的按鈕、文本框等控件。
(3) 快速生成Dim語句和控件事件。在窗體設(shè)計器中使用自動生成功能,可快速在窗體后臺代碼文件中生成相應(yīng)控件的定義和控件的事件語句,方便進行后續(xù)代碼層開發(fā)。
3.2 藍牙通信
藍牙通信是造船測量APP開發(fā)中的難點,使用B4A開發(fā)造船測量APP中藍牙通信功能按如下步驟進行。
(1) 定義藍牙通信對象。Dim Serial1 As Serial 定義通信對象,使用藍牙的虛擬串口來通信。
(2) 打開藍牙設(shè)置界面,掃描藍牙設(shè)備并配對:
Dim bleIntent As Intent
bleIntent.Initialize("android.settings.BLUETOOTH_SETTINGS", "")
StartActivity(bleIntent)。
(3) 獲取配對設(shè)備列表:
Dim PairedDevices As Map
PairedDevices = Serial1.GetPairedDevices '顯示全部已配對藍牙設(shè)備
Dim l As List
l.Initialize
For i = 0 To PairedDevices.Size - 1
l.Add(PairedDevices.GetKeyAt(i))
Next。
(4) 連接到設(shè)備:
Dim Res As Int
Res = InputList(l, "Choose device", -1) '顯示配對藍牙設(shè)備列表
If Res <> DialogResponse.CANCEL Then
Serial1.Connect(PairedDevices.Get(l.Get(Res)))
End If。
3.3 全站儀通信
基于藍牙通信功能,發(fā)送測距指令,與全站儀進行藍牙無線傳輸數(shù)據(jù)。
(1) 定義串口緩沖區(qū)讀寫對象和定時器,并初始化:
Dim aStreams As AsyncStreams
Dim Timer1 As Timer
Timer1.Initialize("Timer1", 1 000)
aStreams.Initialize (Serial1.InputStream ,Serial1.OutputStream ,"AStreams")。
(2) 發(fā)送測距指令,驅(qū)動全站儀測量:
Dim buffer() As Byte
Dim cmd As String
Select TSFlag '全站儀類型
Case 0 '索佳
cmd=Chr(17)
Case 1 '徠卡GSI
cmd="GET/M/WI21/WI22/WI31" & Chr(13) & Chr(10)
Case 2 '徠卡Geocom
cmd="%R1Q,17017:2" & Chr(13) & Chr(10)
Case 3 '拓普康Topcon
cmd="C067" & Chr(3)
End Select
aStreams.Write(cmd.GetBytes("UTF8"))'寫入內(nèi)容。
(3) 獲取全站儀返回數(shù)據(jù)并解析:
ResBuffer=ResBuffer & BytesToString(Buffer, 0, Buffer.Length, "UTF8")
tempPt= comm.Process_ReturnData(ResBuffer))'處理全站儀返回數(shù)據(jù)。
3.4 功能開發(fā)
造船測量APP軟件具有分析和變換的功能,本文將PDA軟件層C#代碼全部轉(zhuǎn)換為B4A代碼,最終完成了造船測量APP的開發(fā)。
江蘇揚子江船業(yè)集團公司承建的10 000 TEU集裝箱船寬近50 m,長約330 m,排水量達到12×104t,全船分段劃分為334個分段/部位,在N1169號船的分段生產(chǎn)過程中采用上文開發(fā)的安卓版造船測量APP,實現(xiàn)了分段快速測量、實時分享測量數(shù)據(jù)的應(yīng)用。
4.1 現(xiàn)場測量
根據(jù)理論模型上標(biāo)定的點位,在現(xiàn)場使用安卓版造船測量APP連接全站儀測量特征點位數(shù)據(jù)。
(1) 在藍牙界面選擇CX-102(索佳全站儀型號),連接成功后可進行測量。
(2) 在測量界面,可選擇1點標(biāo)靶、2點標(biāo)靶、3點圓心等3種測量方式測量分段特征點,如圖5所示。
(3) 測量完畢后,在主界面顯示所有特征點的測量坐標(biāo)列表,也可繼續(xù)進行點位變換、分析計算等操作。
(4) 最后通過文件分享功能,將測量文件通過郵件或社交軟件分享給業(yè)內(nèi)人員進行下一步的分析,如圖6所示。
圖5 藍牙連接全站儀及點位測量界面
4.2 業(yè)內(nèi)分析
(1) 將現(xiàn)場安卓版造船測量APP測量分享的文件導(dǎo)入到三維軟件中。
圖6 點位列表及測量文件共享界面
(2) 使用3點對應(yīng)功能將測量點與理論點進行匹配對應(yīng)。
(3) 根據(jù)分段結(jié)構(gòu)特點與分析要求,選取適當(dāng)?shù)臄M合點進行精密配對,獲取特征點精度偏差值,如圖7所示。
(4) 使用報表編輯功能,自動生成當(dāng)前分段精度數(shù)據(jù)結(jié)果的報表,如圖8所示。
圖7 理論點測量點匹配分析
圖8 分析結(jié)果報表輸出
4.3 與PDA模式測量對比結(jié)果
由于造船測量APP與PDA軟件僅僅是軟件平臺,數(shù)據(jù)傳輸和通信方式有區(qū)分,獲取點位坐標(biāo)精度取決于全站儀的測量精度,造船測量APP完全滿足分段測量精度要求。揚子江船廠使用造船測量APP進行分段點位數(shù)據(jù)采集,取代了使用PDA的測量方法,提升了測量效率。
本文在論述使用PDA進行測量的弊端后,提出基于B4A平臺快速開發(fā)模式,開發(fā)安卓版精度測量APP替代PDA軟件,節(jié)省了PDA硬件成本,同時在滿足現(xiàn)場原有功能需求的基礎(chǔ)上,增加了藍牙無線通信、共享測量數(shù)據(jù)功能,使得現(xiàn)場測量更便捷。該精度測量APP及精度分析系統(tǒng)同樣適用于海洋工程、海洋平臺建造精度控制過程,具有較高的推廣意義。此后,將通過繼續(xù)深入的研究,充分發(fā)掘全站儀及精度測量分析系統(tǒng)潛在的功能,在造船、海洋工程領(lǐng)域精度管理新階段發(fā)揮更大的作用。
[1] 王孟孟,朱琦,安靈斌. 開發(fā)先進造船精度管理軟件系統(tǒng)——SP.NET軟件系統(tǒng)簡介[J]. 造船技術(shù),2010(3):37-39.
[2] 孔寧,陳秀龍,安靈斌. 智能全站儀機載造船測量系統(tǒng)應(yīng)用[C]//中國造船工程學(xué)會CAD/CAM學(xué)術(shù)交流會議,2013.
[3] 穆明. 基于Basic4Android開發(fā)平臺的手機控制系統(tǒng)[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2016(3):54-56.
Application of Shipbuilding Measurement App Developed Based on B4A Platform
PENG Juan
(China Shipbuilding NDRI Engineering Co., Ltd., Shanghai 200063, China)
An Android APP of shipbuilding measurement is developed based on B4A which is applied in the field of shipbuilding block measurement and analysis. The operation of portability and date transmission process is greatly improved. A rapid development model based on BA4 platform is proposed according to discussing the disadvantage of measuring of the Personal Digital Assistant (PDA) and an Android APP is developed instead of PDA, which saves the cost and meets the functional requirement. With the function of Bluetooth wireless communication and date sharing, the measurement will be more convenient.
shipbuilding measurement; B4A; Bluetooth; APP
彭 娟(1982-),女,工程師,研究方向為船廠信息化建設(shè)
1000-3878(2017)04-0082-05
U671
A