王 偉 謝紅太,2 孫榮剛 黨元鵬
(1. 華設(shè)設(shè)計集團(tuán)股份有限公司, 南京 210014;2. 蘭州交通大學(xué), 蘭州 730070)
列車牽引計算是一個復(fù)雜而龐大的系統(tǒng),涉及專業(yè)領(lǐng)域廣、計算復(fù)雜。近年來列車牽引計算已建立了一個較為成熟的可基本覆蓋所有牽引計算問題的計算系統(tǒng),涉及鐵路運輸、機(jī)車運用、選線設(shè)計、通信信號及運輸經(jīng)濟(jì)等方面[1-2]。但在新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)的計算、選取等方面,現(xiàn)有的牽引計算系統(tǒng)軟件無法滿足具體特定行業(yè)不同部門、不同層次的用戶需求[3-6]。
本文以VB編程語言為基礎(chǔ),研究開發(fā)了新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算程序。該程序運用Word軟件的“域”和“宏”兩個功能,應(yīng)用VBA編程技術(shù)以新建鐵路鐵路機(jī)務(wù)專業(yè)設(shè)計內(nèi)容為例子,完成對設(shè)計文本、表格等自動處理,打印輸出Word設(shè)計檢算報告[7-9],提高了工作效率和工作質(zhì)量。
隨著全國鐵路網(wǎng)的逐步統(tǒng)一和完善,國家對鐵路設(shè)計行業(yè)提出了更高效、優(yōu)質(zhì)、綠色、節(jié)能等的設(shè)計要求,也對鐵路機(jī)務(wù)專業(yè)設(shè)計者提出了更專業(yè)的用戶設(shè)計需求[10-12]。用戶設(shè)計需求主要包括:
(1)面向機(jī)務(wù)專業(yè)設(shè)計者的全參數(shù)化新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算系統(tǒng)。
(2)面向線路、站場、車輛等相關(guān)設(shè)計專業(yè)的核定設(shè)計計算系統(tǒng)。
(3)面向業(yè)主的簡易核準(zhǔn)設(shè)計計算系統(tǒng)。
新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算系統(tǒng),主要包括數(shù)據(jù)庫存儲管理系統(tǒng)、牽引設(shè)計計算系統(tǒng)及界面系統(tǒng)3個組成部分。系統(tǒng)結(jié)構(gòu)層次如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)層次圖
1.2.1數(shù)據(jù)庫存儲管理系統(tǒng)
將截止2018年底國內(nèi)投入運營的全部客貨用電力機(jī)車及內(nèi)燃機(jī)車的基本設(shè)計參數(shù)統(tǒng)一錄入基于VB語言開發(fā)的設(shè)計計算系統(tǒng)程序[13-17]。
1.2.2牽引設(shè)計計算系統(tǒng)
新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算系統(tǒng)主要包括新建鐵路設(shè)計參數(shù)預(yù)處理系統(tǒng)、機(jī)車牽引式列車設(shè)計參數(shù)查詢系統(tǒng)、新建鐵路環(huán)境影響修正處理系統(tǒng)、新建鐵路機(jī)車牽引重量檢算系統(tǒng)及設(shè)計參數(shù)輸出處理系統(tǒng)5個模塊[18-20]。
1.2.3界面系統(tǒng)
利用VB語言實現(xiàn)界面系統(tǒng)的可視化,新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算系統(tǒng)的主界面如圖2所示。
新建鐵路在設(shè)計過程中,對線路縱斷面和機(jī)車交路的優(yōu)化,須進(jìn)行牽引計算分析[21-25],主要包括牽引種類的選擇、機(jī)車類型的選定、機(jī)車牽引重量(牽引定數(shù))的確定、是否需要多機(jī)牽引核準(zhǔn)、環(huán)境影響因素修正、列車阻力計算、牽引重量檢算等[26-27]。
基于VB語言的新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算程序系統(tǒng)整體流程如圖3所示。
1.3.1系統(tǒng)初始化設(shè)計
系統(tǒng)初始化設(shè)計內(nèi)容包括牽引種類的選擇、機(jī)車類型的選定、機(jī)車牽引重量(牽引定數(shù))的確定、是否需要多機(jī)牽引核準(zhǔn)、境影響因素修正、牽引重量檢算等方面。
主要代碼如下:
Private Sub Form_Resize() ′軟件界面窗口調(diào)整
Image1.Width=Me.ScaleWidth
Image1.Height=Me.ScaleHeight
End Sub
……
If OptionButton1.Value=True Then
圖2 軟件用戶主界面圖
圖3 軟件系統(tǒng)整體流程圖
Combo1.Clear
Combo2.Clear
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo1.AddItem "DF4"
Combo1.AddItem "DF4B"
……
ElseIf OptionButton2.Value=True Then
Combo1.Clear
Combo2.Clear
Combo3.Clear
Combo4.Clear
Combo5.Clear
Combo1.AddItem "SS1"
Combo1.AddItem "SS3"
……
OptionButton1.Value=False
End If
Combo2.AddItem "默認(rèn)計算海拔(700m)"
Combo2.AddItem "≤700m"
Combo2.AddItem "1000m"
……
Combo3.AddItem "默認(rèn)計算溫度(30℃)"
Combo3.AddItem "<30℃"
……
Combo4.AddItem 1000
Combo4.AddItem 2000
……
Combo5.AddItem 1
Combo5.AddItem 2
……
Combo1.Text=Combo1.List(0) ′默認(rèn)初始化參數(shù)選擇
Combo2.Text=Combo2.List(0)
Combo3.Text=Combo3.List(0)
Combo4.Text=Combo4.List(4)
Combo5.Text=Combo5.List(0)
1.3.2新建線設(shè)計限坡計算
根據(jù)列車運動方程式[28-29],列車做等速運行時,在限制上坡道ix上合力為零的條件為:
(1)
得出列車以機(jī)車持續(xù)速度牽引設(shè)計牽引重量運行時限制坡度為:
(2)
在多機(jī)牽引或補給推送時的坡度為:
(3)
式中:Mg——單機(jī)和加力牽引重量(t);
Mp,Mpk——機(jī)車計算質(zhì)量(t);
Mpk——第k臺機(jī)車計算質(zhì)量(t);
Fc——機(jī)車牽引力(N);
Fck——第k臺機(jī)車的牽引力(N);
λy——機(jī)車牽引力使用系數(shù),取λy=0.9;
ix——限制坡度;
ijl——加力牽引坡度;
w′0——機(jī)車計算速度vj下的機(jī)車基本阻力(N/kN);
w″0——機(jī)車計算速度vj下的車輛基本阻力(N/kN);
w′0k——第k臺機(jī)車在機(jī)車計算速度vj下的機(jī)車基本阻力(N/kN);
w″0k——第k臺機(jī)車在機(jī)車計算速度vj下的車輛單位基本阻力(N/kN);
λk——第k臺機(jī)車牽引力取值系數(shù)。
其中第k臺機(jī)車牽引力取值系數(shù)λk,機(jī)車多機(jī)牽引使用重聯(lián)線或同步裝置操縱時,每臺機(jī)車的牽引力均取全值,λk=1,分別操縱時,第2臺機(jī)車及其以后每臺機(jī)車的牽引力均取全值的98%,λk=0.95。
1.3.3內(nèi)燃機(jī)車牽引力修正
各型內(nèi)燃機(jī)車在周圍空氣溫度不高于30 ℃、海拔不超過700 m的地區(qū)運行時,機(jī)車牽引力不做修正。
(1)周圍空氣溫度修正
截止2018年底全路投入運營的內(nèi)燃機(jī)車中,DF4(客、貨)、DF4B(客、貨)、DF4C(貨)、DF8及DF11型機(jī)車在溫度高于30℃的地區(qū)運行時,需進(jìn)行機(jī)車牽引力修正,修正系數(shù)λh參照文獻(xiàn)[13]表12內(nèi)燃機(jī)車牽引力周圍空氣溫度修正系數(shù)。
(2)海拔修正
截止2018年底全路投入運營的內(nèi)燃機(jī)車中,DF4(客、貨)、DF4B(客、貨)、DF7D、DF8、DF11、DF8B(高原)及NJ2型機(jī)車在海拔高于700 m的地區(qū)運用時,需進(jìn)行機(jī)車牽引力修正,修正系數(shù)λp參照文獻(xiàn)[13]表13內(nèi)燃機(jī)車牽引力海拔修正系數(shù)。
1.3.4牽引重量檢算
對ix的選值,需檢算牽引重量是否受列車起動條件、車站到發(fā)線有效長及車鉤強度三者任一條件的限制,否則應(yīng)降低牽引定數(shù)或?qū)ο拗茥l件進(jìn)行調(diào)整優(yōu)化[30-31]。
(1)牽引重量檢算
①起動檢算
起動檢算是檢查列車在車站停車后能否順利起動。假設(shè)列車起動時的牽引力等于總阻力,即:
(4)
得:
(5)
式中:Fq——機(jī)車計算起動牽引力;
w′q——機(jī)車單位起動阻力,取5.0N/kN;
iq——啟動地段的加算坡度值。
當(dāng)Mq≥Mg時,列車可以起動,檢算通過;當(dāng)Mq ②車站到發(fā)線有效長檢算 車站到發(fā)線有效長檢算是檢查列車牽引重量是否受車站到發(fā)線有效長度的限制。 Myx=(Lyx-La-NjLj)×q (6) 式中:La——安全距離,一般取30 m; Lyx——到發(fā)線有效長度; Lj——機(jī)車長度; Nj——列車中機(jī)車臺數(shù); q——列車每延米質(zhì)量(t/m)。 當(dāng)Myx≥Mg時,牽引重量不受到發(fā)線有效長度限制;當(dāng)Myx ③車鉤強度檢算 在加力牽引上坡道上,若機(jī)車用重聯(lián)方式牽引,第1位車輛的車鉤所受拉力可能超過車鉤允許強度。 (7) 式中:Fn——車鉤允許拉力; ijl——加力坡度; w″0——按在ijl坡上的列車均衡速度計算的車輛基本阻力。 當(dāng)Mc≥Mg時,應(yīng)采用補機(jī)推送方式。 (2)牽引重量檢算主要程序設(shè)計代碼 主要代碼如下: …… Private Sub CommandButton1_Click() Label35="——" Label38="——" Label40="——" Label35.ForeColor=vbGreen Label38.ForeColor=vbGreen Label40.ForeColor=vbGreen jdq=5 ′機(jī)車單位起動基本阻力(N/kN) hdq=3.5 ′貨車單位起動基本阻力(N/kN) la=30 ′安全距離(m) lyx=Val(Text2.Text) ′到發(fā)線有效長(m) nj=Val(Combo5.Text) ′重聯(lián)機(jī)車數(shù)量 qlm=5.677 ′列車每延米質(zhì)量/(t/m) If Label2.ForeColor=vbRed Or Label7.ForeColor=vbRed Then Label35="——" Else gq=(0.9*fq*1000 - mp0*(jdq+Val(Text1.Text))) / ((hdq+Val(Text1.Text))*9.81) If gq>=Val(Combo4.Text) Then Label35="校驗通過" ElseIf gq Label35="校驗失敗,請減小牽引重量或降低站坪設(shè)計坡度。" Label35.ForeColor=vbRed End If End If If Label2.ForeColor=vbRed Or Label7.ForeColor=vbRed Then Label38="——" Else gdf=(lyx - la - nj * li) * qlm If gdf >= Val(Combo4.Text) Then Label38="校驗通過" ElseIf gdf < Val(Combo4.Text) Then Label38="校驗失敗,請減小牽引重量或增大到發(fā)線有效長。" Label38.ForeColor=vbRed End If End If If Label2.ForeColor=vbRed Or Label7.ForeColor=vbRed Then ′Label40="——" Else gg=562500 / 9.81 / (w2 + pd) ′車鉤允許拉力按(13#)562500N設(shè)計計算 If gg >= Val(Combo4.Text) Then Label40="——" ′校驗失敗,請減小牽引重量或采用補給推送方式 Label40.ForeColor=vbRed ElseIf gg < Val(Combo4.Text) Then Label40="——" ′校驗通過 End If End If End Sub …… 設(shè)計報表生成系統(tǒng)可根據(jù)數(shù)據(jù)文件完成對文檔結(jié)構(gòu)、文字、表格、圖形的自動化處理。設(shè)計報表生成系統(tǒng)的實現(xiàn)框架示意如圖4所示。 圖4 設(shè)計報表生成系統(tǒng)實現(xiàn)框架示意圖 設(shè)計報表生成系統(tǒng)的部分重要代碼如下: Private Sub CommandButton2_Click() Dim WordApp, Word As Variant ′定義Word文檔對象 Set WordApp=CreateObject("Word.Application") ′創(chuàng)建Word文檔 Set Word=WordApp.Documents.Add ′給工作表變量賦值 WordApp.Visible=True Dim Table '定義一個表格 With Word '打開Word文檔 …… .Paragraphs(.Paragraphs.Count).Range.Font.Name="隸書" ′Word文檔格式設(shè)定 .Paragraphs(.Paragraphs.Count).Range.Font.Size=40 .Paragraphs(.Paragraphs.Count).Range.Font.Bold=True .Paragraphs(.Paragraphs.Count).Alignment=wdAlignParagraphCenter .Paragraphs(.Paragraphs.Count).Range.Font.Underline=wdUnderlineNone .Content.InsertAfter vbCrLf & "新建鐵路機(jī)車牽引設(shè)計參數(shù)計算報表" & vbCrLf & vbCrLf & vbCrLf & vbCrLf …… .Paragraphs(.Paragraphs.Count).Alignment=wdAlignParagraphCenter .Tables.Add Range:=.Range(Start:=.Range.End - 1, End:=.Range.End), NumRows:=6, NumColumns:=3, _ DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed ′根據(jù)表格中的內(nèi)容自動調(diào)整單元格的大小,整個表格大小自動調(diào)整。 Dim h, zt, wt ′定義表格字體格式變量 h=15: zt=14: wt="宋體" With .Tables(1) .Cell(1, 1).Range.Font.Name=wt .Cell(1, 1).Range.Font.Size=zt .Cell(1, 1).Range.Font.Bold=True .Cell(1, 1).Range.Rows.Height=h .Cell(1, 1).Range.Text="序號" .Cell(2, 1).Range.Font.Name=wt .Cell(2, 1).Range.Font.Size=zt .Cell(2, 1).Range.Font.Bold=True .Cell(2, 1).Range.Rows.Height=h .Cell(2, 1).Range.Text="1" …… 以某新建鐵路程項目設(shè)計采用DF8B(高原)型內(nèi)燃機(jī)車為例輸出打印設(shè)計報表。 2.3.1設(shè)計技術(shù)標(biāo)準(zhǔn)報表 根據(jù)新建鐵路工程線路設(shè)計主要技術(shù)標(biāo)準(zhǔn),經(jīng)新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算平臺設(shè)計、計算并檢驗通過后,推薦的機(jī)務(wù)設(shè)計主要技術(shù)標(biāo)準(zhǔn)如表1所示。 表1 設(shè)計機(jī)務(wù)主要技術(shù)標(biāo)準(zhǔn)表 2.3.2設(shè)計機(jī)車基本計算參數(shù)報表 設(shè)計機(jī)車基本計算參數(shù)如表2所示。 表2 設(shè)計機(jī)車計算參數(shù)詳表 2.3.3本線設(shè)計坡度報表 計算輸出本線設(shè)計坡度值為4.10(4)‰,設(shè)計取值4‰。 2.3.4機(jī)車牽引重量檢算報表 機(jī)車牽引重量的起動、到發(fā)線有效長及車鉤強度檢算情況如表3所示。 表3 設(shè)計機(jī)車牽引重量檢算報表 2.3.5報表輸出 打印輸出報表模板主要包括設(shè)計技術(shù)標(biāo)準(zhǔn)、設(shè)計機(jī)車基本計算參數(shù)、本線設(shè)計坡度、機(jī)車牽引重量檢算及設(shè)計檢算說明等5部分,如圖5所示。 圖5 設(shè)計報表模板圖 基于VB應(yīng)用程序設(shè)計開發(fā)的新建鐵路機(jī)車牽引式列車設(shè)計參數(shù)計算系統(tǒng)在內(nèi)燃機(jī)車及電力機(jī)車基本性能參數(shù)查詢、機(jī)車運用環(huán)境影響因素精準(zhǔn)修正、設(shè)計方案比較分析及牽引重量檢算核準(zhǔn)等方面為設(shè)計者和客戶提供了一個全方位的高效設(shè)計檢算平臺。在此基礎(chǔ)上期待后續(xù)行業(yè)內(nèi)提出更為完善、高效便捷的機(jī)務(wù)設(shè)計檢算程序。2 新建鐵路列車牽引計算設(shè)計參數(shù)報告輸出
2.1 設(shè)計報表生成系統(tǒng)
2.2 設(shè)計報表生成系統(tǒng)主要代碼
2.3 輸出打印設(shè)計報表
3 結(jié)束語