На других языках: Deutsch English Español 日本語 简体中文

Обучение: Руководство по логической сети

From Official Factorio Wiki
Revision as of 13:23, 16 July 2021 by Krunbrun (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Предисловие

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

Индикация фонарем выполнения условия

Индикация фонарем выполнения условия.

Это наиболее простое использование логической сети. Фонарь загорается в зависимости от количества предметов в сундуке (в данном примере — от пустых бочек).

Настройка подключения схемы

  • Лампа подключить к сундуку.
  • В лампе настроить условие: она должна загореться, когда в сундуке будет меньше 10 пустых бочек.

Настройка условия

  • Открыть настройки лампы (ЛКМ по ней).
  • На входе выбрать канал пустых бочек.
  • Установить оператор < (меньше чем).
  • Установить константу:
    • Кликнуть ЛКМ по константе.
    • Переместить бегунок до 10 или ввести с клавиатуры.
    • Нажать "установить".

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

Переработка нефти

Переработка дизельного топлива

Выравнивать объемы производства дизельного топлива и попутного газа.
  • Эта схема позволяет выравнивать объемы производства дизельного топлива и попутного газа, перерабатывая дизельное топливо в попутный газ.
  • Помпа подключается к резервуару красным проводом.
  • Помпа включается по условию: Дизельное топливо > 20000.

Переработка мазута

Сбалансированная переработка мазута в смазочную жидкость.
  • Эта схема расширение предыдущей, благодаря которой осуществляется переработка мазута в смазочную жидкость.
  • Помпа включается по условию: Мазут > 20000.

Индикаторы

Освещение по условию

В этой схеме лампы соединяются последовательно.
  • В этой схеме подключается линия из ламп к резервуару.
  • Устанавливая различные условия на каждую из ламп, можно построить индикаторную полоску.
  • Условие включения первой лампы: Попутный газ > 100.
  • Другие лампы включаются тогда, когда газ превышает значения 200, 300, 400 и 500 соответственно.

Цвет свечения ламп

Цвет свечения лампы зависит от цвета сигнала.

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

  • Добавить арифметический комбинатор.
  • Подключить резервуар ко входу комбинатора.
  • Выход комбинатора подключить к лампам.
  • Настроить арифметический комбинатор:
    • На входе: Попутный газ + 0 (константа 0 не равна сигналу 0).
    • На выходе: выбрать розовый сигнал (нижняя строчка на последней вкладке сигналов).
  • Настроить лампы:
    • Активировать режим Использовать цвета.
    • Установить условие для розового сигнала.

Разное

Несколько хранилищ

Отображение содержимого хранилища.
  • Если вы подсоедините несколько сундуков к опоре ЛЭП, то на ней будет отображаться сумма предметов из всех сундуков.
  • Так же работает с резервуарами и дронстанциями.

Постоянный комбинатор

Сигналы сгенерированные постоянным комбинатором.
  • Используя постоянный комбинатор вы можете генерировать любой необходимый сигнал.
  • В этом примере генерируется сигнал на канале "Лазерные турели" со значением 50 и 200 на канале "Магазин с бронебойными патронами".
  • Постоянные комбинаторы сами по себе не очень полезны, но мы будем использовать их позже.

Символы (слова) постоянных комбинаторов

Использование комбинаторов для создания надписей.
  • Постоянный комбинатор можно использовать для создания символов. Для этого необходимо выбрать в комбинаторе символьные сигналы, причем каждый комбинатор способен отображать 2 символа друг возле друга.
  • Важно: увидеть эти символы можно только в режиме дополнительной информации (Alt), к тому же в настройках интерфейса должен быть активирован пункт "Показывать настройки комбинаторов в режиме дополнительной информации".

Символы постоянных комбинаторов (управление конвейерами)

Использование постоянных комбинаторов подсказок.
  • Похоже на предыдущий пример. Постоянный комбинатор может использоваться для индикации того, что должно быть на конвейере. Это особенно полезно при обмене чертежей.

Ячейка памяти / Счетчик

Ячейка памяти на основе арифметического комбинатора.
  • Базовая ячейка памяти, которая подсчитывает все предметы, которые перемещает манипулятор.
  • Быстрый манипулятор подключается ко входу и выходу арифметического комбинатора.
  • Если быстрый манипулятор за текущий тик ничего не взял, то значение на входе арифметического комбинатора такое же как и на выходе, благодаря чему значение сохраняется.
  • Когда манипулятор берет что-либо, это значение добавляется к выходному предыдущего тика, что приводит к инкременту значения.

Манипуляторы

Ограничение количества предметов, перемещаемых в сундук

Схема ограничивающая количество перемещаемых предметов.
  • Используя красный провод, манипулятор подключается к ящику.
  • Манипулятор включается по условию: Улучшенная электросхема < 10.
  • В действительности, используя этот способ, манипулятор может поместить в ящик более 10 улучшенных электросхем, т.к. за раз он может брать до 3 предметов (за счет исследований).
  • Эффект от этого явления может быть еще большим, в случае использования пакетного манипулятора, ввиду его большей грузоподъемности.
  • Однако, этот метод дает больший контроль, чем ограничение вместимости сундука.

Сбалансированная загрузка сундуков

Цель: заполнить n сундуков примерно равным количеством предметов.

  • Установить n сундуков и n манипуляторов.
  • Установить 1 арифметический комбинатор.
  • Настроить комбинатор: 'Каждый' разделить на отрицательное количество сундуков, т.е. -n.
  • Соединить все сундуки между собой и подключить ко входу комбинатора красным проводом.
  • Соединить все манипуляторы между собой и подключить к выходу комбинатора красным проводом.
  • Подключить каждый манипулятор к сундуку, который он заполняет, зеленым проводом.
  • Условие включения для каждого манипулятора: 'Все' <= 0 .

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

Нужно учитывать, что ввиду бонуса грузоподъемности для манипулятора, подсчет приблизительный. Если же требуется точный расчет, то размер стака в манипуляторе нужно установить равным 1.

Снабжение форпостов необходимыми предметами

Схема запрашивающая недостающие предметы.
  • Эта схема снабжает сундук хранения форпоста с настраиваемым количеством различных предметов.
  • Например, вы можете снабжать форпост 50 лазерными турелями и 200 магазинами с бронебойными патронами и не беспокоится о переполнении хранилища.
  • Сундук хранения подсоединен ко входу арифметического комбинатора (слева на рисунке) с помощью красного провода.
  • Два других провода соединяют вход комбинатора (справа), постоянный комбинатор и фильтрующий пакетный манипулятор.
  • Арифметический комбинатор умножает каждый входной сигнал на -1.
  • В фильтрующем пакетном манипуляторе выставлен режим "Поставить фильтры".
  • Т.о. на входе фильтрующего пакетного манипулятора получается разница между <постоянный комбинатор> - <количество предметов в сундуке>. Фильтр манипулятора настраивается на первый предмет из списка запроса.

Сбалансированное производство солнечных панелей и аккумуляторов

Схема сбалансированного производства солнечных панелей и аккумуляторов.
  • Эта схема выравнивает производство солнечных панелей и аккумуляторов в требуемом соотношении, в нашем случае 24:20.
  • Первый арифметический комбинатор считывает количество аккумуляторов из сундука и умножает его на 24.
  • Второй арифметический комбинатор считывает выход первого комбинатора и делит его на 20.
  • Это дает число аккумуляторов, которое можно непосредственно сравнить с количеством солнечных панелей в двух манипуляторах.
  • Если количество аккумуляторов больше, то включается манипулятор солнечных панелей, и наоборот, если же количество солнечных панелей больше, то включается манипулятор аккумуляторов.
  • Однако, если они равны машины не работают. Что бы исправить этот недостаток, используя постоянный комбинатор, в манипулятор добавляется сигнал по каналу "Аккумулятор" со значением 1, причем с помощью провода другого цвета.

Суши-конвейеры

Схема считывания содержимого конвейера

Схема считывания содержимого конвейера.
  • Шесть конвейеров, установленные горизонтально, соединены красным проводов, с настройками: "Считывать содержимое конвейера" и "Непрерывно".
  • Этот же красный провод подключен к манипулятору, который переносит предметы на конвейер.
  • Содержимое манипуляторов не считывается.
  • Все манипуляторы работают в режиме "Включить/Выключить".
  • Первый манипулятор включается по условию: "Автоматизированный исследовательский пакет = 0".
  • Остальные манипуляторы включаются по такому же условию, но для других исследовательских пакетов.

Схема считывания содержимого конвейера на основе ячейкой памяти

Схема считывания содержимого конвейера на основе ячейкой памяти.

Эта схема определяет количество предметов каждого типа в петле конвейера, подсчитывая количество загруженных и убранных с конвейера предметов.

  • Все манипуляторы, которые забирают предметы с конвейера, соединены красным проводом и работают в режиме отсутствия действий по сигналу с настройками: "Считать содержимое манипулятора" и "Импульсно".
  • Эти манипуляторы подсоединены ко входу левого арифметического комбинатора.
  • Левый арифметический комбинатор умножает 'каждый' входной сигнал на -1 и передает их на выход.
  • Правый арифметический комбинатор работает как ячейка памяти, описанная выше.
  • Вход ячейки памяти подключен к манипулятору перемещающий предметы на конвейер, а выход — к левому арифметическому комбинатору.
  • Т.о. манипулятор перемещающий предметы на конвейер включается по условию, в зависимости от количества предметов на конвейере.

Электроэнергия

Сохранение пара

Схема оптимизирующая расход пара.
  • Паровой двигатель к электросети подключается не напрямую, а через выключатель питания.
  • Выключатель питания подключается к одному из аккумуляторов в основной сети.
  • Выключатель питания коммутирует сеть тогда, когда A < 10, что значит, что заряд аккумуляторов упал ниже 10%.

Оптимальное использование топлива ядерным реактором

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

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

Схема оптимизирующая расход урановых топливных элементов.

На рисунке справа показана установка из 4 ядерных реакторов, которая потребляют 1 топливный элемент, когда заканчивается пар. Примечание: GUI на картинке был изменен, чтобы показать всю важную информацию без увеличения размера картинки.

Устройство установки представляет собой:

  • Резервуар генерирует сигнал о количестве содержащегося в нем пара. При этом, важно чтобы все резервуары были объединены трубами, а информация о паре вычитывалась только из одного резервуара.
  • Сундук, содержащий урановые топливные элементы для реактора.
  • Манипулятор, выгружающий отработанные урановые топливные элементы из реактора, который подсоединен к резервуару и сундуку. Если уровень пара слишком низкий и в сундуке есть топливные элементы, то манипулятор забирает из реактора отработанные топливные элементы и посылает сигнал по каналу "Отработанный урановый топливный элемент" (в настройках манипулятора выставлена опция "Считывание содержимого манипулятора").
  • Манипулятор, загружающий топливные элементы в реактор, который подключен к выгружающему манипулятору. Размер пачки этого манипулятора равен 1, чтобы за один раз загружать 1 топливный элемент.

Поскольку в схеме используется сигнал от отработанных топливных элементов, для ее старта в реактор необходимо самому загрузить 1 топливный элемент.

Приоритет использования урана в производстве топливных элементов

Схема оптимизирующая производство урановых топливных элементов.

Т.к. постоянное питание реакторов является особо важным процессом, необходима схема, которая будет создавать резерв урана-235 и урана-238 для производства топливных элементов.

Используя разделитель, уран, в зависимости от его вида, разделяется на 2 параллельных конвейера, рядом с которыми установлены манипуляторы для погрузки урана в сундуки, уже из которых уран доставляется в сборочный автомат, где производятся топливные элементы. Топливные элементы, в свою очередь, для хранения загружаются в третий сундук, из которого они попадают в реактор. По каждому виду урана, два манипулятора (загружающий в сундук и выгружающий из него в сборочный автомат) и тайл конвейера, идущий сразу после тайла, из которого берется уран, соединены проводом. В манипуляторах, загружающих уран в сундуки, установлено условие включения: "меньше либо равно x единиц урана (вид определяется конвейером)", а для выгружающих — резервируемое количество (оптимально соотношение 1:19 235 и 238-урана соответственно). Для конвейеров установлены условия: "больше либо равно x единиц урана".

Наконец, манипуляторы, выгружающие уран из сундука в сборочный автомат, соединены с сундуком, хранящий топливные элементы, и следующим условием включения: "урановые топливные элементы = 0". Для создания резерва топливных элементов, условия в манипуляторах необходимо изменить: "меньше либо равно x единиц урановых топливных элементов".

Функции установки:

  • Когда топливных элементов хватает, манипуляторы выключены, а уран двигается по конвейеру дальше для последующей обработки в других целях.
  • Когда топливных элементов не хватает, манипуляторы включены, а конвейеры остановлены до восстановления необходимого уровня запаса урана.
  • Сборочный автомат работает только тогда, когда необходимы урановые топливные элементы, что предотвращает излишнее потребление урана.

Триггеры

RS-триггер на основе одного сравнивающего комбинатора

В обсуждениях на форуме Factorio распространено обсуждение RS-триггера на основе 2 сравнивающих комбинаторов, однако здесь (по ссылке, триггер рассматривается как SR-триггер, и тем не менее, в случае подачи на оба входа истинных сигналов он сбрасывается, т.е. ведет себя как RS-триггер) показано, что версия на основе одного сравнивающего комбинатора лучше. Ниже представлен пример использования такого триггера.

RS-триггер на основе одного сравнивающего комбинатора.
Blueprint.png  Копировать чертеж

0eNrFVk1vozAQ/SuVz1ABCaRBq5WqXntKjqsKOTBJR8IGGTtpFPHfd+w0HyU0G6pVewkxnnmemfdmzI4tSgO1QqlZumOYV7Jh6Z8da3AleWnf6W0NLGVrVNrQG49JLuyLvYU/Z63HUBbwxtKw9QZ4zs48o15P1CBObgXkWIDy80osUHJdqTOAUfviMZAaNcI+A7fYZtKIBSiK7YgjoEAjfCgh1wpzv65KoFPqqiHnStrzCdAPA49t6Rm1NrYOWjQY7QrY6FQZwcvyX1jJFajxEYrnuRGmdGW6DCe+jx1KcB9TDYl1raoyW8ArXyM5kFVldG10djObj6zdI0kKHp2Mdiy0PysFIM8pwYKldHyOKjeo3TI8y8Wup93tl7Yv3fiaOC6zjt6z9uk4VqDaR+rY7CvBO2ZGewUec1qiaobVxaE3mtseiwK7EjVXLsaU/SKPobWe7zHrLYVmpM6WqhIZSsJg6ZKXDQyiYkzF9Vhk9xUU3d3kNiaSQUwEB/l9Hw+uZg1YjGzYiPpA1+/vpKuHjk7fRNf7JrJTsZf05MLwoIFbzLvtOvlEFZNjKepqQ5poNqjz10s9jA6N+fk8Ohx/FMFXNXDqxeCC20F901vCJxN07UjVG9K4+x9YQp5M2LUZfbTpq+XDKRsNnG4cuULZcz089HZWD+D0a8Pz52bnNPgPzTj76dlJAnDfNenZp5fHSr4ACp/NZ3fPnHrkDt64qN31vwbVuFIn43GUjCdxHIVt+xcL2lBp

В этой схеме, паровой двигатель включается, когда заряд аккумулятора падает до 20%, а триггер сохраняет это состояние до тех пор, пока аккумулятор не зарядится до 90%. Использование триггера вносит гистерезис, что позволяет избежать дребезга — частые быстрые включения/выключения схемы.

Здесь, в качестве триггера выступает центральный компаратор с обратной связью. При этом необходимо учитывать, что на вход триггера поступают только бинарные сигналы (0 и 1) — в данной схеме их формируют первые два компаратора. Когда оба входа Signal-R.png и Signal-S.png одновременно истинны, то триггер сбрасывается, т.к. сигнал сброса Signal-R.png обладает большим приоритетом, что и делает этот триггер именно RS-триггером, а не SR-триггером.



RS-триггер на основе двух сравнивающих комбинаторов

RS-триггер на основе двух сравнивающих комбинаторов

Это устройство должно быть знакомо каждому, кто сталкивался с электроникой.

  • Триггер управляется (установка и сброс) с помощью постоянных комбинаторов.
  • Триггер запоминает какой из входов был установлен последним до тех пор, пока не придет другой сигнал (прим. переводчика — когда на оба входа подаются логические единицы, то на выходах будут логические нули (см. таблицы переходов).

Использование RS-триггера

Пример использования RS-триггера.

Здесь представлен простой пример использования триггера. Два дополнительных сравнивающих комбинатора обеспечивают условия установки и сброса триггера соответственно: попутный газ < 50 и попутный газ > 100.

Триггер на основе конвейеров

Триггер на основе конвейеров.

Чтобы этот триггер работал, на конвейер необходимо положить 3 единицы древесина. Он обладает большей задержкой чем аналог на комбинаторах, однако в большинстве ситуаций это не важно.

Дисплеи

Числовой дисплей

Дисплей отображающий цифры. Каждая цифра настраивается вручную в постоянном комбинаторе.

Каждая цифра управляется отдельной сетью построенной на основе зеленого провода, каждая из которых передает 15 отдельных сигналов лампам. Постоянный комбинатор используется для настройки этих сигналов, которые по отдельности зажигают лампы.

Черно-белый дисплей

Черно-белый дисплей. Картинка по-прежнему настраивается в постоянном комбинаторе.

Каждый ряд ламп соединен красным проводом, а в пределах ряда в условии включения выставлены числовые сигналы от 0-9. Для управления лампами, в постоянном комбинаторе просто задаются числовые значение этих сигналов.


Цветной дисплей от DaveMcW

Цветной дисплей. Картинка и цвет настраивается в постоянном комбинаторе.

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

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

Смотрите также