馬 駿,張春光,毛 俊,陳秉智
(1 大連交通大學(xué) 機(jī)械工程學(xué)院,遼寧大連 116028;2 大連交通大學(xué) 電氣信息工程學(xué)院,遼寧大連 116028;3 大連科技學(xué)院 交通運(yùn)輸學(xué)院,遼寧大連 116052)
高速列車的調(diào)試工作一直是高鐵制造商重點(diǎn)關(guān)心的環(huán)節(jié)。目前,各級(jí)制造商仍采用傳統(tǒng)的紙質(zhì)調(diào)試作業(yè)流程,需要將調(diào)試作業(yè)文件逐級(jí)下發(fā),最終交付到調(diào)試現(xiàn)場(chǎng)才能開(kāi)展調(diào)試工作。在調(diào)試過(guò)程中,可能會(huì)因?yàn)槲募z失、調(diào)試作業(yè)不嚴(yán)謹(jǐn)、測(cè)量結(jié)果記錄不準(zhǔn)確等原因造成調(diào)試工作完整性和準(zhǔn)確性難以滿足出廠要求,影響列車后續(xù)動(dòng)調(diào)與交付工作。為此,在制造商已有的網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上,設(shè)計(jì)研發(fā)基于SSM框架技術(shù)的列車智能調(diào)試平臺(tái),實(shí)現(xiàn)從文件下發(fā)到調(diào)試完畢,全程無(wú)紙化操作,在有效地提高調(diào)試工作效率的同時(shí),也保證了調(diào)試過(guò)程留痕記錄,方便日后統(tǒng)計(jì)與分析。
基于對(duì)某高鐵制造商現(xiàn)有的網(wǎng)絡(luò)架構(gòu)分析研究,針對(duì)調(diào)試作業(yè)現(xiàn)場(chǎng)的工業(yè)級(jí)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行研究設(shè)計(jì)。在已有的辦公網(wǎng)結(jié)構(gòu)中,增加企業(yè)級(jí)工業(yè)網(wǎng),并搭建工業(yè)網(wǎng)虛擬服務(wù)器,從而實(shí)現(xiàn)調(diào)試流程全程無(wú)紙化作業(yè)。辦公網(wǎng)中MOM(Manufacturing Operation Management,制造運(yùn)營(yíng)管理系統(tǒng))負(fù)責(zé)向工業(yè)網(wǎng)虛擬服務(wù)器推送訂單信息和完工信息。工業(yè)網(wǎng)中的虛擬服務(wù)器負(fù)責(zé)接收MOM推送的訂單信息并生成數(shù)字化調(diào)試文件,利用列車智能調(diào)試平臺(tái)對(duì)調(diào)試文件進(jìn)行操作,并將調(diào)試過(guò)程及結(jié)果實(shí)時(shí)上傳至工業(yè)網(wǎng)虛擬服務(wù)器中。為了防止外部網(wǎng)絡(luò)通過(guò)工業(yè)網(wǎng)直接訪問(wèn)辦公網(wǎng),使辦公網(wǎng)遭受網(wǎng)絡(luò)攻擊。在辦公網(wǎng)中架設(shè)1臺(tái)列車調(diào)試辦公網(wǎng)虛擬服務(wù)器,用于對(duì)調(diào)試作業(yè)過(guò)程中生成的重要數(shù)據(jù)及調(diào)試結(jié)果進(jìn)行存儲(chǔ)備份,在辦公網(wǎng)需要時(shí),可以從中獲取有效信息。
列車智能調(diào)試平臺(tái)的網(wǎng)絡(luò)架構(gòu)如圖1所示[1]。企業(yè)管理部門對(duì)MOM系統(tǒng)服務(wù)器的IP地址進(jìn)行統(tǒng)一管理,MOM系統(tǒng)向列車智能調(diào)試平臺(tái)開(kāi)放一個(gè)WebService接口,用于對(duì)訂單和完工信息的發(fā)送,同時(shí),調(diào)試平臺(tái)也為MOM端預(yù)留WebService接口,主要用于調(diào)試結(jié)果的實(shí)時(shí)上傳。

圖1 列車智能調(diào)試平臺(tái)的網(wǎng)絡(luò)架構(gòu)
通過(guò)上述網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì),可以滿足高速列車無(wú)紙化列調(diào)的基本條件,對(duì)于高速列車的靜態(tài)列調(diào)還需要帶有MVB通信模塊的數(shù)采設(shè)備配合使用,靜態(tài)列調(diào)網(wǎng)絡(luò)架構(gòu)如圖2所示。由于高速列車8編組的設(shè)計(jì),考慮到網(wǎng)絡(luò)結(jié)構(gòu)的合理性以及數(shù)據(jù)傳輸?shù)木窒扌浴凑彰?節(jié)車為1個(gè)調(diào)試單元,采用2臺(tái)數(shù)采設(shè)備完成對(duì)列車MVB網(wǎng)絡(luò)數(shù)據(jù)的采集,并通過(guò)列車智能調(diào)試平臺(tái)進(jìn)行查看,將采集內(nèi)容上傳至工業(yè)網(wǎng)中的虛擬服務(wù)器中。

圖2 靜態(tài)列調(diào)網(wǎng)絡(luò)架構(gòu)
在列車智能調(diào)試平臺(tái)中需要實(shí)現(xiàn)訂單的接收、數(shù)字化調(diào)試、自動(dòng)提取數(shù)據(jù)、完工信息更新等操作。在MOM系統(tǒng)和列車智能調(diào)試平臺(tái)中通過(guò)應(yīng)用接口實(shí)現(xiàn)互聯(lián)互通。調(diào)試平臺(tái)軟件執(zhí)行路線如圖3所示。MOM系統(tǒng)通過(guò)調(diào)用該接口的ReceiveOrderInfo的方法向列車智能調(diào)試平臺(tái)派發(fā)訂單信息,訂單信息的數(shù)據(jù)采用JSON格式。在數(shù)字化調(diào)試階段,用戶通過(guò)多終端平板設(shè)備登陸到調(diào)試平臺(tái)中,從數(shù)據(jù)庫(kù)中讀取該用戶對(duì)應(yīng)的訂單信息到內(nèi)存,形成工序一覽表,調(diào)試平臺(tái)在后臺(tái)建立數(shù)據(jù)緩沖區(qū),業(yè)務(wù)層啟動(dòng)一個(gè)線程,專門和數(shù)采設(shè)備進(jìn)行通信,數(shù)采設(shè)備將列車MVB網(wǎng)絡(luò)數(shù)據(jù)實(shí)時(shí)發(fā)送到列車智能調(diào)試平臺(tái)的數(shù)據(jù)緩沖區(qū)中,平臺(tái)通過(guò)變量名查找MVB變量表,提取端口號(hào)、字偏和位偏信息,從數(shù)據(jù)緩沖區(qū)中提取數(shù)據(jù)信息顯示到平臺(tái)實(shí)時(shí)數(shù)據(jù)列中,并將該數(shù)據(jù)與調(diào)試文件中對(duì)應(yīng)的上下限信息進(jìn)行比較分析,用戶將對(duì)已完成的工步進(jìn)行確認(rèn),同時(shí)完成信息實(shí)時(shí)傳送給MOM系統(tǒng)。當(dāng)MOM系統(tǒng)確認(rèn)接收數(shù)據(jù)正確時(shí),平臺(tái)將確認(rèn)的信息存入數(shù)據(jù)庫(kù)中,并對(duì)該調(diào)試工步進(jìn)行關(guān)閉。若MOM回應(yīng)所接收信息不正確時(shí),調(diào)試平臺(tái)將不存儲(chǔ)此次調(diào)試過(guò)程。

圖3 軟件執(zhí)行路線框圖
2.2.1前端技術(shù)
在LayUI框架源生代碼的基礎(chǔ)上,利用JS+HTML+CSS前端技術(shù)優(yōu)化平臺(tái)各功能模塊,完成人性化、多樣化的人機(jī)交互界面。
2.2.2后端技術(shù)
隨著Java技術(shù)在服務(wù)器端的不斷發(fā)展與應(yīng)用,列車智能調(diào)試平臺(tái)基于SSM框架實(shí)現(xiàn)服務(wù)器端的軟件設(shè)計(jì)。框架結(jié)構(gòu)如圖4所示。

圖4 框架結(jié)構(gòu)
SpringMVC框架是Spring基于MVC模型的實(shí)現(xiàn),SpringMVC使用DispatcherServlet做前端控制器實(shí)現(xiàn)基于方法級(jí)的攔截,并調(diào)用對(duì)應(yīng)Controller層中相應(yīng)的方法,然后通過(guò)視圖解析器在Web應(yīng)用中查找視圖對(duì)象,并將渲染后的結(jié)果視圖返回給用戶[2]。
Spring框架是開(kāi)源的Java平臺(tái),Spring的核心思想主要有:反轉(zhuǎn)控制(Inverse of Control,IOC)和切 面 編 程(Aspect-Oriented Programming,AOP)。反轉(zhuǎn)控制是基于降低系統(tǒng)模塊耦合性的設(shè)計(jì)思想,上下層接口直接依賴,通過(guò)一定的策略實(shí)現(xiàn)上級(jí)管理下級(jí)模塊被調(diào)用。系統(tǒng)只有在使用到類時(shí)才實(shí)例化對(duì)象,由此提升系統(tǒng)性能,增強(qiáng)系統(tǒng)擴(kuò)展性。切面編程是基于代理的設(shè)計(jì)思想,在保持原業(yè)務(wù)流程不變的基礎(chǔ)上增加一些附加功能,如日志管理、異常處理等,實(shí)現(xiàn)對(duì)事務(wù)的處理、回滾,實(shí)現(xiàn)業(yè)務(wù)邏輯隔離,提高系統(tǒng)的重用性和開(kāi)發(fā)效率[3]。
MyBatis是持久層框架,通過(guò).xml或注解實(shí)現(xiàn)對(duì)象到數(shù)據(jù)庫(kù)的映射,減少了大量JDBC冗余代碼,利用易于操作的SQL語(yǔ)句,實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)與業(yè)務(wù)邏輯的分離,方便后期系統(tǒng)修改和維護(hù)[4]。
通過(guò)Web.xml,ApplicationContext.xml,Config.xml 3個(gè)配置文件實(shí)現(xiàn)SSM框架間的融合。
平臺(tái)啟動(dòng)后,運(yùn)行容器(Tomcat)中的Web項(xiàng)目讀取Web.xml配置文件,在Web.xml中聲明了ApplicationContext.xml和Config.xml這2個(gè)文件以及文件所在路徑,通過(guò)
ApplicationContext.xml中配置組件掃描器,使用注解的方式進(jìn)行開(kāi)發(fā),自動(dòng)加載控制業(yè)務(wù)邏輯。還要配置視圖解析器,處理從Controller中返回ModelAndView的視圖[6]。
Config.xml文件中配置:數(shù)據(jù)源、SqlSessionFactory和Mapper掃描器,數(shù)據(jù)源配置為平臺(tái)使用的MySQL數(shù)據(jù)庫(kù),通過(guò)配置信息與數(shù)據(jù)庫(kù)建立連接。SqlSessionFactory可以被認(rèn)為是一個(gè)數(shù)據(jù)庫(kù)連接池,用于創(chuàng)建SqlSession接口對(duì)象,實(shí)現(xiàn)在一個(gè)事務(wù)里面執(zhí)行多條SQL。由于在設(shè)計(jì)中使用了Spring和MyBatis的整合包對(duì)Mapper進(jìn)行掃描,因此不需要對(duì)Mapper進(jìn)行單獨(dú)配置[7]。
按照調(diào)試需求將平臺(tái)劃分為5大功能模塊:工序一欄、數(shù)據(jù)分析、缺陷管理、試驗(yàn)管理、維護(hù)與幫助。
3.2.1工序一欄
用戶登陸平臺(tái)自動(dòng)從數(shù)據(jù)庫(kù)中讀取該用戶的訂單信息,形成工序一欄表,用戶進(jìn)入工序調(diào)試界面,可以查看訂單中的每一條工序,然后通過(guò)數(shù)采設(shè)備采集列車MVB網(wǎng)絡(luò)數(shù)據(jù),并將采集到的數(shù)據(jù)與訂單中要求的標(biāo)準(zhǔn)范圍進(jìn)行運(yùn)算對(duì)比,如果檢測(cè)結(jié)果在范圍內(nèi),則表示測(cè)試通過(guò),反之需要用戶到相應(yīng)的調(diào)試點(diǎn)進(jìn)行故障排查,完成某一條工序后,需要用戶簽名確認(rèn),整個(gè)過(guò)程將被完整的記錄在后臺(tái)數(shù)據(jù)庫(kù)中,工序一欄界面如圖5所示。

圖5 工序一欄界面
3.2.2數(shù)據(jù)分析
當(dāng)完成某個(gè)訂單的所有工序后,用戶可以對(duì)調(diào)試設(shè)備的狀態(tài)進(jìn)行綜合分析,前端利用Echarts圖表庫(kù)生成柱狀圖、餅狀圖等統(tǒng)計(jì)圖表,使數(shù)據(jù)分析更加直觀、高效。火災(zāi)報(bào)警系統(tǒng)周故障報(bào)警數(shù)統(tǒng)計(jì)如圖6所示。調(diào)試平臺(tái)將數(shù)采設(shè)備采集的火警網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行存儲(chǔ),根據(jù)故障編號(hào)對(duì)故障等級(jí)嚴(yán)重程度進(jìn)行劃分,紅色表示嚴(yán)重故障,橙色表示輕微故障,黃色表示警告。圖6中表示在調(diào)試周期一周內(nèi),每天調(diào)試火災(zāi)報(bào)警系統(tǒng)所產(chǎn)生的故障數(shù)。

圖6 火災(zāi)報(bào)警系統(tǒng)周故障報(bào)警數(shù)統(tǒng)計(jì)
3.2.3缺陷管理
在用戶調(diào)試過(guò)程中,未通過(guò)的工序則被平臺(tái)標(biāo)記為缺陷記錄,存儲(chǔ)在缺陷管理模塊中,用戶可以進(jìn)入該模塊,對(duì)未完成調(diào)試的工序重新進(jìn)行調(diào)試,直到調(diào)試通過(guò)后自動(dòng)從該模塊中刪除。
3.2.4試驗(yàn)管理
由于高速列車的調(diào)試過(guò)程非常重要,因此,某些未在工序一欄中的調(diào)試項(xiàng)需要用戶手動(dòng)將調(diào)試內(nèi)容補(bǔ)錄在列車智能調(diào)試平臺(tái)中,從而實(shí)現(xiàn)補(bǔ)充調(diào)試,不斷優(yōu)化調(diào)試進(jìn)程。
3.2.5維護(hù)與幫助
維護(hù)與幫助模塊對(duì)用戶來(lái)說(shuō)起到了至關(guān)重要的作用,用戶可以在該模塊中修改自己的用戶密碼,對(duì)于不清楚的調(diào)試項(xiàng)點(diǎn),用戶可以通過(guò)該模塊進(jìn)行查找學(xué)習(xí),不斷提升自己的調(diào)試作業(yè)能力。
利用列車智能調(diào)試平臺(tái)對(duì)250 km/h標(biāo)準(zhǔn)動(dòng)車組進(jìn)行聯(lián)調(diào)測(cè)試,MOM系統(tǒng)向調(diào)試工位推送訂單,工位長(zhǎng)將訂單分配給指定調(diào)試作業(yè)人員,調(diào)試人員進(jìn)入列車智能調(diào)試平臺(tái)查看自己的訂單信息,并開(kāi)始調(diào)試作業(yè)。訂單信息如圖7所示。
調(diào)試人員通過(guò)平板遠(yuǎn)程訪問(wèn)和控制數(shù)采設(shè)備,如圖8所示。數(shù)采設(shè)備將采集到的網(wǎng)絡(luò)數(shù)據(jù)實(shí)時(shí)發(fā)送給列車智能調(diào)試平臺(tái),并填入對(duì)應(yīng)工步的實(shí)時(shí)值中,由于在MOM推送的訂單信息中,對(duì)每個(gè)工步對(duì)應(yīng)的上限值、下限值或者標(biāo)準(zhǔn)值進(jìn)行了填寫,因此列車智能調(diào)試平臺(tái)將自動(dòng)判斷實(shí)測(cè)值是否為有效值,得到測(cè)試結(jié)果,如圖9所示。調(diào)試人員可以對(duì)訂單中的每一個(gè)工步進(jìn)行簽名、確認(rèn)、提交,提交內(nèi)容將實(shí)時(shí)傳送給MOM系統(tǒng)。

圖8 平板遠(yuǎn)程連接數(shù)采設(shè)備

圖9 工序一欄調(diào)試界面
通過(guò)對(duì)調(diào)試現(xiàn)場(chǎng)工業(yè)網(wǎng)的設(shè)計(jì),并基于SSM框架以及前端網(wǎng)頁(yè)框架技術(shù),設(shè)計(jì)出專用于列車調(diào)試的智能平臺(tái),經(jīng)過(guò)現(xiàn)場(chǎng)聯(lián)網(wǎng)聯(lián)調(diào),該平臺(tái)基本可以滿足現(xiàn)場(chǎng)調(diào)試作業(yè)的需求,并且因?yàn)檩^高的存儲(chǔ)性能、快速地?cái)?shù)據(jù)分析能力、易于操作等優(yōu)點(diǎn),已經(jīng)可以替代傳統(tǒng)的調(diào)試作業(yè)流程,為高效、準(zhǔn)確的調(diào)試作業(yè)提供了技術(shù)支持。