搜档网
当前位置:搜档网 › CTCS-2级列控系统行车许可使用

CTCS-2级列控系统行车许可使用

CTCS-2级列控系统行车许可使用
CTCS-2级列控系统行车许可使用

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表格的宏编程,这在以前是没有接触到的。但是有了其他编程语言的基础,上手起来还是可以的。紧接着,就需要把具体的列控系统行车许可用代码的形式表示出来。实验指导书中的介绍很全面,我们也是将其总结与整合,先画出其流程图,分析其中的规律,然后就着手写代码了。这次我们编写可以说是

很成功,基本没出现什么大的问题,这也是基于我们在写每一行代码都非常认真的态度。最后,我们的软件就可以完美完成了任务。这次试验让我对自己的专业有了更加直观的认识,也对自己的专业知识有了更加深刻的理解,在以后的学习试验过程中,一定要对自己的专业知识有更深刻的理解,这样才可以在思考的过程中游刃有余。虽然实验过程中遇到了很多困难,但是通过我们的不断努力,都完美的解决了,这对于我们的能力是一种提高。

相关主题