郭蘊華 石俠紅 楊建國
(武漢理工大學能源與動力工程學院1) 武漢 430063) (船舶動力工程技術交通行業重點實驗室2) 武漢 430063)
船用柴油機從設計、制造、運行管理到維護是一個復雜過程,且相互影響[1].而臺架試驗和試航是船用柴油機生產中的2個關鍵步驟,目前大多數船用柴油機制造廠的臺架試驗和試航采用紙質方式記錄數據,且各部門間的信息不能及時共享,從而形成“信息孤島”.本文針對船用柴油機的臺架試驗和試航,利用數據庫技術將船用柴油機的相關信息有規則、有秩序地管理起來,為設計、生產、臺架試驗和試航提供全方位的信息和技術支持,以提高船用柴油機的制造水平、經濟效益和管理效率,同時還可為船用柴油機故障庫的建立提供試驗數據.
基于數據庫技術的大型低速船用柴油機臺架試驗及試航管理系統可實現柴油機的基本信息、設計參數、安裝與調試參數、臺架試驗和試航等數據的自動管理、分析和信息共享.根據柴油機制造廠各部門的業務需求,將系統劃分為5個子系統,如圖1所示.
基礎信息管理子系統負責管理船用柴油機相關證書、文件資料等基本信息.這些基本信息通常用于生成試車/試航報告等相關數據.

圖1 大型低速柴油機臺架試驗及試航管理系統劃分
試車管理子系統負責對船用柴油機的臺架試車,并采集試車過程中產生的關鍵數據和各種相關技術指標,試車數據可用于指導試航.技術服務支持子系統負責臺架試車和試航時的調速器限制曲線測量.
試車故障診斷子系統將從試車、試航及一些故障仿真模型中獲得的數據輸入到故障診斷知識庫中,為試車磨合階段出現的問題進行初步診斷和指導.
標準管理子系統負責把柴油機生產過程中產生的一系列企業標準進行管理.如排放標準可為試車、試航的排放計算提供依據.
系統采用工作流的方式管理數據,即通過部門間的相互協作完成數據在各子系統間的流轉.各部門可查看當前的數據流程進度,即某臺船用柴油機目前所處的生產環節.同時,當系統中的數據更新后,各部門可及時共享數據,以避免出現“信息孤島”,系統工作流程如圖2所示.

圖2 工作流程圖
系統的平臺搭建結構圖如圖3所示.試車小組、技術服務室和基礎技術室利用X3軟件平臺提供的Tomcat中間件實現了柴油機制造廠各部門間的任務協作及對服務器端SQLServer數據庫的訪問,在該平臺上完成了數據發布、交換及共享.

圖3 平臺搭建結構圖
由于試車和試航現場缺少網絡和應用程序服務器等硬件設施的支持,無法使用X3軟件平臺,需要另外開發C/S模式的客戶端系統.客戶端系統分為試車客戶端和試航客戶端,采用Delphi 7.0作為開發平臺,選用Access 2003數據庫作為其數據支持.
在試車和試航前,工作人員需通過企業局域網從服務器端SQLServer數據庫下載必要的數據到客戶端Access數據庫;在試車和試航結束后,又需要將試驗數據從Access數據庫上傳至SQLServer數據庫.根據企業的操作規程,客戶端軟件不能脫離X3平臺直接訪問SQL Server數據庫,且X3平臺也不支持對Access數據庫的訪問.因此,需要為系統開發X3軟件平臺與客戶端軟件間的實時數據傳輸服務程序.該程序基于XML和自定義的數據傳輸協議,通過 Windows Socket(簡稱 WinSock,是基于TCP/IP核心協議的Windows環境下網絡編程接口)實現LAN的數據傳輸和交換.
基礎信息管理子系統主要管理三類數據:母/子型機組數據、排放零件鋼印號和車間用技術資料.具體數據見表1.

表1 基礎信息管理子系統數據結構
由于機組信息量大且復雜,當子型機的排放零件鋼印號與母型機中的不同時,在機組資料顯示時會將這條記錄高亮變紅給予用戶提示,并且機組資料的版本號得到升級;當機組中新增機器記錄或修改原來機器記錄時,經過部門審核后,其版本號也會升級.歷次版本的機組信息都存于數據庫中,用戶可以回溯任一版本的機組信息,也可以比較不同版本機組信息間的差異,實現有據可查.
試車管理子系統是本系統中非常重要的環節之一,其數據結構見表2.通常在試車試驗之前,由基礎技術室在X3端錄入試車準備資料,這些資料是為了試車人員在試驗時查看柴油機的相關信息.試驗前,試車人員先將資料下載到試車客戶端中;試驗時,通過客戶端軟件將試驗數據保存到本地Access數據庫中;試驗結束后,試車人員須將試驗數據上傳至服務器端SQL Server數據庫,并在X3平臺進行數據的整理,最后輸出試車報告.X3端和試車客戶端均提供對試驗數據的性能分析和排放計算功能.

表2 試車管理子系統數據結構
3.2.1 試車試驗數據錄入 試車客戶端采用“卡片式”界面管理數據,數據分為手工錄入數據和自動計算數據.由于試車試驗要采集大量的性能參數,為了避免人為操作失誤,試車客戶端自動檢查數據是否超出域范圍,如超出則報警.
3.2.2 實時數據傳輸服務 試車客戶端與X3服務器間的數據傳輸分為數據下載和數據上傳2個功能.通過在X3運行平臺與客戶端軟件中分別運行Local Procedure(本地程序)和Remote Procedure(遠程程序)這2個小程序來實現.
1)數據下載 實時數據傳輸服務中的數據下載過程如圖4所示.(1)當下載時,X3平臺首先將選中的要下載的數據保存為XML文件(在具體對SQL Server數據庫存取數據時,使用X3平臺的 Business.Data.TQuery,Business.Data.TConnection和 UserDataSet組件),并以 Windows消息的方式向本地程序發出“發送文件列表”命令;(2)本地程序通過Winsock向遠程程序轉發“發送文件列表”命令;(3)遠程程序收到“發送文件列表”后,按“發送文件列表”向本地程序發送“索取文件列表”命令,然后進入阻塞式讀取狀態;(4)本地程序收到來自遠程程序的“索取文件列表”命令,立即將早已準備好的XML文件發送出去;(5)遠程程序收到XML文件后,將XML文件讀取并將數據存入Access數據庫.

圖4 下載過程描述
2)數據上傳 實時數據傳輸服務中的數據上傳過程如圖5所示.(1)當上傳時,X3平臺首先以Windows消息的方式向本地程序發出“索取文件列表”命令;(2)本地程序收到“索取文件列表”命令后,通過Winsock向遠程程序轉發“索取文件列表”命令,然后進入阻塞式讀取狀態;(3)遠程程序收到“索取文件列表”命令后,通過Midas和ADO技術從數據庫讀取符合查詢條件的數據(具體通過TADOConnection組件、TADOQuery組件、TDataSetProvider組件和TClientDataSet組 件)[2-3],將 其 保 存 為 XML 文件,并通過Winsock向本地程序發送這些XML文件;(4)本地程序收到XML文件后,通知X3平臺;(5)X3平臺收到通知后,同樣基于Midas的本地存取技術(即UserDataSet的LoadFromFile函數),將XML讀取并將數據存入SQL Server數據庫.

圖5 上傳過程描述
3.2.3 性能分析功能 在試車試驗中,大多只測量25%,50%,75%,90%,100%和110%負荷下的性能數據,測點相對較少,利用這幾個點僅能畫出折線,很難反映出熱力參數的發展趨勢,同時曲線間數量級相差較大,在一個坐標系上顯示其可觀性較差.需要對采樣點數據進行線性變換,使其能在一張圖上反映所有的性能曲線,然后再作相應的數學變換,直至滿足性能分析繪圖的要求.在本系統中FLEX機型采用三次樣條插值獲得插值點,而MCC機型和MEC機型采用最小二乘法逼近[4].將試驗數據導入 MATLAB的Curve fitting Tool功能,經驗證采用該種數學變換法滿足要求.系統中性能分析界面圖略.
技術服務支持子系統的數據結構見表4.本子系統的數據組織模式和提供的功能與試車管理子系統大部分相似.不同之處是由于試航人員數量有限且試航地點通常在海上,往往出現試航人員處理完一條船后就直接趕赴下一個試航任務的情況.這樣,試航人員需要當場向船東提交試航報告,并將本次試航服務的數據傳回本廠.為此,特別設計了離線導入、離線導出、打印試航報告和繪制調速器限制曲線的功能.

表4 技術服務支持子系統數據結構
離線導入是將試航準備資料離線包導入客戶端系統,該離線包中的數據是從X3服務端數據庫提取出的;離線導出是從試航客戶端數據庫提取出試驗數據并進行打包,該離線包可導入X3服務器端.這些離線包經過加密,只有在本系統的開發平臺間進行導入導出.通過Internet或郵件把離線包傳回公司或是試航現場,即可以讓試航人員快速的展開下面的工作,又可讓上級主管及時獲知當前試航情況,完成了數據的管理,實現了數據的共享.
試車故障診斷子系統構建了一個柴油機故障診斷專家系統,主要用于試車磨合階段的故障診斷及指導.專家系統知識庫包含從試車試驗、試航及一些故障仿真模型中獲得的故障數據及解決方案[5-7].其中,故障仿真利用 AVL BOOST 軟件對柴油機工作過程建立仿真模型,通過對柴油機典型故障的仿真計算,得到不同故障態的柴油機熱力參數變化規律,提取故障仿真的計算結果,為專家知識庫提供數據支持.
當知識庫中的故障實例和解決方案累積到一定數量后,通過數據挖掘技術完善專家知識庫.在進行試車磨合試驗時,試驗技術人員可以利用各種征兆信息檢索知識庫,利用知識庫中眾多專家的知識對這些信息進行分析、比較和推理,最終得出正確的解決方案.
標準管理子系統是把標準的起草、申請制定、報批及發布等過程管理起來,簡化和規范了企業制定標準的流程.在標準起草時,本子系統把標準按照封面、前言、正文、附錄、參考文獻和索引等6個部分分塊存于數據庫中.其中正文和附錄按照章節節點存儲并進行樹狀排列,用戶可以增加和刪除章節節點.當進行打印時,系統將這6部分按照順序及規定的格式輸出到word文件中,這樣不僅簡化和統一了標準的制定,還便于企業標準的管理.
系統采用B/S和C/S相結合的模式,利用數據庫技術將柴油機臺架試驗和試航試驗數據規則有序地管理起來,不僅實現了柴油機設計數字化、制造網絡化和管理信息化,而且為船用柴油機故障庫的建立提供了依據.同時系統強大的面向業務的工作流,使得部門間分工協作更加明確,提高了工作效率;信息的共享促進了企業的無紙化進程,避免了“信息孤島”.對于整合船用柴油機企業資源、提升綜合競爭力也具有十分重要的意義.
[1]李文靜,郭蘊華,楊建國.船舶柴油機數字化管理系統的開發[J].柴油機,2009,31(4):6-9.
[2]飛思科技產品研發中心.Delphi 7基礎編程[M].北京:電子工業出版社,2003.
[3]JONES A,OHLUND J.Network programming for microsoft windows[M].Washington:Microsoft Press,Redmond,1999.
[4]Delphi常用數值算法集[M].北京:科學出版社,2001.
[5]楊建國,周軼塵.船舶柴油機振動監測與故障診斷系統[J].內燃機工程,1997,17(3):45-51.
[6]余永華,楊建國.船舶柴油機數字化監測與診斷系統[J].船海工程,2007,29(2):81-84.
[7]竇金生,湯天浩.基于知識的故障診斷技術及其在船舶上的應用[J].船舶工程,2007,29(4):72-74.