![列車運(yùn)行控制實(shí)驗(yàn)三實(shí)驗(yàn)報(bào)告材料_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/10a39349-6d1c-4378-afdb-c9983b44a1d7/10a39349-6d1c-4378-afdb-c9983b44a1d71.gif)
![列車運(yùn)行控制實(shí)驗(yàn)三實(shí)驗(yàn)報(bào)告材料_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/10a39349-6d1c-4378-afdb-c9983b44a1d7/10a39349-6d1c-4378-afdb-c9983b44a1d72.gif)
![列車運(yùn)行控制實(shí)驗(yàn)三實(shí)驗(yàn)報(bào)告材料_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/9/10a39349-6d1c-4378-afdb-c9983b44a1d7/10a39349-6d1c-4378-afdb-c9983b44a1d73.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、列車運(yùn)行控制應(yīng)答器報(bào)文組幀學(xué)院:電子信息工程學(xué)院 班級:自 動(dòng) 化 1301成員:目錄1 實(shí)驗(yàn)?zāi)繕?biāo) 31.1 實(shí)驗(yàn)整體目標(biāo) 31.2 實(shí)驗(yàn)具體目標(biāo) 32 實(shí)驗(yàn)過程 32.1 原理分析 32.1.1 應(yīng)答器報(bào)文結(jié)構(gòu)原理 32.1.2 線路參數(shù)相關(guān)的應(yīng)答器信息包定義 42.2 仿真環(huán)境 42.3 程序編寫 52.3.1 程序分析 52.3.2 程序框圖 62.3.3 程序代碼 63 實(shí)驗(yàn)結(jié)果分析 74 實(shí)驗(yàn)總結(jié) 13附 源代碼 141 實(shí)驗(yàn)?zāi)繕?biāo)1.1 實(shí)驗(yàn)整體目標(biāo)理解應(yīng)答器報(bào)文結(jié)構(gòu)和填寫方式; 完成應(yīng)答器報(bào)文的解碼, 并理解應(yīng)答器報(bào) 文的應(yīng)用方式;理解 ETCS語言的應(yīng)用。1.2 實(shí)驗(yàn)具體目標(biāo)在完
2、成實(shí)驗(yàn)二的基礎(chǔ)上, 填寫應(yīng)答器信息解碼程序。 能夠?qū)㈤]塞分區(qū)長度和 線路限速信息解碼出來, 填入速度防護(hù)程序所需的輸入變量中, 并通過 Excel 中 列車的運(yùn)行情況判定程序是否正常實(shí)現(xiàn)了相應(yīng)的功能。 該部分仍為正線接車、 18 號以下道岔側(cè)線接車、 18 號以上道岔側(cè)線接車和引導(dǎo)接車四種情況,其具體碼 序與實(shí)驗(yàn)二相同,此處不再羅列。2 實(shí)驗(yàn)過程2.1 原理分析應(yīng)答器報(bào)文結(jié)構(gòu)原理應(yīng)答器設(shè)于各車站進(jìn)站信號機(jī)、 出站信號機(jī)、 區(qū)間閉塞分區(qū)入口以及電分相 區(qū)前方、 列控系統(tǒng)級間切換點(diǎn)前方、 大型橋隧前方等特殊地點(diǎn), 向列控車載設(shè)備 傳輸定位信息、線路參數(shù)、臨時(shí)限速等信息。每經(jīng)過一個(gè)應(yīng)答器組,車載設(shè)備
3、會(huì) 收到一個(gè)完整的、 固定長度的報(bào)文幀 (104 字節(jié)),其中包含發(fā)送線路信息的用戶 信息包,由于報(bào)文以 ETCS語言的方式傳輸, 因此接收到的報(bào)文是以 ETCS語言進(jìn) 行編碼后的二進(jìn)制數(shù)據(jù)。控車程序?qū)?yīng)答器報(bào)文按照規(guī)定的格式進(jìn)行解析和處理, 才能獲得可用的數(shù) 據(jù)。 ETCS語言組成關(guān)系如下:2.1.2 線路參數(shù)相關(guān)的應(yīng)答器信息包定義當(dāng)列車在線路上正常運(yùn)行時(shí), 接收應(yīng)答器信息, 從而獲得軌道區(qū)段長度、 線 路限速等信息,在本實(shí)驗(yàn)中,解碼的是提供線路限速的線路速度信息包【 ETCS- 27】和提供閉塞分區(qū)長度的軌道區(qū)段信息包【 CTCS-1】?!綞TCS-27】包中針對速度變化點(diǎn)描述定義情況可用
4、下圖表示:信息包的其他具體結(jié)構(gòu)和變量情況等信息在實(shí)驗(yàn)過程中可具體參考實(shí)驗(yàn)指 導(dǎo)書。2.1.3 整體函數(shù)變量情況BaliseBitToByte() 函數(shù)中,其輸入變量和輸出變量為:2.2 仿真環(huán)境本實(shí)驗(yàn)的仿真仍在 excel 中完成,與實(shí)驗(yàn)二列車運(yùn)行的線路相同。 不同的是 本次實(shí)驗(yàn)中線路上正常鋪設(shè)區(qū)間、 進(jìn)站等應(yīng)答器組, 當(dāng)列車經(jīng)過應(yīng)答器組時(shí), 接 收它們提供的信息。具體仿真環(huán)境結(jié)構(gòu)如下圖所示:2.3 程序編寫程序分析本實(shí)驗(yàn)需要編寫的仿真程序, 即為實(shí)驗(yàn)二中控制程序大致流程中應(yīng)答器信息 讀取部分,解析應(yīng)答器報(bào)文, 并提取出有用的信息計(jì)算該應(yīng)答器組中存儲(chǔ)的閉塞 分區(qū)長度和線路限速, 輸出給仿真環(huán)境
5、, 由仿真環(huán)境進(jìn)行數(shù)據(jù)的進(jìn)一步轉(zhuǎn)換, 變 為 ATPprotection() 程序的輸入,完成線路數(shù)據(jù)的使用,正確完成超速防護(hù)的功2.3.2 程序框圖2.3.3 程序代碼(注:本部分只列出關(guān)鍵部分,完整代碼請查看附錄)實(shí)現(xiàn)變量由 bit 到字節(jié)轉(zhuǎn)換,將線路允許速度填充到 sLineAllowSpeed 數(shù)組中offset = 50VarBitNum = 8TotoalBitBeforeVar = offsetNID_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) / 讀取 NID_PACKET中1 的信息V
6、arBitNum = 13TotoalBitBeforeVar = offset + 10L_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) / 讀取 L_PACKET1中的信息If NID_PACKET1 = 27 Then/ 判斷是否讀取線路信息包 ETCS-27中的數(shù)據(jù)sLineAllowSpeed(0, 0) = 0VarBitNum = 15TotoalBitBeforeVar = offset + 25D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBi
7、tBeforeVar, Telegram)/ 讀取應(yīng)答器中速度信息起始點(diǎn)距離VarBitNum = 7TotoalBitBeforeVar = offset + 40V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/ 讀取應(yīng)答器中最大允許列車速度VarBitNum = 5TotoalBitBeforeVar = offset + 53N_ITER = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/ 速度變化點(diǎn)數(shù)量If N_ITER = 1
8、 Then/ 變化點(diǎn)數(shù)量為 1 時(shí)VarBitNum = 15TotoalBitBeforeVar = offset + 58D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)VarBitNum = 7TotoalBitBeforeVar = offset + 73V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)sLineAllowSpeed(1, 0) = D_STATICsLineAllowSpeed(0, 1) =
9、V_STATIC * 5End If實(shí)現(xiàn)變量由 bit 到字節(jié)轉(zhuǎn)換,將軌道電路合并為閉塞分區(qū)填充到 sBlocks 數(shù)組If NID_PACKET = 44 Then/ 判斷是否讀取線路信息包 CTCS-1中的數(shù)據(jù)Q_SCALE = ff.GetValueOfVar(VarBitNum, Telegram)If Q_SCALE = 0 ThenB = 0.1/ 獲取軌道區(qū)段的長度分辨率信息TotoalBitBeforeVar,NID_SIGNAL =Telegram)/ 獲取信號燈情況ff.GetValueOfVar(VarBitNum,TotoalBitBeforeVar,VarBitNum
10、 = 15TotoalBitBeforeVar = offset + L_PACKET1 + 73L_SECTION1 = ff.GetValueOfVar(VarBitNum, Telegram)/ 讀取軌道區(qū)段信息TotoalBitBeforeVar,If NID_SIGNAL = 0 Then / 判斷是否有信號機(jī)sBlocks(r) = s * B/ 有信號機(jī)則確定閉塞分區(qū)區(qū)間長度s=0/ 中間變量置零r = r + 1 End If Next End If3 實(shí)驗(yàn)結(jié)果分析實(shí)驗(yàn)結(jié)果記錄表測試案例正線接車停車測試步驟a. 設(shè)置初速度 200km/h ,加速運(yùn)行;b. 選擇正線接車進(jìn)路類型
11、,直到列車停車;c. 觀察所計(jì)算的允許速度曲線是否正確;d. 查看記錄文件。測試結(jié)果正線接車測試結(jié)果截圖實(shí)驗(yàn)結(jié)果記錄表測試案例18 號道岔以下接車停車功能測試步驟a. 設(shè)置初速度 200km/h ,加速運(yùn)行;b. 選擇 18 號道岔一下側(cè)線接車進(jìn)路類型,直到列車停車;c. 觀察所計(jì)算的允許速度曲線是否正確;d. 查看記錄文件。測試結(jié)果18 號道岔以下接車測試結(jié)果截圖實(shí)驗(yàn)結(jié)果記錄表測試案例18號道岔以上接車停車功能a. 設(shè)置初速度 200km/h ,加速運(yùn)行;測試步驟b. 選擇 18號道岔以上側(cè)線接車進(jìn)路類型,直到列車停車;c. 觀察所計(jì)算的允許速度曲線是否正確;d. 查看記錄文件。測試結(jié)果18
12、號道岔以上接車停車功能測試結(jié)果截圖實(shí)驗(yàn)結(jié)果記錄表測試案例側(cè)線引導(dǎo)接車停車功能測試步驟a. 設(shè)置初速度 200km/h ,加速運(yùn)行;b. 選擇側(cè)線引導(dǎo)接車進(jìn)路類型,直到列車停車;c. 觀察所計(jì)算的允許速度曲線是否正確;d. 查看記錄文件。測試結(jié)果側(cè)線引導(dǎo)接車停車功能測試結(jié)果截圖調(diào)試記錄匯總表問題描述原因分析解決方法開始運(yùn)行后圖像與實(shí)驗(yàn)二完全一致實(shí)驗(yàn)過程操作錯(cuò)誤本實(shí)驗(yàn)中為“人工解析”開始運(yùn)行后無曲線生成實(shí)驗(yàn)理解錯(cuò)誤在實(shí)驗(yàn)二的基礎(chǔ)上完成 實(shí)驗(yàn)三,因此應(yīng)先將實(shí)驗(yàn) 二程序正確完成并寫入 整體程序中,再進(jìn)行實(shí)驗(yàn) 三程序的編寫和測試SBlocks()函數(shù)運(yùn)行錯(cuò)誤未對中間變量置零,導(dǎo) 致后面的區(qū)間賦值錯(cuò)誤對中
13、間變量 s 置零Telegram()函數(shù)運(yùn)行錯(cuò) 誤未在函數(shù)開始前對 Telegram 進(jìn)行正確定義定義 Telegram 函數(shù)并定 義類型124 實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)在完成實(shí)驗(yàn)二的基礎(chǔ)上進(jìn)行, 由于完成實(shí)驗(yàn)二時(shí)對實(shí)驗(yàn)環(huán)境及程序 編寫都有了較為深入的了解, 因此完成實(shí)驗(yàn)三的過程中難度相對較小, 只需增加 程序?qū)?yīng)答器中相關(guān)信息進(jìn)行讀取, 數(shù)據(jù)處理后輸出到實(shí)驗(yàn)二已完成的程序中即 可。雖然實(shí)驗(yàn)過程中沒有遇到很大的困難,但實(shí)驗(yàn)過程還是讓我們有很大收獲, 首先是對地面設(shè)備有了更多的了解,熟悉了應(yīng)答器的工作方式及ETCS語言,并能通過程序的編寫對其進(jìn)行運(yùn)用。綜合實(shí)驗(yàn)二與實(shí)驗(yàn)三, 很多函數(shù)是系統(tǒng)中已有的, 自己
14、編寫時(shí)直接調(diào)用即可, 需要我們完成的程序部分也大部分參考了以前的程序, 在讀懂程序的基礎(chǔ)上, 還 應(yīng)該自己思考程序的優(yōu)化與完善, 而不僅局限于看懂已有的程序, 這是在今后的 學(xué)習(xí)過程中需要提升的。附 源代碼Public Function BaliseBitToByte(Telegram() As Byte, ByRef sBlocks() AsSingle, ByRef sLineAllowSpeed() As Single)'code here beginDim NID_PACKET1 As LongDim NID_PACKET2 As LongDim L_PACKET1 As Lo
15、ngDim Q_SCALE As LongDim NID_SIGNAL As LongDim L_SECTION1 As LongDim L_SECTION As LongDim N_ITER As LongDim D_STATIC As LongDim V_STATIC As LongDim VarBitNum As ByteDim TotoalBitBeforeVar As IntegerDim offset As SingleDim B As SingleDim i As SingleDim r As SingleDim s As Single offset = 50VarBitNum
16、= 8TotoalBitBeforeVar = offsetNID_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)VarBitNum = 13TotoalBitBeforeVar = offset + 10L_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)If NID_PACKET1 = 27 Then sLineAllowSpeed(0, 0) = 0VarBitNum = 15TotoalBitBeforeVar =
17、 offset + 25D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)VarBitNum = 7TotoalBitBeforeVar = offset + 40V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)VarBitNum = 5TotoalBitBeforeVar = offset + 53N_ITER = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Teleg
18、ram) If N_ITER = 1 ThenVarBitNum = 15 TotoalBitBeforeVar = offset + 58D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)VarBitNum = 7 TotoalBitBeforeVar = offset + 73V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)sLineAllowSpeed(1, 0) = D_STATIC sLineAllowSpeed
19、(0, 1) = V_STATIC * 5 End IfIf N_ITER = 2 Then sLineAllowSpeed(0,1)=V_STATIC*5VarBitNum = 15 TotoalBitBeforeVar = offset + 58D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)sLineAllowSpeed(1,0)=D_STATIC VarBitNum = 7TotoalBitBeforeVar = offset + 73 V_STATIC = ff.GetValueOfVar(Var
20、BitNum, TotoalBitBeforeVar, Telegram)sLineAllowSpeed(1, 1) = V_STATIC2 * 5 End IfEnd IfVarBitNum = 8TotoalBitBeforeVar = offset + L_PACKET1NID_PACKET2 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) If NID_PACKET = 44 ThenVarBitNum = 2 TotoalBitBeforeVar = offset + L_PACKET1 + 47Q_SCALE = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)If Q_SCALE = 0 ThenB = 0.1ElseIf Q_SCALE = 1 ThenB = 1ElseIf Q_SCALE = 2 ThenB = 10End IfVarBitNum = 4TotoalBitBeforeVar = offset + L_PACKET1 + 64NID_SIGNAL = ff.GetValueOfVar(VarBitNum,Telegram)VarBit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年地方特色調(diào)味品企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年可降解生物塑料建材行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年手機(jī)電池健康管理行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 一汽奔騰終身質(zhì)保合同范本
- 保姆用工雙方合同范例
- 出租車永久轉(zhuǎn)讓合同范例
- 勞務(wù)合同范本約束條款
- 農(nóng)村葡萄地租合同范本
- 農(nóng)家樂包吃住合同范本
- 交押金授權(quán)合同范例
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023版押品考試題庫必考點(diǎn)含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說明
- 2020年中秋國慶假日文化旅游市場安全生產(chǎn)檢查表
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設(shè))采礦權(quán)出讓收益評估報(bào)告
- 心有榜樣行有力量 -從冬奧冠軍徐夢桃身上感受青春奮斗初中主題班會(huì)
- GB/T 3860-1995文獻(xiàn)敘詞標(biāo)引規(guī)則
- 七年級英語下冊閱讀理解10篇
- 設(shè)計(jì)質(zhì)量、進(jìn)度保證措施
評論
0/150
提交評論