徐云蛟

摘要:通過產學研項目,認識到上海西馬特機械制造有限公司。經過一系列的培訓后,對PLC各方面的知識有所了解,也為了方便該公司日常運作工作管理,開發了基于Android手機平臺的客戶端。
該設計主要實現的功能是工程師實時獲取每日安排的任務單,在完成工作后,可以提交自己的任務,方便公司負責人在后臺能夠看到解決任務時的詳細工作記錄,以備日后檢閱。根據上述的主要功能,將利用手機推送功能實現工程師實時獲取不同需求的任務單,利用GPS定位還可以實現提交工作位置,方便工程師簽到等功能。上傳下載工作記錄的功能主要利用了數據庫接口來完成。經過多次測試,客戶端運行穩定,軟件滿足當初設計的要求。
從軟件的實際使用來看,該軟件可以幫助工程師節約很多時間和精力,也加強了公司負責人對工程師的管理,從而提高工程師工作的效率和公司業績,后期還可加入更多功能,來滿足巨大的市場需求。
關鍵詞:管理;Android;數據庫
中圖分類號:TP391? ?文獻標識碼:A
文章編號:1009-3044(2019)16-0059-04
開放科學(資源服務)標識碼(OSID):
1 緒論
1.1 引言
PLC叫做可編程邏輯控制器,是專門為在工業環境下應用而設計的數字運算操作電子系統。它采用一種可編程的存儲器,在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種類型的機械設備或生產過程。[1]
在低端的離散自動化系統和獨立自動化系統中使用的小型控制器模塊,可靠性高,編程方便,組態靈活,并且具有齊全的輸入和輸出功能模塊。通過安裝Siemens TIA Portal V15就能對西門子系列的設備進行編程和控制,在人工智能領域起到了很大的作用。
隨著智能手機系統的不斷發展,人工智能控制系統的需求不僅僅要在電腦上運行,同樣需要在手機上得到發展,無論是在公司內部的管理和運作,還是工程師們的日常的工作中,如果能發揮手機軟件的便捷性,隨時隨地打開查看,并且還能提供專業的幫助,為工程師打造良好的工作環境。在互聯網時代,對樹立企業形象也有極大的宣傳作用。
1.2 安卓應用開發前景
谷歌自從推出Android系統以來,市場響應熱烈,對比以往的塞班手機優勢明顯,所以很快占領了一部分市場份額并迅速地擴大份額量。Android系統手機不僅在國外反應強烈,在國內也受到了很強烈的歡迎,所以說Android系統手機還在蒸蒸日上不斷發展中。
在手機市場火爆的情況下,Android系統憑借著開放的平臺,豐富的應用,贏得了屬于自己的龐大的客戶人群。谷歌的Andriod系統也在不斷的升級,其開發出的軟件功能不斷加強,所以還會有越來越多的人選擇Android系統的手機和或者一些Andriod系統的無線終端設備 [2]。
未來基于Android系統的應用軟件將進入飛速發展的全新階段。Android系統的應用絕不僅限于手機產業,幾年來其迅速擴張到相關領域,例如平板電腦、車載系統、電視STB、智能電器、智能會議系統等。目前,各IT廠商都在努力的研發前沿應用軟件,以期待在Android系統發展這一群雄逐鹿的關鍵階段,占領更多的市場份額。
所以在Android平臺上開發一款功能豐富而且人性化的企業管理輔助系統,具有很大的市場潛力。
2 系統概述
2.1 項目介紹
通過產學研項目,在上海西馬特機械制造有限公司學習了一段時間。經過這一系列的培訓,在對PLC各方面的知識有所了解的同時,也熟悉了該公司生產線上的日常維護和運行。為了方便該公司日常運作工作管理,開發了基于Android手機平臺的客戶端。
2.2 需求分析
本軟件使用者可分為管理員和PLC工程師,PLC工程師通過移動客戶端獲取每天的工作任務,如流水線控制要求、加工零件的尺寸、其他協作工程師的信息等。在完成工作以后,需要提交工作記錄。
根據以上敘述,得到如下分析:
2.2.1 工程師基本功能要求
1)即時獲取每日工作任務:當有工程師新的工作任務時,系統即時發出通知。
2)工作任務查看:查看工作任務詳細信息。
3)提交工作記錄:運維工程師提交處理工作任務的起始時間、內容、結果等,同一工作任務可以多次提交工作記錄。
4)查看修改已提交的工作記錄。
5)運維資料庫,方便工程師查閱。
6)每日簽到,通過GPS獲取簽到位置。
2.2.2 管理員基本功能要求
1)分配任務:定義產品尺寸、流水線作業等。
2)編輯資料庫:包括硬件資料、產品資料、問題解答等。
3)查看工程師信息:包括每日打卡簽到、工作完成情況、產品生產情況匯總等。
2.3 主要功能設計
移動客戶端的設計有八個主要功能,涉及數據庫的調用、向數據庫中寫入數據、刪除數據庫中數據、數據的顯示、GPS定位獲取、軟件消息實時提醒、電話呼叫功能和資料庫。將這些功能開發并實現,就能組合成各個功能模塊,將功能模塊結合上UI設計,就可以完成軟件客戶端的設計。圖1所示,系統流程圖。
1)數據庫的調用:調用數據庫中的工程師信息表(engineer)、派單表(dispactch)、任務單表(task)、工作記錄表(record)、工作記錄圖表(image)、簽到記錄信息表(checkin)。
2)數據庫中寫入數據:提交數據必須進入到某項具體任務中,然后向數據庫中提交工作記錄表(record)、工作記錄圖表(image)、簽到記錄信息表(checkin)等信息。
為使Android應用程序可以在模擬器上運行,在Eclipse中創建安裝虛擬機AVD。在Android 1.5版本以后的開發過程中,AVD創建的數量不可以少于1個,每個AVD會模擬一套虛擬的設備來運行開發的Android應用程序[8]。
模擬器的啟動后的界面和正常的Android的使用方法相同,可以在開發Android軟件時通過模擬器進行軟件的測試,便利性大大增加,也節約了開發人員寶貴的時間。在開發程序之前必須要搭建好開發環境,否則開發過程中就會出現錯誤。
4 系統功能實現
4.1 登錄模塊
本軟件在實際使用中都是由項目公司的PLC工程師操作,要求軟件系統具有很高的安全性和保密性,以防止公司資料泄密。所以,在工程師登錄模塊中,當工程師未輸入賬號密碼或者只輸入了一項時會提示工程師賬號密碼為空。當工程師賬號密碼都輸入時,點擊登錄,通過接口與服務端數據庫中的工程師信息進行比對,若賬號密碼正確,則可以順利登錄軟件,若賬號密碼不正確則提示賬號密碼有誤。在登錄模塊設立onClick監聽事件,然后應用AsyncHttpClient請求,可以使輕松地獲取網絡數據或者向服務器發送數據,運用了異步框架,在底層用線程池處理并發請求,提高請求效率。
4.2 工作安排模塊
在工程師登錄軟件之后,界面會實時更新工作的內容,根據不同設備的要求做出不同的要求。這里的工作安排表通過接口利用登錄模塊所用的異步傳輸請求從服務端下載數據。
根據任務的時間不同,進行數據排序。找到排序點之后還需要用到Comparator函數,該函數實現了 Comparator接口(即“比較器”接口,新集合庫的一部分)的一個對象,并用它的單個compare()方法進行比較。這個方法將兩個準備比較的對象作為自己的參數使用,若第一個參數小于第二個,返回一個正整數;若相等,返回零;若第一個參數大于第二個,則返回負整數。
ListView是Android開發中非常常用的組件,ListView可以用來顯示一個列表,本次開發的工作安排表、工作記錄、簽到記錄等都需要利用Listview顯示排序后的數據。僅僅有Listview是顯示不了數據的,還需要用到Adapter來適配數據。
4.3 簽到記錄模塊
簽到記錄模塊,無法刪除所簽到的數據,只能提交手機GPS獲取的位置,并將獲取的位置上傳至服務端,通過服務端后臺百度地圖解析顯示。當成功提交位置后,在服務端和客戶端都會顯示。
為了提高定位信息的準確度,本次開發利用updateView函數實現了GPS更新位置信息,并保留在Textview中,當需要上傳時,將自動從Textiew中獲取。
簽到記錄的顯示還用到Listerview+Adapter功能,但這里添加了onRefresh()函數上拉刷新功能。在刷新本地數據的同時,因為客戶端和服務端的請求回應需要時間,所以本次設計了handle延時功能,可以讓刷新的進度與客戶端獲取的速度保持一致。在延時的過程中, listView.setRefreshTime通知客戶端更新數據,讓客戶端數據保持最新。
4.4 工作記錄模塊
在上述模塊的介紹過程中,已經涉及到了AsyncHttpClient異步傳輸,Listeview+adapter顯示,Json解析數據,Comparator數據排序等技術。工作記錄模塊主要是對數據庫的操作,對數據庫中的數據進行提交、修改和刪除,所以本模塊也應用到了上述技術。
在上傳、提交、刪除三種網絡請求交互時,需要用到switch函數,通過v.getId獲取物件的id碼,通過id識別請求方式。
4.5 資料庫模塊
資料庫模塊是對PLC工作技巧的一個總結,方便PLC工程師在運維工作前學習技術,在運維工作中也可以直接查閱。將公司提供的數據,導入進軟件的數據庫中,并進行一定的分類,實現數據的查閱和檢索。
4.6 電話呼叫模塊
電話呼叫模塊主要實現工程師通訊錄功能,通過異步請求,利用接口下載工程師信息表,并json解析后在listview中顯示。電話呼叫模塊的最大特色就是利用Intent直接撥號快捷功能,當工程師想咨詢另一位工程師時,并不需要存儲聯系方式,通過系統客戶端,在聯系人一欄查閱號碼,可以直接點擊撥號,無需退出程序。
本章主要介紹了軟件各模塊的功能及實現的方法,在模塊功能的實現原理中,主要應用到了AsyncHttpClient異步傳輸,Listeview+adapter顯示,Json解析數據,Comparator數據排序等技術。
5 總結
開發完成后,在硬件平臺方面,測試的硬件需要一部可以裝載Android系統的手機。在軟件平臺方面,需要手機操作系統為Android 4.2.2或者更高的版本。在軟件測試之前應做如下設置:1)手機安裝上開發版本為8.0的Android軟件。2)打開手機的網絡功能,可以為無線網絡也可以為數據蜂窩網絡,同時需要打開手機的GPS定位。手機網絡和GPS設置完成后,用戶就可以在手機中點擊軟件圖標開啟軟件使用。
本軟件系統僅作為初步試驗版,并未正式投入使用,后期還可以加入更多功能,例如對硬件控制的功能,查看硬件設備狀態,記錄生產設備的詳細信息管理等功能。以此來滿足不同企業的需求,具有非常廣闊的市場前景。
參考文獻:
[1] 竺志超,陳元斌,韓豫.非標自動化設備設計與實踐 畢業設計、課程設計訓練[M]國防工業出版社,2015.
[2] 鄭阿奇.Java實用教程[M].北京:電子工業出版社,2015.
[3] 韓超,梁泉.Android系統原理及開發要點詳解[M].北京:電子工業出版社,2012:54-55.
[4] 韓超.Android經典應用程序開發[M].北京:電子工業出版社,2012:36-45.
[5] Markus Alekss. Use Java and the CORBA realization distribute type system[J].Journal??of Pingxiang College, 2013 (3):11-12.
[6] 明日科技.Android開發從入門到精通[M].北京:清華大學出版社,2017.
[7] 李剛.瘋狂Android講義[M]. 4版.北京:電子工業出版社,2019.
[8] Haseman Chris. Android Essentials[M].Apress:the Experts Voice,2013: 42-45.
【通聯編輯:梁書】