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

合集下载

列车运行控制实验报告

列车运行控制实验报告

实验一:绘制列车限制速度曲线一、实验内容二、问题分析根据题目要求画出全线的限速示意图如下:速度防护曲线应该是全线各个限制条件共同作用下的最低速度,所以应该分别绘制出400~500米的速度限制曲线,550~700米的速度限制曲线,1450米处停车的速度限制曲线,和全线的限速,最后在每一个距离点处取不同限速曲线速度点的最小值,最终形成的曲线就是速度防护曲线。

首先设计1450m处停车的速度限制曲线,列车在制动过程中,近似做初速度为当前速度,末速度为0的匀减速直线运动,减速度为1.7m/s/s,根据牛顿运动学公式:但是,当车载设备输出制动命令时列牵引切断和力真正达到100% 需要一定时间,称为制动延。

因此,车载设备开始触发制动需经过两个阶段。

第一阶段为空走阶段,列车制动力为0,做持续时间是牵引切断延时的匀速直线运动;第二阶段才为完全制动阶段。

所以实际的目标距离会更短,考虑制动延时后目标距离减少了4*Vm,在保证安全的前提下,Vm取全线限速的最大值,即100km/h。

所以:400m处和550m处的速度限制曲线也用同样的表达式绘制,只需要改变目标距离x和Vt的值。

经过上述分析,得到速度限制曲线的Matlab表达式如下:400米处:v3=(sqrt(2*a*(400-s-s1)+vt_1^2)*3.6) .*(s<=400-s1)550米处:v4=(sqrt(2*a*(550-s-s1)+vt_2^2)*3.6) .*(s<=550-s1)1450米处:v1=sqrt(2*a*(1450-s-s1)+vt^2)*3.6;当列车从低速限速区段驶入高速限速区段时,要保证车尾通过低速限速区段才能解除限速,所以低限速区间的长度应该延长车长70m,Matlab表达式如下:400~500限制速度:90.*(s>400-s1 & s<=500+l)550~700限制速速:45.*(s>550-s1 & s<=700+l)全线限制速度:v2=100.*(s>=60 & s<=1450);使用分段函数绘制出各个限制条件下的速度-距离曲线,再用函数v=min([v1,v2,v3,v4]),得到每个距离点s上对应的最小速度点v。

关于地铁的实验报告(3篇)

关于地铁的实验报告(3篇)

第1篇一、实验背景随着我国城市化进程的加快,城市交通问题日益突出。

地铁作为一种高效、便捷、环保的城市交通工具,已经成为我国各大城市公共交通的重要组成部分。

为了深入了解地铁交通系统的运行原理、优缺点以及在我国的应用情况,本实验对地铁交通系统进行了深入研究。

二、实验目的1. 了解地铁交通系统的历史与发展现状;2. 掌握地铁交通系统的基本构成与运行原理;3. 分析地铁交通系统的优点与不足;4. 探讨地铁交通系统在我国的应用前景。

三、实验内容1. 地铁交通系统历史与发展现状地铁最早起源于19世纪末的英国伦敦,最初用于缓解城市交通压力。

我国地铁建设始于20世纪60年代,最早在北京市启动。

经过几十年的发展,我国地铁建设取得了举世瞩目的成就,已成为城市交通的重要组成部分。

2. 地铁交通系统基本构成与运行原理地铁交通系统主要由以下几个部分构成:(1)线路:地铁线路包括地面线路、地下线路和过渡线路,主要承担地铁车辆的运行。

(2)车辆:地铁车辆是地铁交通系统的核心,包括列车、地铁车辆编组、司机室等。

(3)信号系统:地铁信号系统负责指挥地铁车辆的运行,确保行车安全。

(4)供电系统:地铁供电系统为地铁车辆提供动力,包括接触网、电缆等。

(5)运营管理系统:运营管理系统负责地铁交通系统的日常运营管理,包括调度、票务、安全监控等。

地铁交通系统运行原理如下:(1)乘客购票进站,通过自动检票机或人工检票员验证;(2)地铁车辆按照既定线路行驶,通过信号系统控制;(3)地铁车辆到达站点,乘客上下车;(4)地铁车辆继续行驶,重复以上步骤。

3. 地铁交通系统优点与不足优点:(1)高效:地铁车辆运行速度快,能够快速运输大量乘客;(2)准时:地铁运行时间精确,不受地面交通拥堵影响;(3)环保:地铁采用电力驱动,减少尾气排放;(4)节约土地:地铁线路多建于地下,不占用城市地面空间。

不足:(1)系统复杂:地铁交通系统涉及多个子系统,技术要求高;(2)造价高昂:地铁建设投资巨大,建设周期长;(3)地质要求高:地铁建设对地质条件要求较高,部分地区难以建设;(4)初期投资回报周期长:地铁项目初期投资回报周期较长,需要政府财政支持。

铁路实训实验报告

铁路实训实验报告

铁路实训实验报告实验目的本次实验的目的是通过实训培训,了解铁路交通管理的基本原理和操作方法,提升学员的铁路交通管理能力。

实验背景铁路交通管理是指对铁路运输过程中的各种资源进行合理配置和控制,以保障铁路交通的安全、高效和顺畅。

在实际操作中,铁路工作人员需要了解铁路规章制度、交通运输法律法规以及相关的安全操作规范。

通过实习实训,学员们能够深刻理解铁路交通管理的工作内容和流程。

实验内容本次实训分为两个部分,分别是理论培训和实操操作。

理论培训在理论培训中,我们学习了铁路交通管理的基本知识和相关法律法规。

其中包括铁路行车规则、列车运行控制方法、车站交接班制度等内容。

通过学习这些理论知识,我们能够更好地理解铁路交通管理的工作原理和职责。

实操操作在实操操作中,我们亲自参与了铁路交通管理的各个环节。

首先,我们在模拟车站进行了列车进出站操作。

通过操作站务终端设备,我们掌握了车站进出站的流程和规范,包括车票检票、站务信息录入、车站信号的控制等。

接下来,我们进行了列车运行控制操作。

在控制室内,我们使用列控系统进行了列车的追踪、监控和调度。

通过学习列车运行图和运行计划,我们能够准确把握列车的运行状态和位置,及时作出调度决策,确保列车的安全和正常运行。

最后,我们还参与了应急处理演练,学习了在突发情况下的应急处理方法和流程。

通过模拟真实场景,我们了解了如何处理故障列车、车站恶劣天气情况等突发事件,提高了应对突发情况的能力。

实验总结通过本次实训,我们对铁路交通管理有了更深入的了解,掌握了相关的理论知识和操作技能。

在实操操作中,我们通过亲身参与,更加深刻地感受到了铁路交通管理的重要性和复杂性。

本次实训不仅提升了我们的专业技能,还培养了我们的团队合作精神和应急处理能力。

在今后的工作中,我们将运用所学知识和技能,认真履行自己的职责,确保铁路交通的安全和高效运行。

同时,我们也会不断学习和进修,提升自己的专业素养,为铁路交通事业的发展做出更大的贡献。

列车运行控制实验一实验报告

列车运行控制实验一实验报告

列车运行控制技术——绘制列车速度限制曲线一、整体思路1.任务分析由浅入深,首先分析习题A,掌握题目要求和基本的分析方法;在完成习题A的基础上加入一个临时限速,即习题B,进一步掌握此类问题的分析方法;尝试完成习题C,深入分析限速的加入对于列车运行的整体影响。

2.平台选择由于此项问题是得到速度与位置的对应关系,需要大量的计算,且最终结果需要以图象的形式表现,因此选择MATLAB进行本题的辅助分析,既具有强大的计算能力,又有图象处理能力。

3.完成过程先利用速度-位移相关公式,通过手动计算得到列车位置s与速度v之间的关系,再将列车运行过程中的每个位置通过MATLAB进行相应计算,最后画出图象,得到列车限制速度曲线。

二、原理分析1.原理概述要求绘制列车限制速度曲线,即分析最高速度与位置之间的关系,并绘制图像。

本题的关键点在于列车从前一速度制动降低到限制速度时所需的最短距离。

但该距离必须保证安全。

2.公式推导列车从开始制动到减速至限制速度经历了空走和制动两个阶段。

设列车制动前速度为vmax ,制动后速度为vmin。

⑴空走阶段:制动力为0,牵引力保持制动前状态,考虑最不利情况,即列车需制动时刻正处于最大牵引力加速阶段,此时加速度为a1=1.7。

设空走阶段位移为s1。

⑵制动阶段:牵引力为0,制动力最大,此时加速度为a2=1.5。

经历空走阶段后,制动阶段的初速度为v=vmax +a1t。

设制动阶段位移为s2。

由以上分析可以得到,从开始制动到减速至限制速度的总位移,即防护距离为:因此,设列车当前位置为s,列车运行到限速区段的位置为sm,此时可得列车当前位置与速度之间的函数关系为:将已知数据代入以上公式可得到:由此可得到解决本问题的关键函数,将该函数使用在MATLAB中,源代码为:function [ v ] = limit( sm,s,vmax,vmin)v=-19.2+sqrt(172.8+vmin.^2+3*(sm-s));if v>vmaxv= vmax;endif v<=vminv=vmin;endend三、绘制曲线1.编程思路编程的关键在于limit函数,在不同限速要求下,将不同位置相对应的速度要求及位置的值代入。

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

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

CTCS-2级列控系统行车许可使用班级自动化11042.1实验目的(1)理解CTCS-2级列车运行控制系统地面设备工作原理。

(2)理解CTCS-2级列控系统车载设备使用MA的原理。

(3)掌握列控系统车载设备基本工作原理。

(4)初步具备解决列控系统实际工程问题的能力。

2.1实验内容列车在装备CTCS-2级列控设备的线路上运行。

但是,当前的仿真程序由于车载控车部分的程序不完善,会出现超速或冒进等危险。

本实验要求实验人员:(1)补充完成CTCS-2级车载安全防护程序ATPprotection,使列车可安全地在该线路上运行(不超速、不冒进),并且能够完成以下典型场景:区间运行正线接车侧线接车侧线大号码道岔接车侧线引导接车(选做)(2)编写完成后,请利用仿真程序测试你的程序功能。

2.3实验报告(1)所编写程序ATPprotection的流程图。

开始(2)为验证结果正确所设计的测试案例及测试结果,格式如下:测试案例测试程序的正线接车停车功能测试步骤1、设置初速度200km/h ,加速运行;2、选择正线接车进路类型,直到列车停车;3、观察所计算的允许速度曲线是否正确;4、查看记录文件。

测试结果正线接车测试结果截图正线接车测试案例测试程序的18号道岔以下接车停车功能测试步骤1、设置初速度200km/h ,加速运行;2、选择18号道岔以下接车进路类型,直到列车停车;结束计算列车当前所在轨道区段接收轨道电路码确定前方空闲区段接收CurrentPos确定目标距离及目标速度计算当前曲线限速确定线路限速综合考虑当前点限速值确定BrakeFlage 取值3、观察所计算的允许速度曲线是否正确;4、查看记录文件。

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

列车运行控制实验报告

列车运行控制实验报告

实验一:绘制列车限制速度曲线一、实验内容二、问题分析根据题目要求画出全线的限速示意图如下:速度防护曲线应该是全线各个限制条件共同作用下的最低速度,所以应该分别绘制出400~500米的速度限制曲线,550~700米的速度限制曲线,1450米处停车的速度限制曲线,和全线的限速,最后在每一个距离点处取不同限速曲线速度点的最小值,最终形成的曲线就是速度防护曲线。

首先设计1450m处停车的速度限制曲线,列车在制动过程中,近似做初速度为当前速度,末速度为0的匀减速直线运动,减速度为1.7m/s/s,根据牛顿运动学公式:但是,当车载设备输出制动命令时列牵引切断和力真正达到100% 需要一定时间,称为制动延。

因此,车载设备开始触发制动需经过两个阶段。

第一阶段为空走阶段,列车制动力为0,做持续时间是牵引切断延时的匀速直线运动;第二阶段才为完全制动阶段。

所以实际的目标距离会更短,考虑制动延时后目标距离减少了4*Vm,在保证安全的前提下,Vm取全线限速的最大值,即100km/h。

所以:400m处和550m处的速度限制曲线也用同样的表达式绘制,只需要改变目标距离x和Vt的值。

经过上述分析,得到速度限制曲线的Matlab表达式如下:400米处:v3=(sqrt(2*a*(400-s-s1)+vt_1^2)*3.6) .*(s<=400-s1)550米处:v4=(sqrt(2*a*(550-s-s1)+vt_2^2)*3.6) .*(s<=550-s1)1450米处:v1=sqrt(2*a*(1450-s-s1)+vt^2)*3.6;当列车从低速限速区段驶入高速限速区段时,要保证车尾通过低速限速区段才能解除限速,所以低限速区间的长度应该延长车长70m,Matlab表达式如下:400~500限制速度:90.*(s>400-s1 & s<=500+l)550~700限制速速:45.*(s>550-s1 & s<=700+l)全线限制速度:v2=100.*(s>=60 & s<=1450);使用分段函数绘制出各个限制条件下的速度-距离曲线,再用函数v=min([v1,v2,v3,v4]),得到每个距离点s上对应的最小速度点v。

关于列控的课程设计

关于列控的课程设计

关于列控的课程设计一、课程目标知识目标:1. 学生能理解列控系统的基本原理,掌握列控信号的基本组成和功能。

2. 学生能掌握列车运行过程中,列控系统的作用及其对安全、效率的影响。

3. 学生了解我国铁路列控技术的发展及现状,理解其在现代铁路交通中的重要性。

技能目标:1. 学生能通过实际操作,学会使用列控模拟软件,进行基本的列车运行控制。

2. 学生能运用所学知识,分析列车运行中的实际问题,提出合理的解决方案。

3. 学生具备一定的团队协作能力,能在小组讨论中积极参与,共同完成学习任务。

情感态度价值观目标:1. 学生通过学习,培养对铁路交通事业的热爱,增强对我国交通运输发展的信心。

2. 学生在学习过程中,树立安全意识,认识到列控技术在保障铁路运输安全中的重要作用。

3. 学生在小组合作中,学会尊重他人,培养团队协作精神,形成积极向上的学习态度。

本课程结合学生所在年级的知识深度,注重理论与实践相结合,通过列控系统的学习,使学生掌握铁路运输相关知识,提高实际操作能力,培养安全意识和团队协作精神,为我国铁路交通事业的发展奠定基础。

二、教学内容1. 列控系统概述:介绍列控系统的基本概念、发展历程、分类及功能。

教材章节:第一章 列控系统概述2. 列控信号设备:讲解列控信号设备的基本组成、工作原理及功能。

教材章节:第二章 列控信号设备3. 列车运行控制:分析列控系统在列车运行中的作用,包括速度控制、间距控制等。

教材章节:第三章 列车运行控制4. 列控系统的应用与实例:介绍我国铁路列控系统的实际应用案例,分析其效果和优势。

教材章节:第四章 列控系统的应用与实例5. 列控技术的发展趋势:展望未来列控技术的发展方向,探讨其创新点及挑战。

教材章节:第五章 列控技术的发展趋势6. 实践操作:安排学生进行列控模拟软件的操作,巩固所学知识,提高实际操作能力。

教材章节:实践操作部分教学内容按照教学大纲的安排,由浅入深,注重理论与实践相结合,使学生在掌握基本知识的同时,了解我国铁路列控技术的实际应用,培养其创新意识和实践能力。

列车运行控制实验三实验报告

列车运行控制实验三实验报告

列车运行控制应答器报文组帧实验报告学院:电子信息工程学院班级:自动化1301成员:目录1 实验目标 (4)1.1 实验整体目标 (4)1.2 实验具体目标 (4)2 实验过程 (4)2.1 原理分析 (4)2.1.1 应答器报文结构原理 (4)2.1.2 线路参数相关的应答器信息包定义 (5)2.2 仿真环境 (6)2.3 程序编写 (7)2.3.1 程序分析 (7)2.3.2 程序框图 (8)2.3.3 程序代码 (8)3 实验结果分析 (11)4 实验总结 (18)附源代码 (19)1实验目标1.1 实验整体目标理解应答器报文结构和填写方式;完成应答器报文的解码,并理解应答器报文的应用方式;理解ETCS语言的应用。

1.2 实验具体目标在完成实验二的基础上,填写应答器信息解码程序。

能够将闭塞分区长度和线路限速信息解码出来,填入速度防护程序所需的输入变量中,并通过Excel 中列车的运行情况判定程序是否正常实现了相应的功能。

该部分仍为正线接车、18号以下道岔侧线接车、18号以上道岔侧线接车和引导接车四种情况,其具体码序与实验二相同,此处不再罗列。

2实验过程2.1 原理分析2.1.1 应答器报文结构原理应答器设于各车站进站信号机、出站信号机、区间闭塞分区入口以及电分相区前方、列控系统级间切换点前方、大型桥隧前方等特殊地点,向列控车载设备传输定位信息、线路参数、临时限速等信息。

每经过一个应答器组,车载设备会收到一个完整的、固定长度的报文帧(104字节),其中包含发送线路信息的用户信息包,由于报文以ETCS语言的方式传输,因此接收到的报文是以ETCS 语言进行编码后的二进制数据。

控车程序对应答器报文按照规定的格式进行解析和处理,才能获得可用的数据。

ETCS语言组成关系如下:2.1.2线路参数相关的应答器信息包定义当列车在线路上正常运行时,接收应答器信息,从而获得轨道区段长度、线路限速等信息,在本实验中,解码的是提供线路限速的线路速度信息包【ETCS-27】和提供闭塞分区长度的轨道区段信息包【CTCS-1】。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

列车运行控制CTCS-2级列控系统行车许可使用实验报告学院:电子信息工程学院班级:自动化 1301成员:目录1 实验目标 (3)1.1 实验整体目标 (3)1.2 实验具体目标 (3)1.2.1 正线接车 (3)1.2.2 18号以下道岔接车 (3)1.2.3 18号以上道岔接车 (4)1.2.4 侧线引导接车 (4)2 实验过程 (5)2.1 原理分析 (5)2.1.1 CTCS-2级列控系统行车许可生成原理 (5)2.1.2 车载设备超速防护功能工作原理 (5)2.2 仿真环境 (6)2.3 程序编写 (7)2.3.1 程序分析 (7)2.3.2 程序框图 (7)2.3.3 程序代码 (8)3 实验结果分析 (9)4 实验总结 (12)附 ATPprotecting()源代码 (13)1 实验目标1.1 实验整体目标理解CTCS-2级列车运行控制系统地面设备工作原理及车载设备MA的使用原理;掌握列控系统车载设备基本工作原理;初步具备解决列控系统实际工程问题的能力。

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

1.2 实验具体目标1.2.1 正线接车排列正线接车进路,终点为出站信号机,覆盖正线股道,列车即将进入正线,停在出站信号机之前。

其轨道电路码序及模式曲线如下图:1.2.2 18号以下道岔接车排列侧线接车进路,且接车进路上最小道岔为18号以下道岔时,覆盖侧线股道,列车即将进入侧线,终点为出站信号机。

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

其轨道电路码序及模式曲线如图:1.2.3 18号以上道岔接车排列侧线接车进路,且接车进路上最小道岔为18号的大号码道岔时,与侧线18号以下道岔接车类似,区别为:接近区段发UUS码,道岔要求限速为80km/h。

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

其轨道电路码序及模式曲线如图:2 实验过程2.1 原理分析2.1.1 CTCS-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 程序代码(注:由于源代码较长,本部分只对部分代码进行注释说明,源代码请查看附录。

)For i = 0 To 10s = s + Blocks(i)If s > CurrentPos ThenFor j = 0 To iL = L + Blocks(j)NextExit ForEnd IfNext//L为走行距离If TrackSignal = "L5" Then //L5表示收到的码序,其他程序模块类似For k = (i + 1) To (i + 7)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L – CurrentPos //得到目标距离TargetSpeed = 0 //得到目标速度TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) //得到曲线限速If CurrentPos <= LineAllowSpeed(1, 0) ThenIf TrainAllowSpeed > LineAllowSpeed(0, 1) ThenTrainAllowSpeed = LineAllowSpeed(0, 1)End IfElseIf CurrentPos >= LineAllowSpeed(2, 0) ThenIf TrainAllowSpeed > LineAllowSpeed(2, 1) ThenTrainAllowSpeed = LineAllowSpeed(2, 1)End IfElseIf TrainAllowSpeed > LineAllowSpeed(1, 1) ThenTrainAllowSpeed = LineAllowSpeed(1, 1)End IfEnd If//通过比较得到最终限速If CurrentSpeed > TrainAllowSpeed ThenBrakeFlag = TrueElseBrakeFlag = False //判断是否进行制动End Ifp = p + 1student.Cells(p, 1) = CurrentPos //记录数据3 实验结果分析测试结果截图测试结果截图4 实验总结本次实验过程中,课堂时间充裕,因此对于系统和程序都有了较为深入的了解。

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

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

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

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

附 ATPprotecting()源代码Dim p As IntegerPublic Function ATPProtection(Blocks() As Single, LineAllowSpeed() As Single, TrackSignal As String, CurrentSpeed As Single, CurrentPos As Single)'[code here begin]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 10s = s + Blocks(i)If s > CurrentPos ThenFor j = 0 To iL = L + Blocks(j)NextExit ForEnd IfNextIf TrackSignal = "L5" ThenFor k = (i + 1) To (i + 7)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = "L4" ThenFor k = (i + 1) To (i + 6)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed)ElseIf TrackSignal = "L3" ThenFor k = (i + 1) To (i + 5)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L2" ThenFor k = (i + 1) To (i + 4)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "L" ThenFor k = (i + 1) To (i + 3)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "LU" ThenFor k = (i + 1) To (i + 2)TargetDistance = TargetDistance + Blocks(k)NextTargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "U" Thenk = i + 1TargetDistance = TargetDistance + Blocks(k)TargetDistance = TargetDistance + L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "U2" ThenTargetDistance = L + Blocks(9) - CurrentPosTargetSpeed = 45TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "UU" ThenTargetDistance = L - CurrentPosTargetSpeed = 45TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "U2S" ThenTargetDistance = L + Blocks(9) - CurrentPosTargetSpeed = 80TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "UUS" ThenTargetDistance = L - CurrentPosTargetSpeed = 80TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) ElseIf TrackSignal = "HB" ThenTrainAllowSpeed = 40ElseIf TrackSignal = "B" ThenTrainAllowSpeed = 40ElseIf TrackSignal = "HU" ThenTargetDistance = L - CurrentPosTargetSpeed = 0TrainAllowSpeed = ff.CalcLimit(TargetDistance, TargetSpeed) End IfIf CurrentPos <= LineAllowSpeed(1, 0) ThenIf TrainAllowSpeed > LineAllowSpeed(0, 1) ThenTrainAllowSpeed = LineAllowSpeed(0, 1)End IfElseIf CurrentPos >= LineAllowSpeed(2, 0) ThenIf TrainAllowSpeed > LineAllowSpeed(2, 1) ThenTrainAllowSpeed = LineAllowSpeed(2, 1)End IfElseIf TrainAllowSpeed > LineAllowSpeed(1, 1) ThenTrainAllowSpeed = LineAllowSpeed(1, 1)End IfEnd IfIf CurrentSpeed > TrainAllowSpeed ThenBrakeFlag = TrueElseBrakeFlag = FalseEnd Ifp = p + 1student.Cells(p, 1) = CurrentPosstudent.Cells(p, 2) = CurrentSpeedstudent.Cells(p, 3) = TrainAllowSpeedstudent.Cells(p, 4) = TrackSignalstudent.Cells(p, 5) = Speed_Limit_Staticstudent.Cells(p, 6) = Speed_Limit_Curvestudent.Cells(p, 7) = BrakeFlag'[code end] End Function。

相关文档
最新文档