1、CTCS2级列控系统行车许可使用CTCS-2级列控系统行车许可使用班级自动化11042.1实验目的(1) 理解CTCS-2级列车运行控制系统地面设备工作原理。(2) 理解CTCS-2级列控系统车载设备使用MA的原理。(3) 掌握列控系统车载设备基本工作原理。(4) 初步具备解决列控系统实际工程问题的能力。2.1实验内容列车在装备CTCS-2级列控设备的线路上运行。但是,当前的仿真程序由于车载控车部分的程序不完善,会出现超速或冒进等危险。本实验要求实验人员:(1)补充完成CTCS-2级车载安全防护程序ATPprotection,使列车可安全地在该线路上运行(不超速、不冒进),并且能够完成以下典型
2、场景: 区间运行 正线接车 侧线接车 侧线大号码道岔接车 侧线引导接车(选做)(2)编写完成后,请利用仿真程序测试你的程序功能。2.3实验报告(1) 所编写程序ATPprotection的流程图。 (2) 为验证结果正确所设计的测试案例及测试结果,格式如下:测试案例测试程序的正线接车停车功能测试步骤1、设置初速度200km/h,加速运行;2、选择正线接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件。测试结果正线接车测试结果截图正线接车测试案例测试程序的18号道岔以下接车停车功能测试步骤1、设置初速度200km/h,加速运行;2、选择18号道岔以下接车进路类型,
3、直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件。测试结果18号道岔以下接车测试结果截图18号道岔以下接车测试案例测试程序的18号道岔以上接车停车功能测试步骤1、设置初速度200km/h,加速运行;2、选择18号道岔以下接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件。测试结果18号道岔以上接车测试结果截图18号道岔以上接车测试案例测试程序的侧线引导接车停车功能测试步骤1、设置初速度200km/h,加速运行;2、选择侧线引导接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件。测试结果侧线引导接车测试结果截图侧
4、线引导接车(3) 实验程序DimiAsIntegerDimkAsIntegerDimLAsSingleDimsAsSingleDimjAsIntegerDimTargetDistanceAsSingleDimTargetSpeedAsSingles=0L=0TargetDistance=0Fori=0To10s=s+Blocks(i)IfsCurrentPosThenForj=0ToiL=L+Blocks(j)NextExitForEndIfNextIfTrackSignal=L5ThenFork=(i+1)To(i+7)TargetDistance=TargetDistance+Blocks
5、(k)NextTargetDistance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=L4ThenFork=(i+1)To(i+6)TargetDistance=TargetDistance+Blocks(k)NextTargetDistance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance
6、,TargetSpeed)ElseIfTrackSignal=L3ThenFork=(i+1)To(i+5)TargetDistance=TargetDistance+Blocks(k)NextTargetDistance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=L2ThenFork=(i+1)To(i+4)TargetDistance=TargetDistance+Blocks(k)NextTargetDi
7、stance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=LThenFork=(i+1)To(i+3)TargetDistance=TargetDistance+Blocks(k)NextTargetDistance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)Els
8、eIfTrackSignal=LUThenFork=(i+1)To(i+2)TargetDistance=TargetDistance+Blocks(k)NextTargetDistance=TargetDistance+L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=UThenk=i+1TargetDistance=TargetDistance+Blocks(k)TargetDistance=TargetDistance+L-CurrentPo
9、sTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=U2ThenTargetDistance=L+Blocks(9)-CurrentPosTargetSpeed=45TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=UUThenTargetDistance=L-CurrentPosTargetSpeed=45TrainAllowSpeed=ff.CalcLimit(Targe
10、tDistance,TargetSpeed)ElseIfTrackSignal=U2SThenTargetDistance=L+Blocks(9)-CurrentPosTargetSpeed=80TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=UUSThenTargetDistance=L-CurrentPosTargetSpeed=80TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)ElseIfTrackSignal=HBThen
11、TrainAllowSpeed=40ElseIfTrackSignal=BThenTrainAllowSpeed=40ElseIfTrackSignal=HUThenTargetDistance=L-CurrentPosTargetSpeed=0TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)EndIfIfCurrentPosLineAllowSpeed(0,1)ThenTrainAllowSpeed=LineAllowSpeed(0,1)EndIfElseIfCurrentPos=LineAllowSpeed(2,0)ThenI
12、fTrainAllowSpeedLineAllowSpeed(2,1)ThenTrainAllowSpeed=LineAllowSpeed(2,1)EndIfElseIfTrainAllowSpeedLineAllowSpeed(1,1)ThenTrainAllowSpeed=LineAllowSpeed(1,1)EndIfEndIfIfCurrentSpeedTrainAllowSpeedThenBrakeFlag=TrueElseBrakeFlag=FalseEndIf(4) 总结实验调试过程中出现的问题,形成调试记录,格式如下:问题现象描述问题原因解决方法1.需要较多的if判断语句,有时
13、甚至需要较多的判断嵌套2.目标距离的计算3.For循环的编写4.目标速度的计算1.接车情况分为多种,每种情况的轨道序列码都不一样;每种轨道序列码的限速信息不一样;D1、D2、D3三段轨道的限速信息不一样;根据列车现行速度和每一点的允许速度,最终输出制动和缓解制动的情况不一致。2.对每种轨道序列码前方允许的空闲闭塞分区不一样;每段轨道长度不一样;列车目前所在的轨道区段需要确定;3.由于每种轨道序列码所预示的前方闭塞分区的数目不一样,列车在不同时刻所在轨道区段不同,所以求取目标距离时for循环的控制次数不一样4.每种轨道序列码所限定的目标速度不一致,再加上每段的限制速度,所以情况复杂1.对每种接车
14、情况所用的轨道序列码分类列举,不重不漏;用if多重嵌套判断语句将每种限速信息准确的叠加到TainAllowSpeed2.根据CurrentPos先确定目前列车所在轨道区段;根据接收到的轨道电路码确定前方空闲闭塞分区数目,并计算空闲闭塞分区的总长度;计算从运行开始区段到目前所在区断的总距离,用上述两者之和减去CurrentPos即可。3.根据接收到的轨道序列码的不同,用if语句分条件求取,并新设变量控制循环次数;每次调用ATPprotection函数时先用for循环判断列车当前所在区段。4.先用if语句将每种轨道序列码所要求的限速分类作为目标速度,调用函数算出当前允许速度,再用if语句加上每段的
15、速度限制(5) 实验感想总结。这次实验总体来说难度较大,虽然实验原理我们课上都有学习,但是要将其真正用软件表现出来还是很困难。首先我们也是第一次用到Excel表格的宏编程,这在以前是没有接触到的。但是有了其他编程语言的基础,上手起来还是可以的。紧接着,就需要把具体的列控系统行车许可用代码的形式表示出来。实验指导书中的介绍很全面,我们也是将其总结与整合,先画出其流程图,分析其中的规律,然后就着手写代码了。这次我们编写可以说是很成功,基本没出现什么大的问题,这也是基于我们在写每一行代码都非常认真的态度。最后,我们的软件就可以完美完成了任务。这次试验让我对自己的专业有了更加直观的认识,也对自己的专业知识有了更加深刻的理解
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1