[TOC] [铁路](wiki:rails) **信号灯** 可以让你控制[列车](wiki:train)的行动,是非常有用的设备。它们可以阻止一辆列车进入某个已经存在其他列车的区域,从而阻止相撞车祸的发生。这通常要涉及到从信号灯所管控的轨道段获取相关信息。有三种信号灯类型,区块信号灯只是简单地阻止任何列车进入已经存在列车的轨道段;预处理信号灯与其类似,但是要求轨道段必须要存在一个有效的出口;路线信号灯则对比当前车辆要行进的路线与已存在的列车所在的位置是否互有干扰,若无干扰则放行。 ----------------------------- # 区块信号灯 {: #区块信号灯} 区块信号灯将轨道分为多个区块,并依据列车在区块上的移动来改变状态。如果下一个区块中已经存在一辆列车,则区块信号灯会阻止当前列车,并亮红灯。如果下一个区块没有其他车,则亮绿灯并放行。轨道上任何从当前信号灯至下一个信号灯之间的全部轨道方块都被认作是同一个区块,无论是否存在多个道岔分支。就算当前车辆要走的路线和另外的列车并不会相撞,区块信号灯也不会允许当前列车进入这个区块,该行为正好和[路线信号灯](#路线信号灯)相反。 ----------------------------- ## 双向信号灯 {: #双向信号灯} [image:4] 位于载货车站的双向信号灯 [image:3] 双向信号灯 双向信号灯用在同一根铁轨两个方向都会有列车行进的铁路上。最常见的情形就是线路末端的车站,在这里列车进站和出站都是使用站点的同一侧进行。在右侧图片中的例子里,信号灯会引导下一列列车进入空的那一列车站装货,同时信号灯还可以在外面轨道上有车的情况下阻止站内的列车出站。 如果一列列车有两个以上的方向可以选择,每个方向都有一个双向信号灯的话,它会选择有绿灯的那个方向。如果所有的信号灯都是红灯,它会选择最近的路线并等待信号灯变成绿色。 双向信号灯是游戏中出现的第一种信号灯,并且在最初版本的**运输大亨**游戏中也是唯一可选的铁路信号灯类型。 <br/> <br/> <br/> ----------------------------- ## 单向信号灯 {: #单向信号灯} [image:5 align:left] 单向信号灯 单向信号灯限制列车只能向一个方向行进。如下面例子所示,信号灯强制列车绕圈运行。 [image:2 align:left] 绕圈的单向信号灯 有两种情况使得这些信号灯比单纯的区块信号灯更为好用: * **RoRo车站**允许列车停靠后无需调头出站并阻挡进站口。可以让列车进出站更为有效率。 * 双条轨道线可以允许多于2列列车行进而不会让它们撞到一起。在单条轨道线上,如果有一列列车存在,那么就不能有别的车以反方向行进,因为它们最终肯定要撞到一起。在双条轨道线上任何列车都可以以一个方向行进,绝对不会撞在一起,同时也意味着它们无需等待其他列车,可以一直在那条线上行进。 假如一列车来到单向信号灯错误的一侧,它会立刻停车并掉头,除非玩家在高级信号灯选项里禁用了这一行为。在使用单向信号灯的情况下,要确保他们**都**面向正确的方向。一个好办法是观察在新设立的路线上的第一列车是否正常地行进到了终点,以确保你没有犯任何错误。 点击一个已经存在的双向信号灯会把其变为单向信号灯,再点击一次会改变其方向(依然还是单向的),第三次点击则会将其变回一个双向信号灯。 如果某列车有可选的轨道路线,每个都布有一个单向信号灯的话,它会选择通向它的目的地的那条轨道(也就是说它会等着直到那条轨道变为绿灯,而不是选择在一条轨道为红灯的情况随便选一条为绿灯的轨道行进)。这可以和双向信号灯做一个对比。 尽管单向信号灯看起来只有一面才有信号灯,但是严格来说,另外一面消失的信号灯依然存在,并且永远是红灯,以阻止从另一侧进入。该表象对于现实世界来说是不正确的,并且会在理解更为高级和真实的[路线信号灯](#路线信号灯)时误导玩家。 单向信号灯第一次出现在**运输大亨豪华版**中。 ------------------------------ # 预处理信号灯 {: #预处理信号灯} 仅用区块信号灯时存在的问题 - 左边的列车可能会先离开,<br/>于是后面等待的列车就会紧贴在右侧的列车身后一起卡在轨道上。 | 使用预处理信号灯解决问题 ----------|---------- [image:6] | [image:7] 预处理信号灯是一组专门设计的区块信号灯。之所以这样命名是因为入口处的预处理信号灯的判断来源不仅仅来自于区块的轨道上,还要来自于区块的另一端(或者说是区块的出口处)。它们用于限制列车进入一块不能被占用或者被阻挡的区块。这样的例子包括车站进站/出站的交叉路口,或者用于双向列车行进的单条轨道线。任何一段线路上,如果多列列车必须共享一段数量有限的轨道区域,并且该区域不应该被阻挡时,就是预处理信号灯发挥作用的地方。 上面的图片展示了使用传统信号灯控制的车站的一个配置。如果至少有一个站台是空着的时候,这方案没有问题,任何一列进站的车总是会被导向至一个空站台。但是,想像一下如果全部站台都是满着的情况下,就像截图的那样。两个分岔路都是红灯,所以新来的列车就选择了最短的一条路 —— 直着开。但是假设在右侧站台的列车需要等上一会儿,此刻,左侧的列车先走了,新来的列车已经选好了一个站台,并且卡在了信号灯之间,就算现在已经有了一个空站台了,它还是要等着右侧的列车离开。我们需要在这列列车选择分岔之前就阻止它,这样它便可以在任何一列车离开站台后进入那个空站台。为了满足这个目标,我们需要使用预处理信号灯。 预处理信号灯和区块信号灯的行为一样,但是在决定要显示什么颜色的时候还要考虑同方向轨道下游的预处理信号灯的状态。明确点说,入口的预处理信号灯会在,并且只有在其轨道下游的出口信号灯至少有一个为绿灯时,才会显示为绿灯。而你,作为规划者,需要确定哪个预处理信号灯会作为入口灯,哪些是出口灯。 ------------------------------- ## 区块入口预处理信号灯 {: #区块入口预处理信号灯} [image:8] 区块入口预处理信号灯 入口预处理信号灯阻止列车进入其身后的区块,除非在区块的对面至少有一个出口灯亮为绿灯。这个就阻止了列车在没有有效出口的情况下进入区块,从而阻挡了这块区块。要记住车库有着一个内建的双向信号灯,如果处在一个预处理信号灯组中,它会作为一个入口预处理信号灯。 如果在区块的另一侧没有设立出口信号灯,入口信号灯的功能会和普通的区块信号灯一样。这在设计双向预处理信号灯而只有一个方向需要预处理信号灯的功能时很方便。 -------------------------------- ## 区块出口预处理信号灯 {: #区块出口预处理信号灯} [image:9] 区块出口预处理信号灯 出口预处理信号灯跟正常的区块信号灯功能一致,不过它提供用于在入口信号灯和组合信号灯上触发正确颜色的信息。应该在任何容易被阻挡的出口设立它们,例如车站站台处。 -------------------------------- ## 组合信号灯 {: #组合信号灯} [image:11 align:right] 包含一个入口预处理信号灯,两个组合信号灯,以及四个出口信号灯的车站 [image:10] 组合信号灯 还有第三种预处理信号灯类型,叫做组合信号灯,其作用是同时扮演着入口信号灯和出口信号灯的角色。它们有效地组合多个出口信号灯成为一个信号灯,可以顺着传播下去。任何一个绿灯的出口信号灯都会让其上游的任何组合信号灯变为绿色,随后会一层层地传播上去直到最前端的入口信号灯。这就允许你构建一个庞大的预处理信号灯树,横跨多个区域,就如同右图展现的一样。 在一棵预处理信号灯树中,组合信号灯应被放置于入口信号灯与出口信号灯之间,另外的这两种信号灯应该被放在整个配置相应的最前端以及最末端。 ---------------------------------- ## 建造预处理信号灯 {: #建造预处理信号灯} 要建造一个预处理信号灯,请在[信号灯工具条](wiki:/openttd/ui/signals/)上选择相应的按钮。 在之前的版本中,先放置一个普通的信号灯,然后按住`Ctrl`点击信号灯可以在不同的预处理信号灯中进行切换: * 要注意你可以使用建造传统单向信号灯的方式建造单向预处理信号灯。记住:按住`Ctrl`再点击可以切换(预处理)信号灯的类型,不按`Ctrl`点击则会更改信号灯的方向——如果信号灯界面未打开的话。 * 记住不要在一开始放置信号灯的时候按`Ctrl`,否则你会得到一个悬臂式信号灯。反之,如果你打开了信号灯界面,则要按住`Ctrl`。 ---------------------------------- ## 限制 {: #限制} [image:12 align:right] 预处理信号灯的问题…… 很重要的一个问题是,如果出口信号灯是绿灯,就会触发入口信号灯也为绿灯,即便因为布局问题列车并没有办法从出口信号灯的位置出去(参考右侧的图片,从下面铁轨进来的列车实际上并没有办法从上面铁轨开出去)。这个很可能会连带影响更复杂的预处理信号灯配置,所以在规划的时候千万要小心。 有一个被标记为“不解决”的Bug是:迷路的列车会忽略(区块)的出口信号灯。如果列车迷路了,它会在每个岔路口随机挑选一条路,所以如果它忽略区块的出口信号灯的话,会很容易阻挡住使用预处理信号灯的岔道口。 <br/> <br/> <br/> <br/> ------------------------------------ # 路线信号灯 {: #路线信号灯} [image:13 align:right] 位于[信号灯工具条](wiki:/openttd/ui/signals/)的两种新类型。 有一种新的信号灯类型,“路线信号灯”,用于克服**运输大亨**原有的基于区块的信号灯的限制。这些信号灯允许列车在穿越一个区块到达下一个信号灯之前预约保留一条路线。如果有其他列车想要进入该区块,并且也成功地预约到一条穿过区块的路线,那么就算该区块中的其他轨道已经被占用,路线信号灯也依然允许该列车进入,这在传统区块信号灯以及预处理信号灯的设置下是不可能实现的。由于路线信号灯有着更强地避免岔路死锁的能力,因此在其帮助之下完全有可能构造一个相当复杂的铁路网络。 <div class="thumbnail" style="width: 510px;margin:auto;"> <img src="/media/wiki/images/3/0efdeae56e564a03bb4bce0ced9e5bda/Difference_block_path_signals_Zh.png" alt="2-way_signals.png"> <div class="caption"> 本图呈现了区块与路线信号灯之间最重要的区别:两条并行的线路之间横跨了一条轨道。 <ul> <li>在区块信号灯的配置之中,信号灯不允许下方的列车进入信号区块,因为此刻上方的列车正处于这个区块内,哪怕让下方的列车穿过区块是毫无风险的。</li> <li>在路线信号灯的配置之中,只要上方的列车不更改路线至下方来,下方的列车就一直都可以通过。</li> </ul> </div> </div> 路线信号灯力图模拟一个更为真实的**真实路线信号系统(PBS)**,是因为: * 真实的信号灯持续保持为红灯,只有在列车接近它的时候,并且前方道路不会与其他列车相撞,才会临时地显示为绿灯。在真实的岔路交叉口建设中,由于[转辙器](http://zh.wikipedia.org/wiki/%E8%BD%89%E8%BD%8D%E5%99%A8)可以控制列车转向的方向,因此允许多列列车在同一个区块里并列运行是可能的。 * **运输大亨**中在交叉道口之后立即放置出口信号灯(普通区块信号灯或者是预处理信号灯的出口灯)以确保交叉道口没有阻碍的设计并不存在于现实世界中,因为会存在列车停在交叉道口上的情况,从而产生了死锁。 * 面向单一方向的单面信号灯在现实世界中同样并不是真的单向的(除非玩家特别设置“单向信号灯”的选项以限制通过方向)。列车可以从信号灯的背后通行,就如同没有信号灯一样,就像之前所述,出口信号灯在现实世界并不存在。当在岔道口前建造一个单侧进站出站的车站时,这设定就显得额外的重要,(非单向的)路线信号灯要放置在车站出口前,面向着车站。 **远在岔道口之后的区块信号灯** | **紧处于岔道口之后的区块信号灯** | **位于岔道口之前的路线信号灯** --------------------------|------------------------------|----------------------------- 我们有一个Y形的区块位于三个信号灯之间。右边的铁轨已被列车占用。现有一列车从下方铁轨进入,并且想要前往左边的轨道。标准的区块信号灯认为全部区块都被占用了(即便左边的轨道是空的)。 | 解决方案是通过在岔道口后增加信号灯,从而将这个区块拆分为更小的区块。增加两个新的信号灯后,Y形区块现在被分为了三小块:右侧分岔,左侧分岔以及交叉路口。| 与此相反,路线信号灯允许列车从下方进入Y型区块,因为它要预约保留的轨道未被占用(左侧轨道)。并不需要把区块切割为更小的区块(换句话说,不需要紧接在岔道之后放置信号灯)。 <img src="/media/wiki/images/3/74ee6b209fb54750abe207ceaa585990/Signal_bloc.png" style="max-width:318px;width:100%"/><p>处于三个区块信号灯之间的Y形区块。</p> | <img src="/media/wiki/images/3/a94868e5e41848149edc38ce23eabd8e/Multiples_standard.png" style="max-width:318px;width:100%"/><p>在两个新区块信号灯的帮助之下,Y形区块被分为三个小区块:右侧分岔,左侧分岔以及交叉路口。</p> | <img src="/media/wiki/images/3/e799086dbbcd4bd381fd099d2b9aa562/Chemin.png" style="max-width:318px;width:100%"/><p>处于一个路线信号灯以及两个区块信号灯之间的Y形区块。</p> 关于路线信号灯你要知道两件事: * 需要将其放置在列车可以停靠并且不会阻挡岔道口的地方; * 这种信号灯只对一个方向起作用。在另外一个方向上,信号灯要么被忽略,要么被认为是单向信号灯,这取决于信号灯的路线(详情见下)。 <img src="/media/wiki/images/3/db781086d6584f5ab90bfb9b8c43538b/Yapp_pbssignal.png" style="width:23px;margin-right:8px;float:left;"/> 路线信号灯 (PS): 列车可以从这个信号灯的背后通过。不要和单向(区块)信号灯搞混了。 <br/><br/> <img src="/media/wiki/images/3/4d30048dfda14ba181811f8c9e13bab3/Yapp_onewaypbssignal.png" style="width:23px;margin-right:8px;float:left;"/> 单向路线信号灯 (1W PS): 列车无法从这个信号灯的背后通过,就好像背后有一个永远亮着红灯的灯一样。 <br/><br/> 大多数情况下使用默认的路线信号灯就足够了,因为计算路径时通常不会允许从后面通过信号灯,除非目标(车站或者路点)正好被信号灯背对着挡住。不过单向路线信号灯在这种特殊情况下可能有用。 这两个新型的信号灯与标准的区块信号灯类型有一点点不同。路线信号灯默认为红灯,只有在某列车可以预定保留出前往下一个安全等待位置的路线时才会亮绿灯。安全等待位置的定义是,在信号灯之前,或者车库内,或者轨道终点。某个路径信号灯的背后不作为一个安全等待位置,因此在计算预订路线时会越过这些信号灯。 因为每种信号灯的前面都被当作是一个安全等待位置,通常你不应该在岔道口之后立即就放置一个信号灯,只应该在岔道口前放置。这是因为在岔道口之前等待通过是安全的,但是在整列列车离开岔道口之前就开始等待信号灯是不安全的,这样可能会导致岔道口被阻塞,如下面的例子所展示的。这是比传统信号灯有着最大优越性的地方,传统信号灯需要在岔道口之前和之后都放置信号灯,这样列车在等待的时候可能就阻塞了岔道口。 <table> <thead> <tr> <th style="text-align: center;"> <img style="width:351px;margin: auto;" src="/media/wiki/images/3/03a6e3c4b5ae428d9cb2a149cde54417/Yapp_unsafewaitinglocation.png"> </th> <th style="text-align: center;"> <img src="/media/wiki/images/3/d5e71ec5314749fea58912e28944b2a0/Yappgoodexample.png" style="width:351px;margin: auto;"> </th> </tr> </thead> <tbody> <tr> <td>错误:箭头所指处的信号灯构成了一个糟糕的等待位置,等待的列车把来自于上方的本来可以通过的列车给挡住了。这里面还有一处糟糕的等待位置,你能找到么?</td> <td>正确:在这张图里,岔道口之后有足够的位置可供列车等待。只要这个位置被占用,下一辆列车会等在岔道口之前而不是挡在岔道口之内。这样来自于上方的列车就可以正常通过。</td> </tr> </tbody> </table> 这里还有一个你可以利用路线信号灯来做事的例子。效果要比使用预处理信号灯还好,因为你可以有两列列车同时出站并且共用一个车库(预处理信号灯做不到,因为区块也是同一个)。在这种情况下有一个单向路线信号灯控制出站的列车,以及一个普通的路线信号灯控制出车库的列车。 <div class="thumbnail" style="width: 570px;margin:auto;"> <img src="/media/wiki/images/3/dbf635eb5cac42849e3219adb35c8e4a/Pathsignal_station_exit.png" alt="2-way_signals.png"> <div class="caption"> 两个出站的站点。要注意在车库之前放置信号灯不是必须的,因为车库内置一个信号灯,不过在这种情况下在车库前放置路线信号灯会让出车库的列车的优先权高于要进车库的列车。 </div> </div> 尽管上面的截图并未展示出来,如果岔道口之前的铁轨上放置的是路线信号灯的话,是不需要在经过的站点与岔道口之间放置任何信号灯的(等同于传统信号灯设置里的“出口信号灯”)。 <div class="thumbnail" style="width: 399px;margin:auto;"> <img src="/media/wiki/images/3/d87828fb42b442b3ac4ca8cbaf1d6585/Rpbs_img10.png"> <div class="caption"> 如果所有信号灯都是路线信号灯的话,经过的站点在进站之前是不需要放置出口信号灯的。 </div> </div> ----------------------------------------- # 高级设置 {: #高级设置} <div class="thumbnail" style="width: 519px;float:right;"> <img src="/media/wiki/images/3/220e71e1878f4187a0bcb97073023381/Yapp_patch-options_Zh.png"> <div class="caption"> YAPP高级设置 </div> </div> 有三个新的高级设置选项与路线信号灯相关。 一个选项是将所预定保留的路线高亮。这个选项在你建立基于路线信号灯的岔道口时很有用,因为你可以看到经过岔道口的列车会走哪条路线。 另外两个选项决定了建造信号灯工具的行为。你可以设置在建造新的信号灯时默认的信号灯类型,以及在按住`Ctrl`点击已有的信号灯时所应循环的类型。 在高级设置窗口里还有一些其他和信号灯相关的选项。这些选项及其功能在高级路径信号灯选项和功能中有说明。 ## 路线信号灯的基础示例 {: #路线信号灯的基础示例} 以下是一些使用路线信号灯的轨道布局示例。此外还有一些不推荐给初学者的`高级轨道布局`可以参阅。 ### 基础岔道 {: #基础岔道} <div class="thumbnail" style="width: 560px;margin:auto;"> <img src="/media/wiki/images/3/8cd9a15e353340688d15ff5667ab0e87/Yapp_basicjunction.png"> <div class="caption"> 列车的基础岔道(为列车3格长度所优化)。在每个通向岔道区块的入口上都有路线信号灯。要注意一般轨道上只用了普通的信号灯。 </div> </div> 基础岔道现在比之前大大提高了吞吐量,因为列车只需要等待与其使用同一条线路的列车。从右侧来的列车(往上走的)以前需要等待来自于左侧轨道的列车,而现在只有在它想变道时才会等待。注意一共有六个单向信号灯在岔道口周围,以及总共三个路线信号灯,每个入口线路上放置了一个。 ### 基础双向车站 {: #基础双向车站} 使用该站点布局,从两侧来的列车都可以利用到两个站台。因为路线信号灯在反方向上不设立阻隔,在信号灯的后面如果没有一条明确的路线可以让其安全停靠的话(包括站台的空间),列车是不会被放行的。要注意这个设置也可以被在站台前面设置出口信号灯的方案所替代。 <div class="thumbnail" style="width: 615px;margin:auto;"> <img src="/media/wiki/images/3/e3026b4359a54be4b480c34a9be8e691/Yapp_basicstation.png"> <div class="caption"> 基础的车站。 </div> </div> ## 引导列车 {: #引导列车} 信号灯的目的是为了阻止列车之间的相撞,以及帮助列车挑选前往相同目的地的不同路段。如果你希望引导列车通过一条指定的路线前往一个指定的目的地,你需要使用[路点](wiki:/openttd/waypoints/)。