列车运行控制实验三实验报告_第1页
列车运行控制实验三实验报告_第2页
列车运行控制实验三实验报告_第3页
列车运行控制实验三实验报告_第4页
列车运行控制实验三实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.wd.wd11/11.wd列车运行控制应答器报文组帧实验报告学院:电子信息工程学院班级:自动化1301成员:目录 TOC o 1-3 h z u HYPERLINK l _Toc450561388 1 实验目标 PAGEREF _Toc450561388 h 3 HYPERLINK l _Toc450561389 1.1 实验整体目标 PAGEREF _Toc450561389 h 3 HYPERLINK l _Toc450561390 1.2 实验具体目标 PAGEREF _Toc450561390 h 3 HYPERLINK l _Toc450561391 2 实验过程 PAGEREF

2、_Toc450561391 h 3 HYPERLINK l _Toc450561392 2.1 原理分析 PAGEREF _Toc450561392 h 3 HYPERLINK l _Toc450561393 2.1.1 应答器报文构造原理 PAGEREF _Toc450561393 h 3 HYPERLINK l _Toc450561394 2.1.2 线路参数相关的应答器信息包定义 PAGEREF _Toc450561394 h 4 HYPERLINK l _Toc450561395 2.2 仿真环境 PAGEREF _Toc450561395 h 4 HYPERLINK l _Toc45

3、0561396 2.3 程序编写 PAGEREF _Toc450561396 h 5 HYPERLINK l _Toc450561397 2.3.1 程序分析 PAGEREF _Toc450561397 h 5 HYPERLINK l _Toc450561398 2.3.2 程序框图 PAGEREF _Toc450561398 h 6 HYPERLINK l _Toc450561399 2.3.3 程序代码 PAGEREF _Toc450561399 h 6 HYPERLINK l _Toc450561400 3 实验结果分析 PAGEREF _Toc450561400 h 7 HYPERLI

4、NK l _Toc450561401 4 实验总结 PAGEREF _Toc450561401 h 12 HYPERLINK l _Toc450561402 附源代码 PAGEREF _Toc450561402 h 131实验目标1.1 实验整体目标理解应答器报文构造和填写方式;完成应答器报文的解码,并理解应答器报文的应用方式;理解ETCS语言的应用。1.2 实验具体目标在完成实验二的根基上,填写应答器信息解码程序。能够将闭塞分区长度和线路限速信息解码出来,填入速度防护程序所需的输入变量中,并通过Excel中列车的运行情况判定程序是否正常实现了相应的功能。该局部仍为正线接车、18号以下道岔侧线

5、接车、18号以上道岔侧线接车和引导接车四种情况,其具体码序与实验二一样,此处不再罗列。2实验过程2.1 原理分析2.1.1 应答器报文构造原理应答器设于各车站进站信号机、出站信号机、区间闭塞分区入口以及电分相区前方、列控系统级间切换点前方、大型桥隧前方等特殊地点,向列控车载设备传输定位信息、线路参数、临时限速等信息。每经过一个应答器组,车载设备会收到一个完整的、固定长度的报文帧104字节,其中包含发送线路信息的用户信息包,由于报文以ETCS语言的方式传输,因此接收到的报文是以ETCS语言进展编码后的二进制数据。控车程序对应答器报文按照规定的格式进展解析和处理,才能获得可用的数据。ETCS语言组

6、成关系如下:2.1.2线路参数相关的应答器信息包定义当列车在线路上正常运行时,接收应答器信息,从而获得轨道区段长度、线路限速等信息,在本实验中,解码的是提供线路限速的线路速度信息包【ETCS-27】和提供闭塞分区长度的轨道区段信息包【CTCS-1】。【ETCS-27】包中针对速度变化点描述定义情况可用以下列图表示:信息包的其他具体构造和变量情况等信息在实验过程中可具体参考实验指导书。2.1.3 整体函数变量情况BaliseBitToByte()函数中,其输入变量和输出变量为:2.2 仿真环境本实验的仿真仍在excel中完成,与实验二列车运行的线路一样。不同的是本次实验中线路上正常铺设区间、进站

7、等应答器组,当列车经过应答器组时,接收它们提供的信息。具体仿真环境构造如以下列图所示:2.3 程序编写2.3.1 程序分析本实验需要编写的仿真程序,即为实验二中控制程序大致流程中应答器信息读取局部,解析应答器报文,并提取出有用的信息计算该应答器组中存储的闭塞分区长度和线路限速,输出给仿真环境,由仿真环境进展数据的进一步转换,变为ATPprotection()程序的输入,完成线路数据的使用,正确完成超速防护的功能。2.3.2 程序框图2.3.3 程序代码注:本局部只列出关键局部,完整代码请查看附录实现变量由bit到字节转换,将线路允许速度填充到sLineAllowSpeed数组中offset =

8、 50 VarBitNum = 8 TotoalBitBeforeVar = offsetNID_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/读取NID_PACKET1中的信息 VarBitNum = 13 TotoalBitBeforeVar = offset + 10L_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/读取L_PACKET1中的信息If NID_PACKET1 = 27 Then/判断是否读取线路

9、信息包ETCS-27中的数据 sLineAllowSpeed(0, 0) = 0 VarBitNum = 15 TotoalBitBeforeVar = offset + 25 D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/读取应答器中速度信息起始点距离 VarBitNum = 7 TotoalBitBeforeVar = offset + 40 V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/读取应答器中最大允许

10、列车速度 VarBitNum = 5 TotoalBitBeforeVar = offset + 53 N_ITER = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/速度变化点数量 If N_ITER = 1 Then/变化点数量为1时 VarBitNum = 15 TotoalBitBeforeVar = offset + 58 D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) VarBitNum = 7 TotoalBitBefor

11、eVar = offset + 73 V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) sLineAllowSpeed(1, 0) = D_STATIC sLineAllowSpeed(0, 1) = V_STATIC * 5 End If 实现变量由bit到字节转换,将轨道电路合并为闭塞分区填充到sBlocks数组 If NID_PACKET = 44 Then/判断是否读取线路信息包CTCS-1中的数据 Q_SCALE = ff.GetValueOfVar(VarBitNum, TotoalBitBef

12、oreVar, Telegram) If Q_SCALE = 0 Then B = 0.1/获取轨道区段的长度分辨率信息NID_SIGNAL = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/获取信号灯情况VarBitNum = 15 TotoalBitBeforeVar = offset + L_PACKET1 + 73L_SECTION1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram)/读取轨道区段信息 If NID_SIGNAL = 0 Then/

13、判断是否有信号机 sBlocks(r) = s * B/有信号机那么确定闭塞分区区间长度 s=0/中间变量置零 r = r + 1 End If Next End If3实验结果分析实验结果记录表测试案例正线接车停车测试步骤a.设置初速度 200km/h,加速运行; b.选择正线接车进路类型,直到列车停车; c.观察所计算的允许速度曲线是否正确; d.查看记录文件。测试结果正线接车测试结果截图实验结果记录表测试案例18号道岔以下接车停车功能测试步骤a.设置初速度 200km/h,加速运行; b.选择18号道岔一下侧线接车进路类型,直到列车停车; c.观察所计算的允许速度曲线是否正确; d.查看

14、记录文件。测试结果18号道岔以下接车测试结果截图实验结果记录表测试案例18号道岔以上接车停车功能测试步骤a.设置初速度 200km/h,加速运行; b.选择18号道岔以上侧线接车进路类型,直到列车停车; c.观察所计算的允许速度曲线是否正确; d.查看记录文件。测试结果18号道岔以上接车停车功能测试结果截图实验结果记录表测试案例侧线引导接车停车功能测试步骤a.设置初速度 200km/h,加速运行; b.选择侧线引导接车进路类型,直到列车停车; c.观察所计算的允许速度曲线是否正确; d.查看记录文件。测试结果侧线引导接车停车功能测试结果截图调试记录汇总表问题描述原因分析解决方法开场运行后图像与

15、实验二完全一致实验过程操作错误本实验中为“人工解析开场运行后无曲线生成实验理解错误在实验二的根基上完成实验三,因此应先将实验二程序正确完成并写入整体程序中,再进展实验三程序的编写和测试SBlocks函数运行错误未对中间变量置零,导致后面的区间赋值错误对中间变量s置零Telegram函数运行错误未在函数开场前对Telegram进展正确定义定义Telegram函数并定义类型4实验总结本次实验在完成实验二的根基上进展,由于完成实验二时对实验环境及程序编写都有了较为深入的了解,因此完成实验三的过程中难度相对较小,只需增加程序对应答器中相关信息进展读取,数据处理后输出到实验二已完成的程序中即可。虽然实验

16、过程中没有遇到很大的困难,但实验过程还是让我们有很大收获,首先是对地面设备有了更多的了解,熟悉了应答器的工作方式及ETCS语言,并能通过程序的编写对其进展运用。综合实验二与实验三,很多函数是系统中已有的,自己编写时直接调用即可,需要我们完成的程序局部也大局部参考了以前的程序,在读懂程序的根基上,还应该自己思考程序的优化与完善,而不仅局限于看懂已有的程序,这是在今后的学习过程中需要提升的。附 源代码Public Function BaliseBitToByte(Telegram() As Byte, ByRef sBlocks() As Single, ByRef sLineAllowSpeed

17、() As Single)code here beginDim NID_PACKET1 As LongDim NID_PACKET2 As LongDim L_PACKET1 As LongDim 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 offse

18、t As SingleDim B As SingleDim i As SingleDim r As SingleDim s As Singleoffset = 50 VarBitNum = 8 TotoalBitBeforeVar = offsetNID_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) VarBitNum = 13 TotoalBitBeforeVar = offset + 10L_PACKET1 = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVa

19、r, Telegram)If NID_PACKET1 = 27 Then sLineAllowSpeed(0, 0) = 0 VarBitNum = 15 TotoalBitBeforeVar = offset + 25 D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) VarBitNum = 7 TotoalBitBeforeVar = offset + 40 V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) VarB

20、itNum = 5 TotoalBitBeforeVar = offset + 53 N_ITER = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) If N_ITER = 1 Then VarBitNum = 15 TotoalBitBeforeVar = offset + 58 D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) VarBitNum = 7 TotoalBitBeforeVar = offset + 73 V_STATI

21、C = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) sLineAllowSpeed(1, 0) = D_STATIC sLineAllowSpeed(0, 1) = V_STATIC * 5 End If If N_ITER = 2 Then sLineAllowSpeed(0,1)=V_STATIC*5 VarBitNum = 15 TotoalBitBeforeVar = offset + 58 D_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Tel

22、egram) sLineAllowSpeed(1,0)=D_STATIC VarBitNum = 7 TotoalBitBeforeVar = offset + 73 V_STATIC = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) sLineAllowSpeed(1, 1) = V_STATIC2 * 5 End IfEnd If VarBitNum = 8 TotoalBitBeforeVar = offset + L_PACKET1NID_PACKET2 = ff.GetValueOfVar(VarBitNum, T

23、otoalBitBeforeVar, Telegram) If NID_PACKET = 44 Then VarBitNum = 2 TotoalBitBeforeVar = offset + L_PACKET1 + 47 Q_SCALE = ff.GetValueOfVar(VarBitNum, TotoalBitBeforeVar, Telegram) If Q_SCALE = 0 Then B = 0.1 ElseIf Q_SCALE = 1 Then B = 1 ElseIf Q_SCALE = 2 Then B = 10 End If VarBitNum = 4 TotoalBitBeforeVar = offset + L_PACKET1 + 64

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论