列车运行控制系统实验二实验报告.docx

上传人:b****1 文档编号:530093 上传时间:2022-10-10 格式:DOCX 页数:16 大小:922.93KB
下载 相关 举报
列车运行控制系统实验二实验报告.docx_第1页
第1页 / 共16页
列车运行控制系统实验二实验报告.docx_第2页
第2页 / 共16页
列车运行控制系统实验二实验报告.docx_第3页
第3页 / 共16页
列车运行控制系统实验二实验报告.docx_第4页
第4页 / 共16页
列车运行控制系统实验二实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

列车运行控制系统实验二实验报告.docx

《列车运行控制系统实验二实验报告.docx》由会员分享,可在线阅读,更多相关《列车运行控制系统实验二实验报告.docx(16页珍藏版)》请在冰豆网上搜索。

列车运行控制系统实验二实验报告.docx

列车运行控制系统实验二实验报告

 

列车运行控制

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

学院:

电子信息工程学院

班级:

自动化1301

成员:

1实验目标

1.1实验整体目标

理解CTCS-2级列车运行控制系统地面设备工作原理及车载设备MA的使用原理;掌握列控系统车载设备基本工作原理;初步具备解决列控系统实际工程问题的能力。

学会使用excel仿真环境对列车运行状况进行模拟和分析,初步了解VB编程,并能通过程序对列车运行进行超速防护。

1.2实验具体目标

1.2.1正线接车

排列正线接车进路,终点为出站信号机,覆盖正线股道,列车即将进入正线,停在出站信号机之前。

其轨道电路码序及模式曲线如下图:

1.2.218号以下道岔接车

排列侧线接车进路,且接车进路上最小道岔为18号以下道岔时,覆盖侧线股道,列车即将进入侧线,终点为出站信号机。

当列车行至接近区段时,显示UU码,列车通过码序得知即将进入侧线,并且道岔要求限速为40km/h,以此为目标速度控制列车运行,并且在通过道岔后,根据实际进路长度计算至进路终点的限速曲线,控制列车运行。

其轨道电路码序及模式曲线如图:

1.2.318号以上道岔接车

排列侧线接车进路,且接车进路上最小道岔为18号的大号码道岔时,与侧线18号以下道岔接车类似,区别为:

接近区段发UUS码,道岔要求限速为80km/h。

其轨道电路码序及模式运行曲线如图:

1.2.4侧线引导接车

排列侧线引导接车进路,接近区段发HB码,车载设备进入引导模式,此时限速40km/h,因此车载设备需将允许速度立即设置为模式限速,且维持到通过咽喉区的无码,列车进入股道后,再根据行车许可终点计算模式曲线,控制列车运行。

其轨道电路码序及模式曲线如图:

2实验过程

2.1原理分析

2.1.1CTCS-2级列控系统行车许可生成原理

CTCS-2级列控系统是基于轨道电路和应答器传输列车行车许可信息,采用目标距离模式曲线监控列车安全运行的列控系统。

CTCS-2级列控系统地面设备中,轨道电路通过发送18个低频信息,连续向车载设备发送列车前方空闲闭塞分区数量信息以及列车接近的车站信号机开放经道岔侧向位置进路信息。

应答器进行闭塞分区长度信息和限速信息的传输。

当列控车载设备接收到地面设备信息后,对列车许可相关信息综合使用,生成目标—距离模式曲线控制所需要的信息。

2.1.2车载设备超速防护功能工作原理

车载设备基本工作流程如下图所示:

 

其中,超速防护功能部分可进行具体展开,基本工作流程如下:

2.2仿真环境

本实验的仿真在excel中完成,为了简化起见,将列车运行的线路设定为:

该线路共由11个闭塞分区构成,线路上列车只会经过两个应答器组,固定应答器组BG1和进站口的有源应答器组BG2,当列车经过应答器组的时候,会收到它们提供的信息:

(BG1:

提供固定的各闭塞分区长度和线路限速;BG2:

提供列车进路长度和进路处的线路限速)

具体仿真环境结构如下图所示:

2.3程序编写

2.3.1程序分析

若要实现列控车载设备的超速防护功能,控制程序主要分为以下几部分:

测速测距;读取列车当前所在区段的轨道电路码信息;读取应答器信息,获得轨道区段长度信息;生成行车许可,并判断是否需要制动或缓解制动。

其中,前三部分已由现有的仿真环境完成,实验需完成最后生成行车许可部分的程序,即ATPprotection()。

根据车载超速防护功能的原理,可得实现需完成的程序ATPprotection()部分需要各模块提供的闭塞分区长度、线路限速、轨道电路码、当前速度和当前位置的信息输入等信息。

2.3.2程序框图

2.3.3程序代码

(注:

由于源代码较长,本部分只对部分代码进行注释说明,源代码请查看附录。

Fori=0To10

s=s+Blocks(i)

Ifs>CurrentPosThen

Forj=0Toi

L=L+Blocks(j)

Next

ExitFor

EndIf

Next

//L为走行距离

IfTrackSignal="L5"Then//L5表示收到的码序,其他程序模块类似

Fork=(i+1)To(i+7)

TargetDistance=TargetDistance+Blocks(k)

Next

TargetDistance=TargetDistance+L–CurrentPos//得到目标距离

TargetSpeed=0//得到目标速度

TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)//得到曲线限速

IfCurrentPos<=LineAllowSpeed(1,0)Then

IfTrainAllowSpeed>LineAllowSpeed(0,1)Then

TrainAllowSpeed=LineAllowSpeed(0,1)

EndIf

ElseIfCurrentPos>=LineAllowSpeed(2,0)Then

IfTrainAllowSpeed>LineAllowSpeed(2,1)Then

TrainAllowSpeed=LineAllowSpeed(2,1)

EndIf

Else

IfTrainAllowSpeed>LineAllowSpeed(1,1)Then

TrainAllowSpeed=LineAllowSpeed(1,1)

EndIf

EndIf

//通过比较得到最终限速

IfCurrentSpeed>TrainAllowSpeedThen

BrakeFlag=True

Else

BrakeFlag=False//判断是否进行制动

EndIf

p=p+1

student.Cells(p,1)=CurrentPos//记录数据

3实验结果分析

实验结果记录表

测试案例

正线接车停车

测试步骤

a.设置初速度200km/h,加速运行;

b.选择正线接车进路类型,直到列车停车;

c.观察所计算的允许速度曲线是否正确;

d.查看记录文件。

测试结果

正线接车

测试结果截图

 

实验结果记录表

测试案例

18号道岔以下接车停车功能

测试步骤

a.设置初速度200km/h,加速运行;

b.选择18号道岔一下侧线接车进路类型,直到列车停车;

c.观察所计算的允许速度曲线是否正确;

d.查看记录文件。

测试结果

18号道岔以下接车

测试结果截图

实验结果记录表

测试案例

18号道岔以上接车停车功能

测试步骤

a.设置初速度200km/h,加速运行;

b.选择18号道岔以上侧线接车进路类型,直到列车停车;

c.观察所计算的允许速度曲线是否正确;

d.查看记录文件。

测试结果

18号道岔以上接车停车功能

测试结果截图

 

实验结果记录表

测试案例

侧线引导接车停车功能

测试步骤

a.设置初速度200km/h,加速运行;

b.选择侧线引导接车进路类型,直到列车停车;

c.观察所计算的允许速度曲线是否正确;

d.查看记录文件。

测试结果

侧线引导接车停车功能

测试结果截图

 

调试记录汇总表

问题描述

原因分析

解决方法

开始运行后没有图像

实验过程操作错误

本实验中为“自动解析”,不是“人工解析”

没有生成记录数据

程序中未对相应记录数据的变量进行定义

定义变量

4实验总结

本次实验过程中,课堂时间充裕,因此对于系统和程序都有了较为深入的了解。

在解决问题,确定整体思路过程中,不仅深入了解了CTCS-2级系统的行车许可原理,也对不同路线接车的码序,不同码序对应的速度更为熟悉。

同时,在编写程序的过程中,我和队友也体会到,问题的解决不仅要有正确清晰的思路,还要注意完善细节,尤其对于程序来说,任何细节的错误都可能导致结果的错误。

此外,本次实验过程中我们也意识到,扎实的理论基础是完成实验的必备条件。

在开展实验前,应先深入完整的学习相关的理论基础知识,就本次实验而言,应先弄清楚实验指导书中的内容,在进行实验,可以达到事半功倍的效果。

附ATPprotecting()源代码

DimpAsInteger

PublicFunctionATPProtection(Blocks()AsSingle,LineAllowSpeed()AsSingle,TrackSignalAsString,CurrentSpeedAsSingle,CurrentPosAsSingle)

'[codeherebegin]

DimiAsInteger

DimkAsInteger

DimLAsSingle

DimsAsSingle

DimjAsInteger

DimTargetDistanceAsSingle

DimTargetSpeedAsSingle

s=0

L=0

TargetDistance=0

Fori=0To10

s=s+Blocks(i)

Ifs>CurrentPosThen

Forj=0Toi

L=L+Blocks(j)

Next

ExitFor

EndIf

Next

IfTrackSignal="L5"Then

Fork=(i+1)To(i+7)

TargetDistance=TargetDistance+Blocks(k)

Next

TargetDistance=TargetDistance+L-CurrentPos

TargetSpeed=0

TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)

ElseIfTrackSignal="L4"Then

Fork=(i+1)To(i+6)

TargetDistance=TargetDistance+Blocks(k)

Next

TargetDistance=TargetDistance+L-CurrentPos

TargetSpeed=0

TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)

ElseIfTrackSignal="L3"Then

Fork=(i+1)To(i+5)

TargetDistance=TargetDistance+Blocks(k)

Next

TargetDistance=TargetDistance+L-CurrentPos

TargetSpeed=0

TrainAllowSpeed=ff.CalcLimit(TargetDistance,TargetSpeed)

ElseIfTrackSignal="L2"Then

Fork=(i+1)To(i+4)

TargetDistance

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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