Tutorial:Train signals/ja: Difference between revisions
m (whitespace (it is amazing to see this translated, it shows that you really value it, which makes me proud of the user who made it :D)) |
m (fixed link) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}}{{Translation verification|revisionID=190744}} | ||
[[Rail signal/ja|列車用信号]]はFactorioの鉄道システムを機能させる上で必要不可欠である。このチュートリアルでは、どのようなときになぜ信号が用いられるか、連動式列車用信号はどのように動作するのか、デッドロックとは何でどうすれば回避できるかを説明する。目標は、読者がスムースな鉄道システムを運用できるようになり、よくある問題も解決できるようになることである。よくある問題や利用例もいくつか示す。 | |||
このチュートリアルの大部分では、二本の並行したレールを、それぞれ片側通行する鉄道システムを使用する。初心者は、単線を双方向に通行するシステムよりも、こちらのシステムを使うことをおすすめする。単線双方向は、列車数が増加したときに問題が発生しやすいためである。 | |||
== | 全ての交差点付近にレーダーを配備し、問題をすばやく特定できるようにしておくことをおすすめする。また、新たな列車や駅がシステムに追加された際は、燃料補給の自動化を可能な限り早く行っておくことも推奨される。補給は、列車が持つ時刻表上のどこかの駅でついでに行ってもいいし(このとき燃料を駅に輸送することもある)、独立した燃料補給駅を時刻表に書き加えても良い。 | ||
== 列車用信号と閉塞 == | |||
[[File:Why_signals.gif]] | [[File:Why_signals.gif]] | ||
いつだって、線路に1編成より多くの列車が存在するなら衝突事故が発生しうる。これを防ぐため、道中と交差点に信号を設置しよう。信号は線路を「閉塞(へいそく)」と呼ばれる区間に分割する。 | |||
信号は、'''どの閉塞にも1編成までしか存在できない'''ことを保証してくれる。すでに列車が存在する閉塞に2編成目の列車が進入しようとすると、その閉塞へと続く(直前の)信号で止められて待たされる。 | |||
閉塞は、プレイヤーが信号を持っている間、色付きで表示される。画像は閉塞可視化の様子で、ここでは全部で11の閉塞が見て取れる。列車用信号と連動式列車用信号は閉塞を分割するが、駅はなにもしない。 | |||
[[File:Rail_blocks_example.png|1000px]] | [[File:Rail_blocks_example.png|1000px]] | ||
列車用信号は、続く閉塞に列車が存在しない場合に緑となる。列車が閉塞に進入すると、その閉塞へと続くすべての信号は赤になる。列車が閉塞に進入する予定の場合、信号は赤になる前、しばらくの間黄色になる。 | |||
信号は線路の右側に設置される。列車は進行方向から見て右側にある信号しか通過できない。自動運行の列車は、右側にも信号がない限り左側の信号を通過できない。このせいで、一見線路がつながって見えるのに実は一方通行になっている部分が生じ、「到達経路なし」エラーを発生させてしまうことがある。 | 信号は線路の右側に設置される。列車は進行方向から見て右側にある信号しか通過できない。自動運行の列車は、右側にも信号がない限り左側の信号を通過できない。このせいで、一見線路がつながって見えるのに実は一方通行になっている部分が生じ、「到達経路なし」エラーを発生させてしまうことがある。 | ||
Line 26: | Line 30: | ||
# 左半分は双方通行で、分岐した上の線路は右から左、下の線路は左から右。 | # 左半分は双方通行で、分岐した上の線路は右から左、下の線路は左から右。 | ||
== | == 連動式列車用信号 == | ||
ある列車が交差点上で待っている場合、たとえ別方向に向かっている他の列車がいても待たされることになる。そうした列車はさらに他の列車を待たせることとなり、システム全体が遅くなってしまう。輸送システムは列車が交差点上で待たされることを避けねばならない。Factorioにおいては、[[Rail chain signal/ja|連動式列車用信号]]がこうした事態を防いでくれる。 | |||
[[File:Chain-signal-guards-crossroad.png|1000px]] | [[File:Chain-signal-guards-crossroad.png|1000px]] | ||
最も重要なルールは、列車が連動式信号の'' | 最も重要なルールは、列車が連動式信号の''直後''の閉塞で長期間待機することはできないということだ(逆に通常信号の場合、直後の閉塞で待つことができる)。列車は交差点で待つべきではないので、以下のよく言われるルールが導かれる:「交差点とその直前では連鎖式信号を用い、交差点を出たところに通常信号を置け」。一般に、待機中の列車が別路線の列車の邪魔になる位置では、そこで待たせないように連鎖式信号を使うべきだ。 | ||
[[File:Double-crossing.gif|1000px]] | [[File:Double-crossing.gif|1000px]] | ||
連鎖式信号はどのように動いているのだろうか?列車が連鎖式信号を通過できるかどうかを決めるには、その信号から、次の通常信号か駅か(早い方) | 連鎖式信号はどのように動いているのだろうか?列車が連鎖式信号を通過できるかどうかを決めるには、その信号から、次の通常信号か駅か(早い方)までにその列車が辿るだろう経路を考える。その経路上の全ての閉塞が空いているときのみ、その列車は連動式信号を通過できる。列車が通り過ぎると、その経路上の全閉塞は予約(reserve)され、実際に通過するまで他の列車は進入できない。出口信号が1つのみの閉塞へと続く連動式信号は、つねにその出口信号と同じ色になる。路線が分岐する場合は、ある出口信号が赤で別の出口信号は緑といったことがありえる。その場合、その閉塞へと続く連動式信号は青になり、いくつかのパスは空いているが他のパスはそうでないことを示す。 | ||
[[File:Chain_signal_colors.png|1000px]] | [[File:Chain_signal_colors.png|1000px]] | ||
== | === 閉塞の分割とスループットの向上 === | ||
交差点が1つの閉塞で、入り口に連動式列車用信号、出口に列車用信号がある場合、交差点を複数の列車が同時に通過することはできない。交差点は機能するが、複数の列車が同時に通過できるように、交差点を信号のある閉塞に分割することができる。また、直線の長い線路を信号機で分割し、複数の列車が通過できるようにすることで、スループットを向上させることもできる。 | |||
鉄道ネットワークが多くの連動式列車用信号を含む場合、ある列車が連動式列車用信号1つを通り過ぎただけで大量の閉塞が予約される事態が起こりうる。こうなると他の列車の動きも制約され、総体としてスループットが落ちる。なので、可能な限り列車用信号を使い、連動式列車用信号は必要なときだけ使うようにすることがよくおすすめされる。 | |||
# | |||
== デッドロック == | |||
信号を用いると、列車は他の列車を待たせる場合がある。その帰結として、列車が連鎖してしまい、どの列車も次の列車を待機していて、しかも最後の列車は最初の列車を待機している…といった事態が発生しうる。この状況はデッドロックと呼ばれ、実際、手動で解消しない限りすべての列車が永久に待機し続けることとなる。これが起こったエリアを通過する列車全てが詰まってしまうことになるので、これを避け、また可能な限り早く解決すべきである。デッドロックが生じる最もよくある原因としては | |||
# 交差点上で列車が待機していて | |||
# 鉄道ネットワークが列車に対し十分なスペースを備えていない | # 鉄道ネットワークが列車に対し十分なスペースを備えていない | ||
Line 51: | Line 59: | ||
[[File:Deadlock_anim.gif]] | [[File:Deadlock_anim.gif]] | ||
上に示すイメージは、列車用信号のみが用いられ、連動式列車用信号が欠如していることによって生じたデッドロックである。結果として、列車は交差点上で待つことができてしまい、デッドロックを引き起こす。この交差点の修正版もすでに上掲した。交差点とその直前の8つの信号が、交差点上で待機することを許してしまっているので、これを連動式列車用信号に置き換えねばならない。上述のように、一般に交差点とその直前では連動式列車用信号が用いられるべきだ。 | |||
[[File:Deadlock_too_many_trains.png|1000px]] | [[File:Deadlock_too_many_trains.png|1000px]] | ||
この画像に見られるデッドロックは、列車ネットワーク内に存在する円環が、そこに収まる量よりも多くの列車によって利用されることで発生している。信号は正しい配置なので、これを解消するには円環を排除するか、このエリアを通らなければならない列車を減らす。 | |||
[[File:Signal_deadlock.png|1000px]] | [[File:Signal_deadlock.png|1000px]] | ||
このデッドロックもまた、小さすぎる円環に多すぎる列車が殺到したことで発生している。デッドロックはたった2編成でも起こりうることがわかる。このケースでは、デッドロックは図に示した信号を連動式列車用信号に置き換えることでも解消できる。問題の円環に1編成しか進入できないことを保証してくれるからだ。しかしながら、こうすると本線で列車が待たされることになるので、駅付近に列車待避所を作る必要がある。 | |||
== | == 列車の長さと信号間隔 == | ||
[[File:Deadlock_signal_space.png|1000px]] | [[File:Deadlock_signal_space.png|1000px]] | ||
この画像は、2つのT字路(訳注:鉄道でもT字路っていうの?) | この画像は、2つのT字路(訳注:鉄道でもT字路っていうの?)間で起こったデッドロックを示している。これは、ある列車が交差点上で待機しているとき、その最後尾はまだ直前の交差点にいるせいで発生している。このT字路2つは、それぞれを見れば正しく信号配置されているが、お互いに近すぎる。2つで1つの巨大交差点を作っているとも言えるだろう。これを修正するには2つの方法がある。1つはT字路間の通常信号を連動式信号に変える方法。もう一つはT字路をお互いもっと離して設置する方法。 | ||
T字路の出口信号を超えたら、次の信号は十分遠く、鉄道ネットワーク上に存在する''最も長い'' | T字路の出口信号を超えたら、次の信号は十分遠く、鉄道ネットワーク上に存在する''最も長い''列車が収まるくらいの間隔をおいて配置しなければならない。概して、すべての通常信号の後にもその程度のスペースは空けておくべきだろう。 | ||
鉄道システムを設計する前に、最大の列車長を決めておき、それを守り続けることが推奨される。閉塞は、その最大長に沿って配置すれば良い。 | |||
== 例 == | == 例 == | ||
=== T字路 === | |||
=== T字路 | |||
この画像では基本的な3方向交差を示した。列車用信号が交差内部に設置され、場合によっては2編成以上が交差点内部に入れるようになっている。たとえば、1編成が左から右へ、別の編成が右から左へ向かっている時、それぞれの列車は異なる閉塞を通る。前者は左側の黄色、青、右下の黄色と走り抜ける。後者は上の黄色、上の赤を利用することになる。これらは別の閉塞を利用するので、この交差点を同時に利用できる。これは交差点が機能する上での必須条件ではないが、労せずによいスループットを出せる方法だ。 | |||
<gallery mode="nolines" widths=800px heights=800px> | <gallery mode="nolines" widths=800px heights=800px> | ||
Line 86: | Line 90: | ||
</gallery> | </gallery> | ||
=== 待避所 | === 待避所 === | ||
複数の列車が同じ駅を利用する場合、列車は本線上で待機することとなり、ネットワーク上の交通渋滞やデッドロックを引き起こしかねない。これを避ける方法の一つとして、それぞれの駅に列車用の待避所を設ける事が考えられる。 | |||
[[File:Train_waiting_area.png|800px]] | [[File:Train_waiting_area.png|800px]] | ||
画像では、2つの駅に共用の待避所がみられる。待避所へと続く信号は通常信号で、入った列車が長時間停車できるようになっている。待避所から出る信号は連動式信号で、待避所と駅との間の線路が妨害されないようになっている。駅もまた(それぞれ) | 画像では、2つの駅に共用の待避所がみられる。待避所へと続く信号は通常信号で、入った列車が長時間停車できるようになっている。待避所から出る信号は連動式信号で、待避所と駅との間の線路が妨害されないようになっている。駅もまた(それぞれ)別の閉塞になっていて、これによりすべての駅が同時に利用可能であることが保証されている。 | ||
待避所を設計する上では2つのやり方がある。並列 | 待避所を設計する上では2つのやり方がある。並列(上に示したように)と直列である。並列版は拡張性がよく、スペースも取らないし複数の駅が待避所を共用できる。直列版は以下に示すようなもので、簡単に作れるが複数の駅で共用することはできない(し、ごくわずかなUPS向上しかもたらさない)。待避所は「スタッカー」とも呼ばれる。 | ||
[[File:Train_waiting_area_sequential.png|800px]] | [[File:Train_waiting_area_sequential.png|800px]] | ||
Line 103: | Line 107: | ||
* [[Railway/ja|鉄道]] | * [[Railway/ja|鉄道]] | ||
* [[Rail signal/ja|列車用信号]] | * [[Rail signal/ja|列車用信号]] | ||
* [[Rail chain signal/ja| | * [[Rail chain signal/ja|連動式列車用信号]] |
Latest revision as of 10:20, 12 August 2024
列車用信号はFactorioの鉄道システムを機能させる上で必要不可欠である。このチュートリアルでは、どのようなときになぜ信号が用いられるか、連動式列車用信号はどのように動作するのか、デッドロックとは何でどうすれば回避できるかを説明する。目標は、読者がスムースな鉄道システムを運用できるようになり、よくある問題も解決できるようになることである。よくある問題や利用例もいくつか示す。
このチュートリアルの大部分では、二本の並行したレールを、それぞれ片側通行する鉄道システムを使用する。初心者は、単線を双方向に通行するシステムよりも、こちらのシステムを使うことをおすすめする。単線双方向は、列車数が増加したときに問題が発生しやすいためである。
全ての交差点付近にレーダーを配備し、問題をすばやく特定できるようにしておくことをおすすめする。また、新たな列車や駅がシステムに追加された際は、燃料補給の自動化を可能な限り早く行っておくことも推奨される。補給は、列車が持つ時刻表上のどこかの駅でついでに行ってもいいし(このとき燃料を駅に輸送することもある)、独立した燃料補給駅を時刻表に書き加えても良い。
列車用信号と閉塞
いつだって、線路に1編成より多くの列車が存在するなら衝突事故が発生しうる。これを防ぐため、道中と交差点に信号を設置しよう。信号は線路を「閉塞(へいそく)」と呼ばれる区間に分割する。 信号は、どの閉塞にも1編成までしか存在できないことを保証してくれる。すでに列車が存在する閉塞に2編成目の列車が進入しようとすると、その閉塞へと続く(直前の)信号で止められて待たされる。
閉塞は、プレイヤーが信号を持っている間、色付きで表示される。画像は閉塞可視化の様子で、ここでは全部で11の閉塞が見て取れる。列車用信号と連動式列車用信号は閉塞を分割するが、駅はなにもしない。
列車用信号は、続く閉塞に列車が存在しない場合に緑となる。列車が閉塞に進入すると、その閉塞へと続くすべての信号は赤になる。列車が閉塞に進入する予定の場合、信号は赤になる前、しばらくの間黄色になる。
信号は線路の右側に設置される。列車は進行方向から見て右側にある信号しか通過できない。自動運行の列車は、右側にも信号がない限り左側の信号を通過できない。このせいで、一見線路がつながって見えるのに実は一方通行になっている部分が生じ、「到達経路なし」エラーを発生させてしまうことがある。
この画像では、線路は上から順に:
- 左から右、
- 右から左、
- 双方通行、
- 双方通行、
- 左半分は双方通行で、分岐した上の線路は右から左、下の線路は左から右。
連動式列車用信号
ある列車が交差点上で待っている場合、たとえ別方向に向かっている他の列車がいても待たされることになる。そうした列車はさらに他の列車を待たせることとなり、システム全体が遅くなってしまう。輸送システムは列車が交差点上で待たされることを避けねばならない。Factorioにおいては、連動式列車用信号がこうした事態を防いでくれる。
最も重要なルールは、列車が連動式信号の直後の閉塞で長期間待機することはできないということだ(逆に通常信号の場合、直後の閉塞で待つことができる)。列車は交差点で待つべきではないので、以下のよく言われるルールが導かれる:「交差点とその直前では連鎖式信号を用い、交差点を出たところに通常信号を置け」。一般に、待機中の列車が別路線の列車の邪魔になる位置では、そこで待たせないように連鎖式信号を使うべきだ。
連鎖式信号はどのように動いているのだろうか?列車が連鎖式信号を通過できるかどうかを決めるには、その信号から、次の通常信号か駅か(早い方)までにその列車が辿るだろう経路を考える。その経路上の全ての閉塞が空いているときのみ、その列車は連動式信号を通過できる。列車が通り過ぎると、その経路上の全閉塞は予約(reserve)され、実際に通過するまで他の列車は進入できない。出口信号が1つのみの閉塞へと続く連動式信号は、つねにその出口信号と同じ色になる。路線が分岐する場合は、ある出口信号が赤で別の出口信号は緑といったことがありえる。その場合、その閉塞へと続く連動式信号は青になり、いくつかのパスは空いているが他のパスはそうでないことを示す。
閉塞の分割とスループットの向上
交差点が1つの閉塞で、入り口に連動式列車用信号、出口に列車用信号がある場合、交差点を複数の列車が同時に通過することはできない。交差点は機能するが、複数の列車が同時に通過できるように、交差点を信号のある閉塞に分割することができる。また、直線の長い線路を信号機で分割し、複数の列車が通過できるようにすることで、スループットを向上させることもできる。
鉄道ネットワークが多くの連動式列車用信号を含む場合、ある列車が連動式列車用信号1つを通り過ぎただけで大量の閉塞が予約される事態が起こりうる。こうなると他の列車の動きも制約され、総体としてスループットが落ちる。なので、可能な限り列車用信号を使い、連動式列車用信号は必要なときだけ使うようにすることがよくおすすめされる。
デッドロック
信号を用いると、列車は他の列車を待たせる場合がある。その帰結として、列車が連鎖してしまい、どの列車も次の列車を待機していて、しかも最後の列車は最初の列車を待機している…といった事態が発生しうる。この状況はデッドロックと呼ばれ、実際、手動で解消しない限りすべての列車が永久に待機し続けることとなる。これが起こったエリアを通過する列車全てが詰まってしまうことになるので、これを避け、また可能な限り早く解決すべきである。デッドロックが生じる最もよくある原因としては
- 交差点上で列車が待機していて
- 鉄道ネットワークが列車に対し十分なスペースを備えていない
上に示すイメージは、列車用信号のみが用いられ、連動式列車用信号が欠如していることによって生じたデッドロックである。結果として、列車は交差点上で待つことができてしまい、デッドロックを引き起こす。この交差点の修正版もすでに上掲した。交差点とその直前の8つの信号が、交差点上で待機することを許してしまっているので、これを連動式列車用信号に置き換えねばならない。上述のように、一般に交差点とその直前では連動式列車用信号が用いられるべきだ。
この画像に見られるデッドロックは、列車ネットワーク内に存在する円環が、そこに収まる量よりも多くの列車によって利用されることで発生している。信号は正しい配置なので、これを解消するには円環を排除するか、このエリアを通らなければならない列車を減らす。
このデッドロックもまた、小さすぎる円環に多すぎる列車が殺到したことで発生している。デッドロックはたった2編成でも起こりうることがわかる。このケースでは、デッドロックは図に示した信号を連動式列車用信号に置き換えることでも解消できる。問題の円環に1編成しか進入できないことを保証してくれるからだ。しかしながら、こうすると本線で列車が待たされることになるので、駅付近に列車待避所を作る必要がある。
列車の長さと信号間隔
この画像は、2つのT字路(訳注:鉄道でもT字路っていうの?)間で起こったデッドロックを示している。これは、ある列車が交差点上で待機しているとき、その最後尾はまだ直前の交差点にいるせいで発生している。このT字路2つは、それぞれを見れば正しく信号配置されているが、お互いに近すぎる。2つで1つの巨大交差点を作っているとも言えるだろう。これを修正するには2つの方法がある。1つはT字路間の通常信号を連動式信号に変える方法。もう一つはT字路をお互いもっと離して設置する方法。
T字路の出口信号を超えたら、次の信号は十分遠く、鉄道ネットワーク上に存在する最も長い列車が収まるくらいの間隔をおいて配置しなければならない。概して、すべての通常信号の後にもその程度のスペースは空けておくべきだろう。
鉄道システムを設計する前に、最大の列車長を決めておき、それを守り続けることが推奨される。閉塞は、その最大長に沿って配置すれば良い。
例
T字路
この画像では基本的な3方向交差を示した。列車用信号が交差内部に設置され、場合によっては2編成以上が交差点内部に入れるようになっている。たとえば、1編成が左から右へ、別の編成が右から左へ向かっている時、それぞれの列車は異なる閉塞を通る。前者は左側の黄色、青、右下の黄色と走り抜ける。後者は上の黄色、上の赤を利用することになる。これらは別の閉塞を利用するので、この交差点を同時に利用できる。これは交差点が機能する上での必須条件ではないが、労せずによいスループットを出せる方法だ。
待避所
複数の列車が同じ駅を利用する場合、列車は本線上で待機することとなり、ネットワーク上の交通渋滞やデッドロックを引き起こしかねない。これを避ける方法の一つとして、それぞれの駅に列車用の待避所を設ける事が考えられる。
画像では、2つの駅に共用の待避所がみられる。待避所へと続く信号は通常信号で、入った列車が長時間停車できるようになっている。待避所から出る信号は連動式信号で、待避所と駅との間の線路が妨害されないようになっている。駅もまた(それぞれ)別の閉塞になっていて、これによりすべての駅が同時に利用可能であることが保証されている。
待避所を設計する上では2つのやり方がある。並列(上に示したように)と直列である。並列版は拡張性がよく、スペースも取らないし複数の駅が待避所を共用できる。直列版は以下に示すようなもので、簡単に作れるが複数の駅で共用することはできない(し、ごくわずかなUPS向上しかもたらさない)。待避所は「スタッカー」とも呼ばれる。