CTCS-2级列控系统行车许可使用
班级自动化1104
2.1实验目的
(1)理解CTCS-2 级列车运行控制系统地面设备工作原理。
(2)理解CTCS-2 级列控系统车载设备使用MA 的原理。
(3)掌握列控系统车载设备基本工作原理。
(4)初步具备解决列控系统实际工程问题的能力。
2.1实验内容
列车在装备CTCS-2 级列控设备的线路上运行。但是,当前的仿真程序由于车载控车部分的程序不完善,会出现超速或冒进等危险。本实验要求实验人员:
(1)补充完成CTCS-2 级车载安全防护程序ATPprotection,使列车可安全地在该线路上运行(不超速、不冒进),并且能够完成以下典型场景:
●区间运行
●正线接车
●侧线接车
●侧线大号码道岔接车
●侧线引导接车(选做)
(2)编写完成后,请利用仿真程序测试你的程序功能。
2.3实验报告
(1)所编写程序ATPprotection 的流程图。
开始
(2)为验证结果正确所设计的测试案例及测试结果,格式如下:
结束
正线接车
18号道岔以下接车
18号道岔以上接车
侧线引导接车
(3)实验程序
Dim i As Integer
Dim k As Integer
Dim L As Single
Dim s As Single
Dim j As Integer
Dim TargetDistance As Single
Dim TargetSpeed As Single
s = 0
L = 0
TargetDistance = 0
For i = 0 T o 10
s = s + Blocks(i)
If s > CurrentPos Then
For j = 0 To i
L = L + Blocks(j)
Next
Exit For
End If
Next
If TrackSignal = "L5" Then
For k = (i + 1) To (i + 7)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L4" Then
For k = (i + 1) To (i + 6)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L3" Then
For k = (i + 1) To (i + 5)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L2" Then
For k = (i + 1) To (i + 4)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L" Then
For k = (i + 1) To (i + 3)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "LU" Then
For k = (i + 1) To (i + 2)
TargetDistance = TargetDistance + Blocks(k)
Next
TargetDistance = TargetDistance + L - CurrentPos TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "U" Then
k = i + 1
TargetDistance = TargetDistance + Blocks(k)
TargetDistance = TargetDistance + 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 - CurrentPos
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
TargetSpeed = 80
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "HB" Then
TrainAllowSpeed = 40
ElseIf TrackSignal = "B" Then
TrainAllowSpeed = 40
ElseIf TrackSignal = "HU" Then
TargetDistance = L - CurrentPos
TargetSpeed = 0
TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) End If
If CurrentPos <= LineAllowSpeed(1, 0) Then
If TrainAllowSpeed > LineAllowSpeed(0, 1) Then
TrainAllowSpeed = LineAllowSpeed(0, 1)
End If
ElseIf CurrentPos >= LineAllowSpeed(2, 0) Then
If TrainAllowSpeed > LineAllowSpeed(2, 1) Then
TrainAllowSpeed = LineAllowSpeed(2, 1)
End If
Else
If TrainAllowSpeed > LineAllowSpeed(1, 1) Then
TrainAllowSpeed = LineAllowSpeed(1, 1)
End If
End If
If CurrentSpeed > TrainAllowSpeed Then
BrakeFlag = True
Else
BrakeFlag = False
End If
(4)总结实验调试过程中出现的问题,形成调试记录,格式如下:
(5)实验感想总结。
这次实验总体来说难度较大,虽然实验原理我们课上都有学习,但是要将其真正用软件表现出来还是很困难。首先我们也是第一次用到Excel表格的宏编程,这在以前是没有接触到的。但是有了其他编程语言的基础,上手起来还是可以的。紧接着,就需要把具体的列控系统行车许可用代码的形式表示出来。实验指导书中的介绍很全面,我们也是将其总结与整合,先画出其流程图,分析其中的规律,然后就着手写代码了。这次我们编写可以说是
很成功,基本没出现什么大的问题,这也是基于我们在写每一行代码都非常认真的态度。最后,我们的软件就可以完美完成了任务。这次试验让我对自己的专业有了更加直观的认识,也对自己的专业知识有了更加深刻的理解,在以后的学习试验过程中,一定要对自己的专业知识有更深刻的理解,这样才可以在思考的过程中游刃有余。虽然实验过程中遇到了很多困难,但是通过我们的不断努力,都完美的解决了,这对于我们的能力是一种提高。