ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:570.22KB ,
资源ID:7844039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7844039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CTCS2级列控系统行车许可使用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CTCS2级列控系统行车许可使用.docx

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、设置初速度

3、200km/h,加速运行; 2、选择18号道岔以下接车进路类型,直到列车停车; 3、观察所计算的允许速度曲线是否正确; 4、查看记录文件。 测试结果 18号道岔以下接车测试结果截图18号道岔以下接车测试案例 测试程序的18号道岔以上接车停车功能 测试步骤 1、设置初速度 200km/h,加速运行; 2、选择18号道岔以下接车进路类型,直到列车停车; 3、观察所计算的允许速度曲线是否正确; 4、查看记录文件。 测试结果 18号道岔以上接车测试结果截图18号道岔以上接车测试案例 测试程序的侧线引导接车停车功能 测试步骤 1、设置初速度 200km/h,加速运行; 2、选择侧线引导接车进路类型,直到

4、列车停车; 3、观察所计算的允许速度曲线是否正确; 4、查看记录文件。 测试结果 侧线引导接车测试结果截图侧线引导接车(3) 实验程序Dim i As IntegerDim k As IntegerDim L As SingleDim s As SingleDim j As IntegerDim TargetDistance As SingleDim TargetSpeed As Singles = 0L = 0TargetDistance = 0For i = 0 To 10 s = s + Blocks(i) If s CurrentPos Then For j = 0 To i L =

5、L + Blocks(j) Next Exit For End IfNextIf TrackSignal = L5 Then For k = (i + 1) To (i + 7) TargetDistance = TargetDistance + Blocks(k) NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = L4 Then For k = (i

6、+ 1) To (i + 6) TargetDistance = TargetDistance + Blocks(k) NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = L3 Then For k = (i + 1) To (i + 5) TargetDistance = TargetDistance + Blocks(k) NextTargetDist

7、ance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = L2 Then For k = (i + 1) To (i + 4) TargetDistance = TargetDistance + Blocks(k) NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.

8、CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = L Then For k = (i + 1) To (i + 3) TargetDistance = TargetDistance + Blocks(k) NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = LU Then For k =

9、(i + 1) To (i + 2) TargetDistance = TargetDistance + Blocks(k) NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = U Then k = i + 1 TargetDistance = TargetDistance + Blocks(k) TargetDistance = TargetDistan

10、ce + L - CurrentPos TargetSpeed = 0 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = U2 Then TargetDistance = L + Blocks(9) - CurrentPos TargetSpeed = 45 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = UU Then TargetDistance = L - Curren

11、tPos TargetSpeed = 45 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = U2S Then TargetDistance = L + Blocks(9) - CurrentPos TargetSpeed = 80 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = UUS Then TargetDistance = L - CurrentPos TargetS

12、peed = 80 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = HB Then TrainAllowSpeed = 40ElseIf TrackSignal = B Then TrainAllowSpeed = 40ElseIf TrackSignal = HU Then TargetDistance = L - CurrentPos TargetSpeed = 0 TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpee

13、d)End IfIf CurrentPos LineAllowSpeed(0, 1) Then TrainAllowSpeed = LineAllowSpeed(0, 1) End IfElseIf CurrentPos = LineAllowSpeed(2, 0) Then If TrainAllowSpeed LineAllowSpeed(2, 1) Then TrainAllowSpeed = LineAllowSpeed(2, 1) End IfElse If TrainAllowSpeed LineAllowSpeed(1, 1) Then TrainAllowSpeed = Lin

14、eAllowSpeed(1, 1) End IfEnd IfIf CurrentSpeed TrainAllowSpeed Then BrakeFlag = TrueElse BrakeFlag = FalseEnd If(4) 总结实验调试过程中出现的问题,形成调试记录,格式如下:问题现象描述问题原因解决方法1.需要较多的if判断语句,有时甚至需要较多的判断嵌套2.目标距离的计算3.For循环的编写4.目标速度的计算1.接车情况分为多种,每种情况的轨道序列码都不一样;每种轨道序列码的限速信息不一样;D1、D2、D3三段轨道的限速信息不一样;根据列车现行速度和每一点的允许速度,最终输出制动和缓

15、解制动的情况不一致。2.对每种轨道序列码前方允许的空闲闭塞分区不一样;每段轨道长度不一样;列车目前所在的轨道区段需要确定;3.由于每种轨道序列码所预示的前方闭塞分区的数目不一样,列车在不同时刻所在轨道区段不同,所以求取目标距离时for循环的控制次数不一样4.每种轨道序列码所限定的目标速度不一致,再加上每段的限制速度,所以情况复杂1.对每种接车情况所用的轨道序列码分类列举,不重不漏;用if多重嵌套判断语句将每种限速信息准确的叠加到TainAllowSpeed2.根据CurrentPos先确定目前列车所在轨道区段;根据接收到的轨道电路码确定前方空闲闭塞分区数目,并计算空闲闭塞分区的总长度;计算从运

16、行开始区段到目前所在区断的总距离,用上述两者之和减去CurrentPos即可。3.根据接收到的轨道序列码的不同,用if语句分条件求取,并新设变量控制循环次数;每次调用 ATPprotection函数时先用for循环判断列车当前所在区段。4.先用if语句将每种轨道序列码所要求的限速分类作为目标速度,调用函数算出当前允许速度,再用if语句加上每段的速度限制(5) 实验感想总结。这次实验总体来说难度较大 ,虽然实验原理我们课上都有学习,但是要将其真正用软件表现出来还是很困难。首先我们也是第一次用到Excel表格的宏编程,这在以前是没有接触到的。但是有了其他编程语言的基础,上手起来还是可以的。紧接着,就需要把具体的列控系统行车许可用代码的形式表示出来。实验指导书中的介绍很全面,我们也是将其总结与整合,先画出其流程图,分析其中的规律,然后就着手写代码了。这次我们编写可以说是很成功,基本没出现什么大的问题,这也是基于我们在写每一行代码都非常认真的态度。最后,我们的软件就可以完美完成了任务。这次试验让我对自己的专业有了更加直观的认识,也对自己的专业知识有了更加深刻的理解,在以后的学习试验过程中,一定要对自己的专业知识有更深刻的理解,这样才可以在思考的过程中游刃有余。虽然实验过程中遇到了很多困难,但是通过我们的不断努力,都完美的解决了,这对于我们的能力是一种提高。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1