何忠揚, 張建義, 袁嫣紅
(浙江理工大學現代紡織裝備技術教育部工程研發中心, 杭州 310018)
橫機控制器的人機網絡管理系統的設計
何忠揚, 張建義, 袁嫣紅
(浙江理工大學現代紡織裝備技術教育部工程研發中心, 杭州 310018)
計算機網絡可顯著地提高橫機控制系統的自動化、智能化水平,在深入了解橫機編織工藝的技術基礎上,提出了一種橫機控制器的人機網絡管理系統方案。在已有的硬件平臺上,以Android為嵌入式操作系統,完成友好的人機交互軟件界面,在服務器端搭建Web服務器和數據庫以及在Android移動終端上開發出遠程監控軟件。實驗證明本方案實現了橫機生產的智能化、網絡化和實時監控管理的功能。
橫機; 網絡化; 智能化; Android; 人機交互
橫機控制系統的自動化水平在不斷地提高,通過對橫機自動化發展趨勢和國內外研究現狀的分析,可以發現國內與國外的橫機自動化水平相比仍然存在著較大的差距[1]。其中,橫機控制系統的開放性低,最主要原因是系統的網絡化管理功能缺乏,橫機生產信息相互獨立。
計算機網絡技術的迅速發展,為橫機的生產與管理提供了更加方便的途徑。橫機生產廠家正在積極地推進網絡化管理,以實現橫機的集中控制、管理與數據共享,橫機生產正向著功能齊全化、操作智能化、生產網絡化、工作高效化的方向發展[2]。當前對橫機網絡監控系統的開發主要采用了客戶端/服務器端(C/S)的架構[3],需在監控主機上安裝服務器軟件,這對系統的后期升級維護很不便,且只能在固定地點對橫機運行狀態進行監控,沒有完全實現橫機控制系統實時實地的監控效果。針對上述問題,本文設計了橫機設備端人機交互系統,通過服務器端集中管理系統和遠程監控系統,并且研究了橫機的設備端和服務器端通過Internet的通信方案。
本文以杭州與非科技有限公司研發的橫機控制器為實驗平臺,系統整體設計思路是采用C/S與B/S混合的系統架構。系統運行過程如下:設備端人機界面通過網絡TCP/IP協議向服務器端發送橫機的運行狀態和編織數據,服務器端接收到指令后對接收到的數據進行處理歸類寫入后臺數據庫里,同時設備端也可從服務器端獲取控制參數;在遠程端通過網頁和移動終端設備遠程監控橫機運行狀態。
系統總體結構如圖1所示。本系統主要有三大模塊組成:
a) 設備端的開發:在Android平臺編寫出良好的人機界面軟件,開發設備端UI與服務器端進行網絡通訊的協議。
b) 服務器端的開發:搭建穩定高效的Web服務器,開發數據處理的模塊以及配置后臺數據庫。
c) 遠程監控模塊:移動終端APP的開發。

圖1 系統總體結構
1.1 設備端軟件開發
設備端人機交互軟件是本系統開發的核心,基于Android操作系統進行開發。通過人機交互軟件直接控制橫機控制器并實時監控其運行狀況,然后將信息及時地發送到服務器端,目前國內電腦橫機主要集中在中低端產品,人機交互界面多由控件組成非常簡單,執行效率低[4]。為保證軟件的實時性和快速響應,軟件采用多線程實現[5]。其界面主要是利用具有雙緩沖機制的SurfaceView類代替控件實現,在主界面上通過OnTouchListener類對位圖進行觸摸監聽,從而獲得不同的狀態標志,SurfaceView類根據狀態標志顯示相應的界面,同時用Runnable類單獨開啟一個線程實時更新視圖和收送數據。軟件主要功能如圖2所示。

圖2 設備終端軟件功能
在Activity上首先加載主運行界面,如圖3所示。主運行界面主要有三部分組成:最上面的部分是對當前運行花樣的工作參數進行修改設置;在中間區域的左側部分,可以顯示CNT動作文件中的編織信息和設定當前編織度目的工藝段的值;中間部分的右側區域顯示花版行文件,編織過程中隨著機頭運行,顯示當前的編織進度;最下面的部分為顯示花版的工作參數設置信息。本界面實現原理是用IO類對本地緩存區文件進行讀寫操作,根據數據在文件里存儲的地址對其進行解析,用Canvas類將參數顯示到畫面上相應的位置,開啟線程實時更新畫面顯示數據。主運行界面如圖3所示。

圖3 主運行界面
1.2 服務器端開發
服務器的主要功能如圖4所示。服務器端采用C/S和B/S混合結構,設備端與數據處理服務器直接相連,響應速度快,事務處理能力強[6]。服務器可直接訪問后臺MySQL數據庫,對數據庫進行讀寫操作。通過TCP/IP的應用層HTTP(超文本傳輸)協議訪問Web服務器實現對橫機運行狀態的在線監控。

圖4 服務器功能
1.2.1 數據處理模塊開發
數據處理模塊是服務器端開發的核心,其負責接受設備端發送的數據并將數據及時更新到數據庫,同時向設備端發送數據。數據處理模塊還負責與移動終端建立連接。移動終端主動向數據處理模塊發送指令,其接收到指令后對其解析并根據指令向移動終端返回相應的數據包,采用客戶/服務器通信模式,如圖5所示。

圖5 C/S通信流程
數據處理模塊要求能同時為多個設備端提供服務,并且對每個設備端做出快速的響應,故要求其具有較高的并發性能。此外在通信的過程中,Server Socket的accept()方法和Socket的read()方法都有可能使運行過程中發生阻塞。當與多個設備端同時通信時,就必須開啟多個線程,就有可能發生多個通信線程阻塞,而且線程的多少與服務器的并發能力有如圖6所示。

圖6 服務器并發性與線程數關系曲線
由圖6可以看出線程數目達到一定值反而會降低系統能力,原因是較多的線程會消耗很多系統資源,加大了系統的管理難度,且對于開啟最優線程數目不易把握,故需對系統的并發能力進行優化。本模塊在反復調試的基礎上采取JDK類庫提供的線程池和java.nio包提供的非阻塞通信機制實現系統的開發。在多設備端請求連接時,開啟兩個線程,一個線程負責與設備端的連接操作,另一個線程專門負責數據的接受和發送操作。負責連接的線程采取阻塞的工作模式,當有設備端連接時,就向Selector類注冊讀就緒和寫就緒事件,沒有連接就進入阻塞狀態,直到有新的連接請求。負責收發數據的線程采用非阻塞的工作模式,當讀寫就緒事件發生時就執行相應的讀寫操作[7]。
1.2.2 Web服務器和MySQL數據庫的搭建
Web服務器是基于網站架設的服務器,主要作用是提供網上信息瀏覽服務,只需打開瀏覽器向Web服務器發送指定鏈接便可在線查看橫機信息,本系統使用Apache開源軟件組織的Tomcat進行服務器端的配置開發。Tomcat服務器是當今進行Java Web開發使用最廣泛的Servelt/JSP服務器,因為它運行穩定,性能可靠。結合Java語言強大的網絡功能開發出B/S架構Web服務器,Web服務器也能夠操作后臺數據庫。B/S架構的通信原理是基于應用層的HTTP協議實現的,HTTP是一種請求/響應式的協議。客戶端向服務器端發送請求(在瀏覽器地址欄輸入鏈接網址),服務器返回響應。HTTP協議嚴格規定了HTTP請求和HTTP響應的數據格式,其請求包括:請求方法,URI,HTTP協議的版本,請求頭,請求征文;響應包括:HTTP協議的版本,狀態代碼,描述,響應頭,響應正文[8]。MySQL是一個關系型數據庫管理系統,可以將數據分類保存在一張張表中,并且其體積小、運行快、具有較高的查詢速度,故本系統選擇MySQL數據庫保存橫機信息。
1.3 遠程監控終端的開發
隨著Android智能手機的普及,開發手機端的軟件監控橫機生產更加方便快捷,手機APP與服務器端采用C/S架構的通訊模式,服務器根據手機APP發送的請求標志返回相應的數據,這樣便可隨時隨地在手機端查看橫機數據。Android智能手機分辨率眾多,移動端監控APP必須要適應多種分辨率的手機設備,其編程思想是:首先利用Window Manager獲取手機屏幕的分辨率的高和寬,然后根據分辨率在各個界面上采取相應的比例繪制界面布局,并將從服務器端獲取的參數顯示到相應的位置。
采用TCP/IP協議與服務器端數據處理模塊進行通信,通過Socket編程,將橫機的運行狀態和編織的花型數據以字節的方式發送到數據處理模塊。該模塊采用多線程機制不斷地接受客戶端的連接請求并將接收到的數據寫入后臺數據庫。通訊數據包主要字節的定義如表1所示。其中,包頭標志符由系統固定為某一值,作為驗證該數據是否安全的標志,驗證通過服務器端才能接受此包數據;包長度表示一個包的長度;包命令字是核心內容,支出這一包數據的功能。包命令字的定義見表2。

表1 通訊數據包主要字節的定義

表2 包命令字的定義
本系統在杭州與非科技有限公司提供的橫機控制器上進行測試。在設備端設置CNT文件的參數如圖7所示,然后將參數通過網絡發送到服務器端,服務器端的數據處理軟件接收到數據后,將其保存到后臺數據庫的相應的表中,通過查看數據處理軟件的CNT界面(如圖8所示),可以看出服務器端已成功的接收到設備端發送的數據。在手機端監控軟件能夠實時獲取橫機運行參數數據,系統基本達到橫機生產控制的預期效果。

圖7 CNT編輯界面

圖8 CNT顯示
近年來,橫機控制系統智能化水平得到了不斷的發展,但其系統的開放性沒有得到顯著的提高,本文基于這種思想設計了一種人機網絡管理系統,將計算機網絡技術運用于橫機控制系統中,設計出網頁和移動終端兩種監控平臺,實現了實時實地對橫機的集中監控和管理,使對橫機的監控管理不再局限于企業內網中。針對以往的橫機交互軟件界面不夠美觀且操作繁瑣的特點,本系統結合當前主流的Android平臺編寫出界面美觀和操作簡單的人機界面軟件。本文為網絡管理技術在企業中的運用提供了一種可行的思路,但系統的穩定性和通訊的延遲仍待優化提高。
[1] 中國紡織工業聯合會. 2010/2011中國紡織工業發展報告[M]. 北京: 中國紡織出版社, 2011: 3-20.
[2] 張 雷, 胡旭東. Wifi技術在嵌入式橫機控制系統中的應用[J]. 浙江理工大學學報, 2011, 28(2): 196-200.
[3] 王 玥, 張森林. 織機監控系統在企業內部網中的應用[J]. 工業控制計算機, 2007, 20(10): 34-35.
[4] 李鵬飛, 賀 青. 基于嵌入式系統的電腦橫機上位機的設計[J]. 針織工業, 2013, 2(20): 20-21.
[5] 陳景波, 盧 達, 王玲玲. 全自動電腦橫機上位機軟件的設計[J]. 紡織學報, 2011, 32(2): 130-134.
[6] 李志明, 于浩洋, 馬 梁. C/S和B/S混合結構的智能監控系統[J]. 微計算機信息, 2008, 24(2): 6-7.
[7] 孫衛琴. Java網絡編程精講[M]. 北京: 電子工業出版社, 2007: 82-112.
[8] 劉 媛, 張 偉, 王知學. 基于B/S和C/S架構的嵌入式遠程監控系統[J]. 儀表技術與傳感器, 2008, 45(10): 40-41.
(責任編輯: 康 鋒)
Design of Man-machine Network Management System of Flat Knitting Machine Controller
HEZhong-yang,ZHANGJian-yi,YUANYan-hong
(Modern Textile Equipment and Technology Engineering Research Center of Ministry of Education, Zhejiang Sci-Tech University, Hangzhou 310018, China)
With computer network technology, the automation and intelligent level of flat knitting machine control system can be significantly improved. Based on in-depth understanding of the working technology of flat knitting machine, a scheme of man-machine network management system of flat knitting machine controller has been put forward. It is to, on the existing hardware platform, develop a friendly man-machine interaction software interface with Android as an embedded operating system, set up web server and database at the server-side, and develop remote monitoring software on the Android mobile terminal. Experimental shows that the scheme achieves the requirements of intellectualization, networking, real-time monitoring and management of flat knitting machine production.
flat knitting machine; networking; intellectualization; Android; man-machine interaction
1673- 3851 (2015) 01- 0073- 05
2014-05-26
浙江省重點科技創新團隊(2009R50018);國家科技支撐計劃(2013BAF05B01)
何忠揚(1989-),男,河南信陽人,碩士研究生,主要從事機電控制方面的研究。
張建義,E-mail:zdreamx@126.com
TS183.42
A