武寧寧
(青島理工大學臨沂校區 山東 臨沂 273400)
基于JSP的SMT車間溫濕度監控系統的設計
武寧寧
(青島理工大學臨沂校區 山東 臨沂 273400)
本文設計了基于JSP技術的SMT車間溫濕度監控系統。該系統采用B/S軟件體系結構,利用具有Web服務器功能的tomcat服務器,并以mysql數據庫作為數據層,客戶端通過瀏覽器實現溫濕度監控系統的訪問。在系統的設計完成之后,系統進行了多次、長時間的試驗,數據丟包較少,實時曲線連續,表明該系統運行穩定、可靠。
JSP;B/S;mysql數據庫;Tomcat服務器
SMT車間是對環境溫濕度有較高精度要求的場所,環境的溫濕度會直接影響到SMT的工藝水平和PCB的加工質量,因此對SMT車間的溫濕度進行科學高效的管理是十分必要的。
隨著Internet網絡技術在各個領域的推廣,利用網絡優勢實現對現場的溫濕度進行實時的監控成為主流。與傳統的C/S軟件體系結構相比,B/S軟件體系結構不僅不需要客戶端軟件,而且維護和升級方式簡單。特別是Java跨平臺語言的出現,使B/S結構的管理軟件變得更加方便、快捷、高效。JSP作為一種基于Java Servlet以及整個Java體系的Web開發技術,它利用JDBC API實現對后臺服務器的訪問,開發人員可以使用HTML或者XML標識來設計相關的頁面,當服務器的頁面被請求后,就會對嵌入HTML中的Java代碼進行處理,然后將產生的HTML頁面返回給客戶端的瀏覽器[1]。并且JSP標準能夠在所有支持標準的服務器之間進行移植,具有平臺和服務器的獨立性,能夠實現程序一次編寫、處處運行的目的。
文中利用JSP開發技術,研究并實現了一種基于Web的溫濕度實時遠程監控系統,該系統充分利用JSP技術和tomcat服務器的優點,并以mysql數據庫作為數據層,從而實現了SMT車間溫濕度的高效監控。
隨著WEB技術的廣泛應用,B/S模式正逐步的替代C/S模式,與C/S模式相比,無論是開發成本,還是使用過程中維護和升級的方便性,B/S模式都具有明顯的優勢[2]。本文采用的是B/S模式的體系結構,并通過三層模型來實現,系統的軟件體系結構如圖1所示。
圖1 系統的軟件體系結構圖Fig. 1 The software structure diagram of the system
1)客戶層。一般是指運行在客戶端計算機上的網絡瀏覽器,常作為用戶接口和用戶請求的發出地。
2)服務器層。主要包括Tomcat Web容器、JSP、Servlet等組件和虛擬串口軟件。
3數據層。本系統采用的是mysql數據庫。
客戶端通過PC機的WEB瀏覽器查看采集的溫度和濕度。服務器層中,虛擬串口軟件負責實現系統與溫濕度采集模塊的通信,Tomcat Web容器、JSP、Servlet等組件用于處理客戶端和虛擬串口軟件的請求,保存采集的溫度和濕度以及與mysql數據庫交互。mysql數據庫主要完成用戶登錄身份的驗證以及建表,并且存儲采集的溫度和濕度。
本系統的工作流程如圖2所示,其中在服務器端的軟件主要包括虛擬串口軟件、Tomcat Web服務器和mysql數據庫3個部分組成。具體工作流程如下。
圖2 系統的工作流程圖Fig. 2 Work flow diagram of the system
1)將虛擬串口軟件安裝到服務器上,啟動虛擬串口軟件,建立虛擬串口軟件與溫濕度采集模塊的連接。
2)虛擬串口軟件將采集的溫濕度上傳到Tomcat Web服務器。
3)Tomcat Web服務器處理虛擬串口軟件的請求,將采集的溫濕度存儲到mysql數據庫中的相應的表中,方便客戶端用戶的查詢和操作。
在B/S軟件體系結構下進行軟件設計時,只需要對服務器端的軟件進行設計。其中本系統服務器端的軟件設計主要包括虛擬串口軟件、Web服務器的設計和數據庫服務器的設計3個部分。下面將對這3個部分進行詳細的闡述。
虛擬串口并不是物理上存在的串口,而是使用虛擬手段模擬出來的,具備物理串口全部的邏輯特征。常規的虛擬串口一般利用虛擬驅動程序來實現,它雖然具有全局性和便捷性的優點,但存在穩定性不足的缺點[3]。
為了更好的實現服務器與溫濕度采集模塊的通信,本系統在底層搭建了一個485總線的溫濕度采集網絡,并通過485轉TCP/IP的串口服務器連接到以太網中,在服務器端,再通過虛擬串口軟件將TCP/IP映射到虛擬串口上。
在溫濕度遠程監控系統中,虛擬串口通常是監控系統軟件與溫濕度采集模塊進行通信的橋梁,因此虛擬串口工作的穩定性會直接影響到整個溫濕度監控系統的性能。ComRed軟件和VSPM軟件是兩種常用的虛擬串口軟件,ComRed軟件是常規虛擬串口軟件的一種,它不僅能夠在Windows XP系統下運行,還能很好的在WIN7系統下運行,但它避免不了普通虛擬串口穩定性差的缺點,而VSPM軟件是一種基于API Hook技術的虛擬串口軟件,它不再使用系統內核驅動程序,從而避免了常規虛擬串口軟件穩定性差的問題。
由于虛擬串口軟件是完成數據通信的重要工具,因此在溫濕度監控系統的設計過程中,需要對ComRed虛擬串口軟件和VSPM虛擬串口軟件的穩定性進行測試,其中圖3 是監控系統通過ComRed虛擬串口采集的溫度曲線,圖4是監控系統通過VSPM虛擬串口采集的溫度曲線。
與圖3的溫度曲線相比,圖4的溫度曲線更加連續,說明使用VSPM虛擬串口軟件時,采集的溫濕度可以更好的完成溫濕度采集模塊到服務器端的傳輸,因此本系統選擇性能穩定、可靠的VSPM虛擬串口軟件。
本系統采用的Web服務器是Tomcat服務器,它是一個小型的輕量級Web服務器,運行時占用的系統資源少,擴展性好[4]。并且它是一個JSP和Servlet容器,是進行JSP程序開發和調試的首選。
圖3 COMRED虛擬串口采集的溫度曲線Fig. 3 Temperature curve of COMRED virtual serial port acquisition
Tomcat本身并不是專門用作Web服務器的,它的工作其實是應用程序服務器,通常Tomcat與Apache結合是最佳的,但這只是針對大型Internet站點而言的,需要Apache處理大量的靜態信息[1]。對于溫濕度監控系統而言,靜態信息較少,而實時采集動態數據相比靜態信息重要的多,而且絕大多數是JSP網頁,因此單獨使用Tomcat足以勝任Web服務器。
圖4 VSPM虛擬串口采集的溫度曲線Fig. 4 Temperature curve of VSPM virtual serial port acquisition
在溫濕度監控系統中,Tomcat Web服務器主要功能是與虛擬串口軟件進行通信和對采集的溫濕度進行處理。要實現監控軟件與虛擬串口軟件的通信,需要在jsp網頁上創建一個button按鈕,具體是通過openOrClose()來實現串口開啟和關閉。下面是監控軟件開啟虛擬串口的部分代碼:
Tomcat Web服務器還需要對采集的溫濕度進行及時的備份,本系統的備份數據庫能夠保存12個月的數據,并且備份數據庫每一個月做一次更新,能夠自動保存最近一個月的數據,自動刪除最后一個月的數據。當進行歷史數據查詢時,系統自動完成閏年和大小月的判斷。另外,關于Tomcat Web服務器如何將采集的溫濕度存儲到數據庫中,將在2.3節詳細介紹。
mysql數據庫作為一種完全免費的關系型數據庫,是目前運行速度最快的SQL語言數據庫,而且mysql數據庫在多線程方面有自身的許多優點[5],因此本文選擇mysql數據庫作為監控系統的數據庫。
搭建溫濕度監控系統數據庫需要創建兩類表:溫濕度數據表和用戶表。其中存儲溫濕度的表分為最新數據表、歷史數據表和備份數據表,而用戶表是用來存儲系統注冊的用戶名和密碼。下面是在mysql數據庫環境下創建數據表的命令:
其中timestamp是當前系統時間,創建一個帶有系統時間的數據表可以方便數據的查詢和管理。
本系統在進行用戶權限的設計時,將用戶劃分了3個層次:普通用戶、高級用戶和超級用戶,普通用戶只能查看實時數據和歷史數據,高級用戶還可以查看備份數據,超級用戶不僅能夠查看所有數據還能操作虛擬串口。同樣,在mysql數據庫環境下,可以分別為每類用戶創建一個用戶表。其中創建普通用戶表的命令如下:
溫濕度監控系統的Web交互界面包括用戶登錄界面和實時數據顯示界面。其中用戶登錄界面完成用戶身份的驗證和訪問權限的判斷,實時顯示界面既可以顯示實時數據也可以顯示實時曲線。
在溫濕度監控系統的設計時,進行用戶權限的設置和用戶身份的驗證是十分必要的。要實現用戶身份的驗證,需要在JSP頁面上創建用戶名輸入框、密碼的輸入框和一個button按鈕,當在瀏覽器中輸入http://www.192.168.58.139/login.html時,系統會自動跳轉到下圖5所示的用戶登錄界面。
圖5 監控系統用戶登錄界面Fig. 5 User login interface of the monitor system
設計好用戶的登錄界面,還需要在系統后臺創建一個submitLoad()函數來響應button按鈕。當點擊圖中的現在登錄按鈕時,submitLoad()函數就會對用戶的身份和訪問權限進行驗證,從而判斷該用戶是否為系統已注冊用戶。其中下面是submitLoad()函數的具體實現代碼:
在進行SMT車間溫濕度監控系統的設計時,需要考慮到SMT車間各個監測點的特點。通常焊接PCB所用的錫膏存放在冰箱中,一般要求溫度在2~7 ℃,濕度沒有特別要求;SMT加工車間要求溫度在25±3 ℃,濕度在45%RH-65%RH之間[6]。
為了方便用戶對監控系統的使用,在進行溫濕度實時顯示界面的設計時,當被監測點的溫濕度過高或者過低時,數據顯示的背景色會發生變化,達到及時提醒用戶的目的。當溫濕度值正常時,背景色為綠色;當溫濕度偏高時,背景色為紅色;當溫濕度偏低時,背景色為藍色。
在完成監控軟件的設計之后,系統在南京某電子企業的SMT車間進行了實際運行測試,在1年的運行測試期間,系統運行穩定、可靠。圖6為系統運行期間的溫濕度實時顯示界面。
圖6 系統溫濕度實時顯示界面Fig. 6 Temperature and humidity real-time display interface of the system
文中設計了基于mysql數據庫的Tomcat web服務器,引入JSP技術來設計溫濕度監控軟件,并利用虛擬串口軟件和Tomcat服務器實現溫濕度的遠程管理。在完成系統設計后,該系統進行了多次長時間的測試,測試過程中溫濕度實時顯示畫面流暢,數據丟包很少,說明系統運行穩定。本系統的設計方案還可以應用到其他相關領域,它為現場數據的遠程管理提供了一種切實可行的方法。
[1]邵蓬.基于JSP的微硬盤裝配線信息管理系統[D].武漢:華中科技大學,2006.
[2]任維娟,李洛峰,王春紅.Web的遠程電腦桌面監控系統的研究與實現[J].核電子學與探測技術,2010,7(30):870-873.
REN Wei-juan,LI Luo-feng,WANG Chun-hong.Research and implementation of remote desktop computer monitoring system of the Web[J].Nuclear Electronics & Detection Technology 2010,7(30):870-873.
[3]劉洋,吳熠銘,黃可嘉,等.基于API Hook技術的虛擬串口的實現[J].自動化與信息工程,2010(3):43-45.
LIU Yang,WU Yi-ming,HUANG Ke-jia,et al.Realization of virtual serial based on API Hook[J].Automation and Information Engineering,2010(3):43-45.
[4]許漫.基于J2EE的教學評估系統的研究與實現[D].南京:南京郵電大學,2008.
[5]陸堅毅.網絡應用監控系統設計與實現[D].武漢:華中科技大學,2012.
[6]肖鴻威.基于modbus協議的空間分布式溫濕度測控系統設計[J].電子元器件應用,2009,11(9):40-41.
XIAO Hong-wei.Design of spatially distributed temperature and humidity monitoring and control system based on the modbus protocol [J].Application of Electronic Components,2009,11(9):40-41.
Design of SMT workshop temperature and humidity monitoring system based on JSP
WU Ning-ning
(Linyi Campus of the Qingdao Technological University,Linyi273400,China)
This paper introduces the design of SMT workshop temperature and humidity monitoring system based on JSP technology. The system uses B/S software architecture and tomcat server with the function of web server, and takes the mysql database as the data layer. The client accesses the temperature and humidity monitoring system through the browser. After the completion of the design of the system, the system also has carried out repeated test for long time,less data loss and real-time continuous curve, show that the system is stable and reliable.
JSP; B/S; mysql database; Tomcat server
TN06
A
1674-6236(2014)07-0067-04
2013-07-10稿件編號201307077
武寧寧(1983—),男,山東臨沂人,碩士研究生,助教。研究方向:機械自動化。