应答器报文组帧实验报告.doc_第1页
应答器报文组帧实验报告.doc_第2页
应答器报文组帧实验报告.doc_第3页
应答器报文组帧实验报告.doc_第4页
应答器报文组帧实验报告.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

列车运行控制系统实验报告应答器报文组帧一、实验目的1.理解应答器报文结构和填写方式。2.完成应答器报文的解码,并理解应答器报文的应用方式。3.理解 ETCS 语言的应用。二、编写程序报文解析的流程框图三、实验程序Dim i As SingleDim j As SingleDim s As LongDim k As LongDim NID_SIGNAL1(100) As SingleDim L_SECTION1(100) As SingleDim NID_SIGNAL As SingleDim L_SECTION As SingleDim D_STATIC As LongDim V_STATIC As LongDim N_ITER As LongDim Q_SCALE As LongDim NID_PACKET As LongDim L_PACKET As Long定义变量L_PACKET = ff.GetValueOfVar(13, 60, Telegram)读取L_PACKET中的数据 NID_PACKET = ff.GetValueOfVar(8, 50, Telegram)读取NID_PACKET中的数据 If NID_PACKET = 27 Then判断是否读取线路信息包ETCS-27中的数据sLineAllowSpeed(0, 0) = 0 D_STATIC = ff.GetValueOfVar(15, 75, Telegram)读取应答器中速度信息起始点距离 V_STATIC = ff.GetValueOfVar(7, 90, Telegram)读取应答器中最大允许列车速度 N_ITER = ff.GetValueOfVar(5, 103, Telegram)速度变化点数量 If N_ITER = 1 Then变化点数量为1时 D_STATIC = ff.GetValueOfVar(15, 108, Telegram)sLineAllowSpeed(0, 1) = V_STATIC * 5sLineAllowSpeed(1, 0) = D_STATIC End If If N_ITER = 2 Then变化点数量为2时sLineAllowSpeed(0, 1) = V_STATIC * 5 D_STATIC = ff.GetValueOfVar(15, 108, Telegram)sLineAllowSpeed(1, 0) = D_STATIC V_STATIC = ff.GetValueOfVar(7, 123, Telegram)sLineAllowSpeed(1, 1) = V_STATIC * 5 End If End If NID_PACKET = ff.GetValueOfVar(8, 50 + L_PACKET, Telegram) If NID_PACKET = 44 Then判断是否读取线路信息包ETCS-44中的数据 j = 0 Q_SCALE = ff.GetValueOfVar(2, 97 + L_PACKET, Telegram)判断分辨率 If Q_SCALE = 0 Then k = 0.1 End If If Q_SCALE = 1 Then k = 1 End If If Q_SCALE = 2 Then k = 10 End If NID_SIGNAL = ff.GetValueOfVar(4, 114 + L_PACKET, Telegram)读取NID_SIGNAL数据 L_SECTION = ff.GetValueOfVar(15, 123 + L_PACKET, Telegram) s = L_SECTION N_ITER = ff.GetValueOfVar(5, 138 + L_PACKET, Telegram) For i = 1 To N_ITER NID_SIGNAL1(i) = ff.GetValueOfVar(4, 143 + (i - 1) * 24 + L_PACKET, Telegram) L_SECTION1(i) = ff.GetValueOfVar(15, 152 + (i - 1) * 24 + L_PACKET, Telegram) s = s + L_SECTION1(i) If NID_SIGNAL1(i) = 0 Then判断是否有信号机sBlocks(j) = s * k有信号机则确定闭塞区间长度 s = 0中间变量置零 j = j + 1 End If Next End If四、结果验证测试案例测试实验3程序在人工解码下的正线接车功能测试步骤1、 设置初速度200km/h,加速运行;2、 选择正线接车进路类型,直到列车停车;3、 观察所计算的允许速度曲线是否正确;4、 查看记录文件;测试结果列车通过信号机在正线停车测试结果截图测试案例测试实验3程序在人工解码下的18号道岔以下侧线接车功能测试步骤1、设置初速度200km/h,加速运行;2、选择18号码道岔以下侧线接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件;测试结果列车进入18号以下道岔到侧线停车测试结果截图测试案例测试实验3程序在人工解码下的18号道岔以上侧线接车功能测试步骤1、设置初速度200km/h,加速运行;2、选择18号码道岔以上侧线接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件;测试结果列车进入18号以上道岔到侧线停车测试结果截图测试案例测试实验3程序在人工解码下的侧线引导接车功能测试步骤1、设置初速度200km/h,加速运行;2、选择侧线引导接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件;测试结果列车通过进站信号机引导入侧线接车测试结果截图五、实验中所遇到的问题问题现象描述问题原因解决方法SBlocks()中的数据读取错误程序中对每次对闭塞区间SBlocks(i)赋完值之后没有对s置零,所以导致了之后的闭塞区间赋值错误在对SBlocks(i)的for循环中对SBlocks(i)赋完值之后对中间变量s赋值。调试程序正常,但是无法正常显示限速曲线,图为一条蓝色曲线,直接降速降到0操作问题,代码编写完毕后回到excel界面直接就点击了人工解析。代码编写完毕后回到excel界面先点自动解析,确认,开始运行,再点击人工解析,并设置合适的初速度点击确认,开始运行。六、实验总结通过本次实验,使我更加深刻的理解了应答器原始报文的组成格式。了解了如何解析报文中相应编码段的信息。实验三的难度感觉较大,通过仔细看实验指导书和小组成员一起讨论,逐渐慢慢懂了实验的意思,要我们做什么,在纸上写出了应答器所有变量在报文中的位置以及它们所占的位数,为GetValueOfVar函数读取相关信息做了准备。BaliseBitByte()函数,输入为应答器原始报文Telegram,存储完整的一组应答器组报文,共104字节。输出:闭塞分区长度信息sBlock和线路限速sLineAllowSpeed。longGetValueOfVar(VarBitNum,TotoalBitBeforeVar,Telegram)中VarBitNum为所占位数;TotoalBitBeforeVar为所求变量前的bit数;Telegram为应答器原始报文。实验的最终目的就是想要我们根据报文,解析出闭塞分区长度和线路限速,同时这也是老师问我们的问题,还有一些变量的意思如N_ITER、D_STATIC和V_STATIC

温馨提示

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

评论

0/150

提交评论