楊 姝, 方 智, 羅 佳
(電子科技大學成都學院計算機系,成都611731)
列車車輪是軌道車輛重要行走部件,它承擔車輛的全部質量,且在軌道上高速運行,同時還承受著從車體和鋼軌兩方面傳來的各種靜、動作用力,列車的運行、牽引和制動都需要車輪和鋼軌的作用才能實現[1-3]。車輪周向輪廓、直徑及圓周表面不平順對軌道車輛安全穩定高效的運行有著至關重要的影響[4-6],因此現場快速、準確地測量列車車輪不圓度成為保證高速重載列車運行安全的重要技術支撐。
在列車運行過程中,車輪踏面(車輪與鋼軌的接觸面)極易產生多邊形磨耗,導致車輪踏面不圓。實際檢修過程中需要定期測量車輪的不圓度以便修復或更換。目前車輪踏面不圓度大多采用人工輪徑尺測量,該測量簡便快捷,但測量采集數據較少,且輪徑尺定位精度較低[7]。也可使用激光位移傳感器進行測量,其測量精度高[8]。但需在不落輪的前提下通過人工把被測車輪頂起或放置于不落輪鏇床上,手動旋轉車輪進行測量,其測量方法費時、數據量大,測試過程中一般通過連接線把數據傳入測量電腦中,通過測量軟件記錄數據然后再通過人工進行分析數據,判定每個車輪的不圓度,從而為車輪的維修提供數據支撐[9-11]。
目前,當大量車輪測量時,車輪不圓度測量數據量大,由于沒有實現測量設備與數據庫之間的無線連接,也沒有建立車輪測量數據庫。特別是隨著我國高速鐵路及城市軌道交通的快速發展,大量列車車輪間隔一段時間就需進行測量,其數據量大,建立車輪不圓度數據庫成為未來現場測量的趨勢。本文提出了一種基于無線傳輸的鐵路車輪不圓度測量系統,構建了具有設備管理功能的列車車輪不圓度數據庫。
開展基于無線傳輸的鐵路車輪不圓度測量系統設計,實現測量過程中數據的無線傳輸、自動分析記錄,包括圖形實時顯示、保存、打印、最大值、最小值、均值、圓滑分析,數據的頻譜等。構建所測車輪的不圓度數據庫,配合數據庫從而實現測量數據的遠程管理與控制。
基于激光車輪不圓度測量儀及測試軟件[8,12],車輪不圓度測量數據無線系統構成主要由激光車輪不圓度測量儀、無線傳輸系統、系統前臺、系統后臺、數據庫系統等構成,如圖1 所示。

圖1 系統構成示意圖
搭建的無線網絡拓撲圖如圖2 所示。網絡搭建過程中使用4G DTU設備與激光車輪不圓度測量儀數據采集器串口(RS-232)進行連接,采集數據通過無線網絡發送到系統數據庫所在的服務器端[13]。系統通過發送到服務器端數據庫的調用,完成對車輪的管理配置等功能。

圖2 無線傳輸網絡設計圖
網絡實施過程主要完成DTU 設備與測量儀的連接,DTU 設備的網絡配置與調試,服務器端的網絡配置與軟件調式。
軟件系統采用了java + mysql 數據庫開發的基于B / S模式的平臺系統[14-15]。實現對采集數據、維修信息、預警信息等的維護,管理,記錄,查詢,計算及分析等功能。使用者可以隨時通過訪問網頁的形式進行管理和測量。
3.1.1 前臺功能及模塊
前臺為員工操作界面,其功能的使用權限由后臺管理員分配。主要實現個人登錄、注冊、退出、查詢、數據分析等功能。系統前臺的體系模塊以及功能結構分別如圖3 和圖4 所示。

圖3 系統前臺體系模塊

圖4 系統前臺功能結構圖
3.1.2 前臺首頁
前臺首頁布局使用框架布局。框架布局將整個窗口劃分為若干個子窗口,每個子窗口可以分別顯示不同的網頁,網頁之間相互獨立,沒有直接管理,最終由一個網頁將這些分開的網頁組成一個完整的網頁,顯示在瀏覽器中。
前臺首頁的實現過程:
/ /首部導航引用
<table class =" table" align =" center" >
<tr class =" trTop" >
<td colspan ="2" class =" tdTop" >
<iframe frameborder = " 0" src = " <c:url value = /
jsps/ top.jsp/ >" name =" top" ></ iframe >
</ td >
</ tr >
<tr >
<td class =" tdLeft" rowspan ="2" >
<iframe frameborder = " 0" src = " <c:url value = /
CategoryServlet?method = findAll/ >" name = " left"
></ iframe >
</ td >
<td class = " tdSearch" style = " border-bottom-width:
0px;" >
<iframe frameborder ="0" src = " <c:url value = / jsps/
search.jsp/ >" name =" search" ></ iframe >
</ td >
</ tr >
<tr >
<td style =" border-top-width:0px;" >
<iframe frameborder = " 0" src = " <c:url value = /
jsps/ body.jsp/ >" name =" body" ></ iframe >
</ td >
</ tr >
前臺展示如圖5 所示。

圖5 前臺界面圖
3.1.3 前臺查詢模塊
(1)列表顯示。
$function(){
bar.colorStyle = 4;
bar.config.imgDir = " <c:url value =/ menu/ img// >";
bar.config.radioButton = true;
<c:forEach items ="{parents}" var =" parent" >
<c:forEach items ="{parent.children}" var =" child" >
bar.add("{parent.cname}","{child.cname}"," /
datas/ CarServlet? method = findByCategory&cid =
{child.cid}"," body");
</ c:forEach >
</ c:forEach >
$("#menu").html(bar.toString());
});
通過小插件實現對列表的顯示,同時顯示點擊過后調轉的頁面,第1 個參數是父節點,第2 個參數是子節點,第3 個參數是點擊執行的Servlet,第4 個參數是調轉的頁面顯示位置。
(2)數據顯示。
<body >
<c:if test =" ${not empty pb.beanList }" >
<table border ="1" class =" tbdata" >
<tr >
<td >車輛型號</ td >
<td >車輪編號</ td >
<td >數據1 </ td >
<td >數據2 </ td >
<td >時間</ td >
<td >測試員</ td >
</ tr >
<c:forEach items = " ${pb.beanList }" var = "car" >
<tr >
<td >${category.parent.cname }</ td >
<td >${category.cname}</ td >
<td >${car.data1}</ td >
<td >${car.data2}</ td >
<td >${car.time}</ td >
<td >${car.cname }</ td >
</ tr >
</ c:forEach >
</ table >
<div style =" float:left;width:100%;text-align:center;" >
<hr/ >
<br/ >
<%@ include file =" / jsps/ pager/ pager.jsp" % >
</ div >
</ c:if >
</ body >
通過后端訪問數據庫進行查詢,然后引入分頁插件,實現一個基礎的頁面顯示,通過jstl表達式的循環實現。
前臺查詢模塊界面如圖6 所示。
3.1.4 前臺數據分析模塊
通過下拉列表獲取想要查詢的車輛信息,然后對這個數據進行分析,并且以折線圖的形式顯示,如圖7所示。

圖6 查詢模塊

圖7 數據分析
3.1.5 前臺維修記錄模塊
維修記錄可以點擊查看,看到該條記錄的詳情列表。實現過程如下:訪問數據庫,根據多表聯查實現數據的訪問,將數據封裝進list,然后返回給頁面,頁面通過jstl表達式實現,對數據的一個展示。維修記錄頁面如圖8 所示。

圖8 維修記錄頁面
3.2.1 后臺功能及模塊
后臺主要是系統管理員對前臺員工的操作權限進行設置。實現分類管理、維修管理、維修添加等功能。
3.2.2 后臺主頁框架技術
后臺頁面和前臺頁面的布局是相似的,都是采用的框架結構。
table class =" table" align =" center" >
<tr >
<td colspan ="2" align =" center" height ="100px;" >
<iframe frameborder = " 0" src = " <c:url value = /
adminjsps/ admin/ top.jsp / >" name = " top" > </
iframe >
</ td >
</ tr >
<tr >
<td >
<iframe frameborder = " 0" src = " <c:url value = /
adminjsps/ admin/ body.jsp / >" name = " body" >
</ iframe >
</ td >
</ tr >
</ table >
3.2.3 后臺分類管理模塊
分類管理主要是針對不同的車輛以及不同的輪胎進行的一個管理,用戶可以進行增刪改,對分類列表做修改。分類管理操作流程圖如圖9 所示。

圖9 分類管理操作流程圖
3.2.4 后臺維修管理模塊實現
維修管理在后臺有很重要的地位,一般都是限定權限訪問,同時會記錄是誰修改的記錄,同時存入數據庫中,以便后期核對,以及記錄下修改時間。該維修列表下的所有維修條目都被維修,會自動更改維修列表的狀態。
維修管理模塊部分代碼如下:
異步顯示
$(function(){
$("#box").attr(" checked",false);
$("#formDiv").css(" display"," none");
$("#show").css(" display","");
/ / 操作和顯示切換
$("#box").click(function(){
if($(this).attr(" checked")){
$("#show").css(" display"," none");
$("#formDiv").css(" display","");
}else {
$("#formDiv").css(" display"," none");
$("#show").css(" display","");
}
});
});
function change(){
var mid = $("#mmid").val();
var mmid = $("#mid").val();
$.ajax({
method:" POST",/ /請求方式
asyn:false,/ /異步請求
cache:false,
url:" <c:url
value =/ AdminMaintainServlet/ >",/ /請求url data:{method:" change",mmid:mid},
dataType:" json",/ /返回值是json
success:function(data){/ /回調函數
if(data){
alert(維護成功); location.href =" AdminMaintainServlet?method = load&mid = "
+ mmid;
}else{
alert(維護失敗);
}}});
return false;
}
系統采用mysql 數據庫,根據需求規劃出用戶信息、車輛等實體。用戶信息實體包括職員的賬號、密碼、郵箱等個人身份信息資料。用戶實體圖如圖10所示。

圖10 用戶實體圖
系統設計過程中數據庫物理模塊設計如圖11所示。

圖11 datas中的數據表
系統測試主要是客戶端測試,測試的內容分為:各模塊數據錄入和功能的測試以及相關的工作流測試。主要測試前臺系統登錄,查詢功能,數據分析等主要模塊,后臺分類管理、維修管理、維修添加等主要模塊。
嚴格按照系統測試計劃的要求對每個模塊進行黑盒測試,對每個小的功能進行白盒測試,并且通過測試軟件對本系統進行各種性能測試,如時間性能測試,負載測試等等,并對可能發生的錯誤進行排查和解決。
測試結果表明:①測試覆蓋率>95%,所有測試用例都已運行;②95%以上的測試用例已經成功通過;③根據制定的測試大綱功能范圍及測試報告要求設定的通過準則,該系統已通過整體測試。
本文提出了一種基于無線網絡傳輸模塊的激光車輪不圓度測量儀數據傳輸方法,通過此方法實現了車輪激光不圓度測量儀與測量數據庫之間的無線連接。該系統可對測量數據進行實時、快速傳輸,為構建車輪不圓度測量數據庫提供了重要的支撐;利用所設計的系統可對現場測量數據進行實時動態管理,實現了車輪不圓度測量的遠程控制與管理。