Логистика

【Factorio】Принципы размещения сигналов цепи

Сигналы цепи для поездов выглядят как много для запоминания, но критерии размещения на самом деле довольно просты. Для новичков и игроков среднего уровня в ванильной среде Factorio 2.0 и Space Age, начинающих строить пересечения, достаточно помнить основное правило: входы — сигналы цепи, места, где поезд может спокойно остановиться после выхода — обычные сигналы.

Логистика

【Factorio】Принципы размещения сигналов цепи

Сигналы цепи для поездов выглядят как много для запоминания, но критерии размещения на самом деле довольно просты. Для новичков и игроков среднего уровня в ванильной среде Factorio 2.0 и Space Age, начинающих строить пересечения, достаточно помнить три основных принципа: входы — сигналы цепи, место после выхода из пересечения, где поезд может остановиться — обычный сигнал, а выходы из коротких последовательных пересечений — также сигналы цепи. Придерживаясь этих правил, вы не очень ошибетесь.

Я сам на своем первом Т-образном перекрёстке застрял, когда поезда постоянно останавливались внутри пересечения. Я думал: «Почему это забивается?» Но когда я изменил вход на сигнал цепи и создал место для стоянки размером с состав после выхода, поток мгновенно стабилизировался.

В этой статье я разберу эти три принципа на практических примерах и объясню, где размещать сигналы, чтобы избежать пробок.

##【Factorio】Три принципа размещения сигналов цепи

Главный вывод: сигнал цепи для поездов — это «сигнал, который ставится перед входом в пересечение», а обычный сигнал — это «сигнал, который ставится после выхода из пересечения, если там можно остановиться». Это самый практичный способ запомнить. После того как я разобрался в этом, я перестал гадать с размещением на Т-образных и крестообразных пересечениях.

Ссылка: я использую объяснение из официального wiki по сигналам цепи (Factorio Wiki), но помните, что официальная страница может обновляться. Пожалуйста, проверьте текущее содержание и URL перед публикацией: https://wiki.factorio.com/Rail_chain_signal/ja

Принцип 1: Входы — сигналы цепи

На входы в развилки, слияния и пересечения сначала ставьте сигнал цепи. Это самый важный из трёх принципов. Причина проста: вместо того чтобы позволить поезду «входить и решать потом», нужно заставить его «решить до входа, сможет ли он выехать».

Если поставить обычный сигнал на вход, поезд будет склонен входить, если только следующий блок свободен. Тогда он проникает головой в пересечение и останавливается, не доехав конца, застревая вместе с последующими и противоположными поездами. Честно говоря, это классическая ошибка новичка. Я тоже изначально мучился с «я поставил сигнал, но есть пробка», но когда я изменил вход на сигнал цепи, частота остановок в пересечении заметно снизилась.

Сигнал цепи смотрит до следующего сигнала и решает, может ли поезд входить. Поэтому, если после пересечения всё закрыто, поезд будет ждать у входа. Другими словами, это сигнал, который не позволяет пересечению служить местом ожидания. Логика одинакова для развилок и слияний: перед местом, где маршруты могут пересекаться, всегда заставляйте смотреть вперёд — это основной принцип.

Если пересечение позволяет размещение сигналов внутри, обычная практика — соединять внутренние блоки сигналами цепи. Так вы можете разделить непересекающиеся маршруты более тонко и пропускать больше поездов в часы пик. Особенно ощутимо это на двухпутных крестообразных пересечениях и пересечениях со смешанными поворотами.

Принцип 2: Обычный сигнал только в местах, где поезд может остановиться

Трюк в размещении обычного сигнала — ставить его только в места, где можно сказать: «Если поезд здесь остановится, это не заблокирует всю сеть». Другими словами, обычный сигнал используется для определения позиции остановки.

Типичный пример — достаточно длинная прямая линия после выхода из пересечения, где остановка не повлияет на развилки и пересечения позади. Если поставить обычный сигнал в таком месте, поезд полностью выедет из пересечения перед остановкой. Вот почему говорят «выход — обычный сигнал», хотя точнее было бы сказать: «выход — обычный сигнал, если за ним есть достаточное место для стоянки».

С другой стороны, если поставить обычный сигнал там, где не нужно останавливаться, этот сигнал становится законной стоянкой для поезда. Тогда кажется, что поезд выехал из пересечения, но на самом деле его задняя часть остаётся в пересечении, блокируя следующий поезд. Дедлоки кажутся сложными, но часто источник — это «обычный сигнал в месте, где нельзя останавливаться».

Этот принцип становится важнее в загруженной магистрали, чем в одном Т-образном пересечении. Чем больше поездов, тем больше то, где вы их оставляете, влияет на пропускную способность. Обычный сигнал удобен, но размещение его — это всё равно что объявить: «Здесь разрешена остановка». Эта логика снижает ошибки размещения.

💡 Tip

Если сомневаетесь, представьте состояние, при котором поезд остановился на этом сигнале. Если остановка не блокирует пересечение или развилку, используйте обычный сигнал; если блокирует хотя бы немного — лучше сигнал цепи.

Принцип 3: Последовательные пересечения и короткие блоки — соединяйте сигналами цепи

«Выход — обычный сигнал» — это основное правило, но не всегда верно. Если место за пересечением очень короткое или сразу за ним следующее пересечение, развилка или сигнал, лучше соединить выход тоже сигналом цепи для большей стабильности.

Проблема, которая здесь возникает: выход с обычным сигналом заставляет поезд «считать, что он вышел из пересечения» и ехать дальше. Но на практике следующий блок слишком короткий, чтобы вместить весь состав, и часть поезда остаётся в предыдущем пересечении. Выглядит как выход, но в реальности — нет, и это становится сердцевиной пробки.

Это часто случается на последовательных Т-образных перекрёстках или когда крестообразное пересечение сразу переходит в слияние. Я тоже делал такое перед станцией, и поезда останавливались в неудачном месте, замедляя всю сеть. В таких случаях лучше сделать выход сигналом цепи — это заставляет «смотреть до следующей безопасной позиции остановки как единое целое», и поток становится чище.

В двух словах, случаи для соединения сигналами цепи:

  1. Максимальный состав не помещается в зону ожидания даже если выход выглядит снаружи
  2. Сразу за выходом есть другая контрольная точка

Первое — предотвращение выпирания пересечения, второе — контроль последовательных блоков. В примерах сообщества последовательные пересечения и короткие выходы часто трактуются как исключение из «выход — обычный сигнал», и такое понимание практичнее механического запоминания. Входы, промежуточные сигналы и выходы коротких участков — сигналы цепи, и переход на обычный сигнал только при наличии достаточного места. При такой схеме даже масштабные сети редко ломаются.

Предварительные знания: разница между обычным сигналом и сигналом цепи

Уточнение терминов: блокировка (сегмент) и логика резервирования

Это облегчит понимание различий. Статья основана на ванильном Factorio 2.0, в Space Age логика та же. Версии 2.0 и Space Age выходили одновременно, и сигналы работают одинаково в обеих.

Железнодорожные сигналы делят пути на блоки — участки между сигналами или вокруг развилок, и управляют входом в эти блоки. Обычно в блоке с поездом не может быть другого поезда. Резервирование здесь означает, что поезд заранее забивает маршрут, по которому он будет ехать. Я начинал с простого понимания «красный — стоп, зелёный — внимание», но я заметил, что пересечения, где часто происходили пробки, не учитывали эту логику резервирования.

Обычный сигнал в основном смотрит, может ли поезд входить в блок впереди. Сигнал цепи, наоборот, смотрит, насколько далеко вперёд продолжается его маршрут, прежде чем решить, может ли он входить. Руководство по сигналам (Factorio Wiki) показывает, что управление входом в пересечения опирается на использование сигналов цепи. Если выразить роли в одну фразу: обычный сигнал смотрит, может ли поезд входить в следующий блок; сигнал цепи смотрит, может ли поезд беспрепятственно доехать до следующего сигнала.

Space Age/ja wiki.factorio.com

Логика определения обычного сигнала и сигнала цепи

Обычный сигнал хорош на входе в «участок, где можно остановиться». Он пропускает поезда, если следующий блок свободен, поэтому удобен на прямых и в очередях перед станциями. Но размещение на входе в пересечение — плохая идея, потому что логика слишком поверхностна. Поезд входит в пересечение, если хоть где-то внутри есть место, и если выход забит, поезд останавливается посередине. Это корень пробок при использовании обычного сигнала на входе.

Сигнал цепи работает наоборот — очень осторожно. Перед входом он смотрит, продолжается ли маршрут до следующего сигнала, и если нет — ждёт. Это логика, которая не позволяет пересечению служить местом стоянки. Когда вы это понимаете, становится ясно, почему «вход — цепь, выход — обычный» — это основное правило. Вход проверяет возможность входа, выход определяет позицию остановки.

Видимое в игре отличие: когда вы ставите обычный сигнал на входе, поезд только смотрит на ближайший блок пересечения и проходит, если он свободен. Но реальность может быть, что блока за выходом не хватает. Тогда часть поезда остаётся в пересечении, блокируя его. Я в самом начале был в замешательстве: «Я же поставил сигнал, почему ситуация только ухудшилась?» На самом деле проблема была не в сигнале, а в том, что я разрешил остановку в неправильном месте.

Это становится ясно, если думать о пересечении как об едином резервировании. Сигнал цепи работает по логике: «Если входишь в пересечение, зарезервируй место до безопасной позиции за ним, иначе не входи». Поэтому поезда редко останавливаются посередине. Но если выход сразу за пересечением очень короткий, то переключение выхода на обычный сигнал разрешает остановку в этом коротком месте. Тогда нужно либо продлить выход, либо оставить выход сигналом цепи и смотреть дальше в безопасное место.

Цвета сигналов (синий/красный/зелёный) и логика ожидания перед пересечением

Цвета тоже проще понимать, если смотреть на них не как на «ехать/стоп», а как на результат логики резервирования. Обычный сигнал обычно горит зелёным при разрешении и красным при остановке. На сигнале цепи появляется синий, что поначалу может запутать. Синий в общих чертах означает впереди есть маршрут, но условный, при котором можно ехать. Если вы видите синий вокруг пересечения, это значит: «смотрим вперёд и едим условно».

В пересечениях важнее, чем цвета, концепция ожидания перед пересечением. Не заставляй поезд ждать внутри — заставь его ждать снаружи. Это одно изменение значительно улучшает стабильность сети. На схеме это выглядит так:

С обычным сигналом на входе
→ Следующий блок пересечения свободен, поезд входит
→ Выход забит, поезд останавливается внутри

   [обычный]
----S------X****пересечение****X---[забито]
             ↑
           останавливается здесь

С сигналом цепи на входе
→ Проверяем до конца пересечения
→ Если не может выехать, ждём перед входом

   [цепь]
----C------X****пересечение****X---[забито]
      ↑
   ждёт здесь

«Ждать перед входом» — это часть логики едино

го резервирования пересечения. Пересечение — место для проезда, ожидание — снаружи. В совместных сетях один этот принцип значительно снижает ошибки. Выглядит просто, но это критически важно — без этого любое красивое пересечение быстро забьётся.

Для базового ознакомления с сигналами рекомендую официальное руководство на Wiki, плюс практические примеры. Когда вы начинаете видеть пересечение не как коридор, а как «место, которое используется только когда выполнены все условия и вся машина проходит», разница между обычным и цепным сигналом становится очевидной.

Принцип 1: Входы в развилки, слияния и пересечения — сигналы цепи

Это самый надёжный критерий размещения сигналов цепи. На входы в развилки, слияния и пересечения ставьте сигналы цепи. Зафиксировав это правило, вы уменьшите неуверенность в проектировании. Причина простая: сигнал цепи позволяет судить: «Даже если прямо перед входом свободно, если выход забит, не входи». Это равносильно дизайну, при котором пересечение не служит местом ожидания.

Честно говоря, я в начале думал: «Если вход горит зелёным, почему бы не входить?» Но на входе с обычным сигналом поезд не смотрит вперёд пересечения, поэтому его голова входит, а дальше забито — он останавливается внутри. Когда один поезд занял это место, соседние поезда и поезда с других направлений тоже застревают, и всё мгновенно заболтается. Наоборот, если сменить вход на сигнал цепи, движение меняется на синий перед входом, жду условно, когда всё готово — зелёный и быстро проезжаю. Это видно сразу после замены, поток стабилизируется словно по волшебству.

Сигнал цепи, как объясняется в официальной вики, управляет входом с учётом маршрута. Если думать о пересечении как о «я зарезервирую весь маршрут и проеду, если смогу выехать полностью», то ошибок в размещении будет меньше.

Т-образное пересечение: где класть сигнал цепи на входе

На Т-образном это видно интуитивно. Здесь главная линия идёт прямо, поперечная идёт сбоку, и на каждый вход в пересечение нужен сигнал цепи. То есть перед входом главной в точку пересечения и перед входом поперечной. Цель — не оставлять место для остановки внутри пересечения.

Базовая логика Т-образного

        боковая
         |
        [C]
         |
==****пересечение****==
   [C]          [выход]
главная→

Логика такая: «Перед входом в квадрат Т-образного решаем, может ли поезд проехать весь путь». Сигнал цепи позволяет поезду зарезервировать маршрут не до самого пересечения, а до выхода из него перед входом. Поэтому, если выход забит, он ждёт перед пересечением. С обычным сигналом поезд входит, если в пересечении хоть что-то свободно, и часто не доезжает до конца и останавливается внутри.

Отрицательный пример тоже хорошо виден на Т-образном. Поезд с главной входит на обычный сигнал в пересечение, а выход за слиянием забит и останавливается внутри. Теперь поезд со стороны не может влезть. Дальше главная тоже стопит, и Т-образное само по себе блокирует обе линии. Я потратил кучу времени на такую конфигурацию, но стоило сменить вход на цепь, как «поезд, стоящий в пересечении» исчез, и динамика изменилась радикально.

Крестообразное пересечение: почему на все входы сигналы цепи

На крестообразном это правило критично. Комбинаций маршрутов больше, чем на Т-образном, поэтому даже один обычный сигнал на входе резко повышает вероятность остановки внутри пересечения. Все четыре входа (север, юг, восток, запад) мешают друг другу, поэтому базовый подход — на все входы сигналы цепи.

Базовая логика крестообразного

        [C]
         |
==****пересечение****==
[C]                 [C]
         |
        [C]

Почему на все входы? Потому что крестообразное — это не место, где можно ехать, если свободен только свой маршрут. Например, если поезд востока-запада на обычный сигнал входит в пересечение, останавливается внутри, он одновременно блокирует север-юг, все повороты и комбинации. Один поезд, остановившись внутри, отнимает сразу множество проходов. Это мощь цепной реакции остановок.

Когда все входы имеют сигналы цепи, поезда рассматривают крестообразное не как «место для входа», а как «место, куда входишь только если можешь полностью пройти». На практике это выглядит красиво: поезда выстраиваются перед входом, и как только маршрут свободен, нужный поезд скользит через. При обычных сигналах на входе поезд навязывается в пересечение, а при сигналах цепи — жидкое, ожидающее перед входом. Разница в стабильности потока огромна.

В руководстве по сигналам цепи на вики логика управления входом в пересечения — это основа. Крестообразное — это максимально прямое применение этой логики. Если привыкнуть к нему, альтернативные пересечения тоже легче проектировать.

Y-образная развилка/слияние: сигнал цепи перед развилкой/перед слиянием

Y-образная выглядит мягче и её легко пропустить, но логика та же, что в пересечении. Перед местом, где маршрут разветвляется, или перед местом, где два маршрута становятся одним, ставьте сигнал цепи.

Y-образная развилка

      ↗ выход A
---[C]<
      ↘ выход B

Y-образное слияние

вход A ↘
       >[C]--- после слияния
вход B ↗

Сигнал цепи перед развилкой гарантирует: если выбранный выход забит, поезд не входит в развилку. Если это обычный сигнал, поезд входит и пытается свернуть в конец развилки, затем останавливается, блокируя другой выход. Y выглядит более мягкой, чем крестообразное, но на деле засоряется легко. Люди часто думают: «Это только Y, немного стоять внутри нормально?» Но на практике очень неудобно.

Слияние работает так же — если после слияния нет места, не впускайте поезд со стороны в область слияния. Если один поезд встанет полностью внутри слияния, он заблокирует противоположный вход. Особенно когда боковая ветка сливается в главную — если поезд со стороны застанет внутри слияния, это замедляет и главную. Я видел, как с обычным сигналом поезд «немного входит и мешает всем». С сигналом цепи этот «немного входит» исчезает.

Цены логики про входы и цепь сигналы видны в примерах конфигураций и эксперт-статьях. Y — это пересечение, которое выглядит мягче, но критерии те же. Перед развилкой, перед слиянием — сигнал цепи на входе. С таким вот простым правилом ошибок на Т-образном, крестообразном и Y не будет.

www.jias.jp

Принцип 2: Обычный сигнал только на выходах с достаточным местом для остановки

Логика расчёта длины для максимального состава

Здесь важное уточнение: «выход можно делать обычным сигналом» не значит, что потому что это выход, автоматически обычный сигнал. Условие одно: за пересечением есть место, в котором полностью поместится ваш самый длинный состав. Если упустить этот момент, то даже при цепи на входе, внутри всё равно будут остановки.

Как в практике считают максимальный состав? Очень просто. Отсчитывают от носа локомотива впереди до конца последнего вагона сзади. То есть не «часто ходящий состав», а самый длинный состав в сети. Если везёте 2-4, то по 2-4; если главные нужны длинные, то по ним. Место за выходом должно быть таким, чтобы весь максимальный состав поместился с запасом.

Проще всего смерить на реальном составе. Остановите поезд на прямой станции, отсчитайте от носа до конца — и вот у вас есть цифра для проектирования пересечений. Я сам примерно строил и потом ругался. Выглядело так, будто поместится, но реально последний вагон чуть-чуть торчал из пересечения. Даже чуть-чуть — это достаточно, чтобы пересечение считалось заблокированным.

Про выходы и условие на длину написано и в примерах конфигураций. Новички часто зубрят «вход — цепь, выход — обычный», но точнее: вход — цепь, выход — обычный, если есть место для стоянки. С таким условием даже на альтернативных развилках ошибки будут меньше.

Чеклист условия обычного сигнала на выходе

Когда не ясно, ставить ли обычный сигнал на выход, смотрите только на один момент: может ли поезд, остановленный на этом сигнале, не свисать в пересечение?

Если может — обычный сигнал работает. Если нет — оставьте выход сигналом цепи.

Пошагово:

  1. Есть ли

article.share

R

RinSeo

Factorio 2,000時間超。100駅以上の列車ネットワーク運用実績と Death World マラソンクリアの経験から、物流・防衛の実践ノウハウをお届けします。