Stationeers

Stationeers

98 ratings
Логика чисел
By SysAd
Здесь вы найдёте кракое описание логических плат.
2
3
   
Award
Favorite
Favorited
Unfavorite
Что это у нас в кармане?
Начнём с того, что у нас есть возможность создания 4-х базовых типов устройств, из которых можно выбирать будущую плату посредством ролика мыши:
  • 1. Плата ввода-вывода - ItemKitLogicInputOutput
    • 1.1 Плата чтения значения - StructureLogicReader
    • 1.2 Плата записи значения - StructureLogicWriter
    • 1.3 Плата записи значения в группу - StructureLogicBatchWriter
  • 2. Плата памяти - ItemKitLogicMemory
  • 3. Процессор - ItemKitLogicProcessor
    • 3.1 Математический процессор - StructureLogicMath
    • 3.2 Унарный процессор - StructureLogicMathUnaty
    • 3.3 Процессор ограничения минимального/максимального значения - StructureLogicMinMax
    • 3.4 Процессор выбора - StructureLogicSelect
    • 3.5 Процессор сравнения - StructureLogicCompare
  • 4. Логический переключатель - ItemKitLogicSwitch
    • 4.1 Переключатель (первый вариант) - StructureLogicSwitch
    • 4.2 Переключатель (второй вариант) - StructureLogicSwitch2
    • 4.3 Кнопка - StructureLogicButton

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


1.1 Плата чтения значения - StructureLogicReader

Данная плата необходима для считывания значения с различных устройств (в том числе и других плат). Имеет три выхода для кабеля: Power (Питание), Input (Ввод), Output (Вывод).
Принцип работы:
К выходу Input кабелем подводится устройство или плата, которые имеют своё конкретное значение. Например, состояние устройства - Вкл. = 1, Выкл. = 0, или значение угла падения света на Датчик Дневного света, от 0 до 180, и т.д.. Считываение значения происходит в реальном времени, но с некоторым периодом, примерно 3 раза в секунду.
Выбор устройства производится регулятором, расположенным в левом нижнем углу платы (IN), при помощи отвёртки. Выбор возможного считываемого значения производится регулятором в нижнем правом углу (VAR). На примере датчика света это может быть значение состояния (Вкл. = 1, Выкл. = 0) или угол падения света в градусах и т.д.
Из выхода Output кабелем во всю доступную сеть выводится это значение, которое не влияет на обычные устройства и может быть считано только логическими устройствами.



1.2 Плата записи значения - StructureLogicWriter

Данная плата необходима для записи значения в различные устройства (в том числе и платы). Имеет три выхода для кабеля: Power (Питание), Input (Ввод), Output (Вывод).
Принцип работы:
К выходу Input кабелем подводится устройство или плата, которые имеют своё конкретное значение.
Выбор считываемого устройства производится регулятором, расположенным в левом нижнем углу платы (IN). Выбор устройства, в которое записывается значение, производится регулятором, расположенным в правом верхнем углу платы (OUT). Выбор возможного записываемого значения на конечном устройстве производится регулятором в нижнем правом углу (OUT VAR).
К выходу Output кабелем подводится устройство или плата, в которые будет записываться конкретное значение.



1.3 Плата записи значения в группу - StructureLogicBatchWriter

Данная плата аналогична предыдущей, за одним важным исключением - запись в группу однотипных устройств. В правом верхнем углу вместо регулятора (OUT) находится регулятор (OUT VAR), которым можно выбрать не конкретное устройство, а его группу. Например, если к сети подключены несколько солнечных панелей, то при выборе (OUT VAR) "Солнечная Панель" значение получат все панели, подключённые к сети и имеющие доступ к выходу Output данной платы.
Мало памяти? Не проблема


2. Плата памяти - ItemKitLogicMemory

Данная плата необходима для записи и бессрочного хранения любого значения, будь то вписанное вручную или полученное с помощью других плат или компьютера. После отсоединения от сети значение будет сохранено до тех пор, пока не будет изменено или плата не будет удалена. Базовое значение - 0.
Ручная установка значения производится отвёрткой с помощью регуляторов. В правой части находятся регуляторы увеличения значения:
Большой верхний - увеличение значения на 100, при зажатой клавише Alt - на 10.
Малый нижний - увеличение значения на 1, при зажатой клавише Alt - 0.1.
Таким образом вручную можно задать любое числовое значение с точностью до одного знака после запятой.
Имеет два одинаковых выхода для подвода других плат.
Не Core-i9, но тоже сгодится


3.1 Математический процессор - StructureLogicMath

Данная плата необходима для базовых вычислений с возможными значениями. Имеет 4 выхода для кабелей: Power, Input1 (слева), Input2 (справа) и Output.
К выходу Input1 подводится первое значение с других устройств или плат, аналогично к выходу Input2. К выходу Output подводится устройство или плата, на которое будет передаваться вычисленное значение.
Плата имеет три регулятора: 1 (выход input1 - первое значение), 1 (выход input2 - второе значение) и регулятор OUT, задающий конкретное действие между этими двумя значениями.
Регулятор значения имеет 5 возможных операций: Add (сложение), Subtract (вычитание), Multiply (умножение), Divide (деление) и Mod (вывод остатка деления).


3.2 Унарный процессор - StructureLogicMathUnaty

Данная плата необходима для унарных действий (унарный - uno - один) - действий с одним значением.
Имеет 3 выхода для кабелей: Power, Input и Output. Также в нижней части виден ещё один выход, но он не работает. Вероятно, для общего типа плат используется одна и та же модель, потому просто не обращаем на него внимания.
Плата имеет два регулятора: IN (выход input, выбирающий конкретное устройство или плату с возможным значением), и регулятор OUT, задающий конкретное действие с этим значением.
Регулятор значения имеет 6 возможных операций: Ceil (округление до наибольшего целого значения), Floor (округление до наименьшего целого значения), Abs (модуль или абсолютное значение), Log (логарифм), Exp (экспонента), Round (округление до десятичных).
К выходу Output подводится устройство или плата, на которое будет передаваться вычисленное значение.


3.3 Процессор ограничения минимального/максимального значения - StructureLogicMinMax

Данная плата нужна для ограничения входящего значения согласну установленному лимиту. Имеет 4 выхода для кабелей: Power, Input1 (слева), Input2 (справа) и Output. К выходу Input1 подводится первое значение с других устройств или плат, к выходу Input2 подводится ограничивающее значение с других плат или устройств.
Плата имеет три регулятора: 1 (выход input1, выбирающий конкретное устройство или плату с возможным значением), 2 (выход input2, выбирающий конкретное устройство или плату с возможным ограничивающим значением) и регулятор OPR, задающий конкретное действие с этими значениями.
Регулятор OPR имеет 2 возможных значения: Less (наименшее значение) и Greater (наибольшее значение). Например, если к выходу Input1 подвести значение 150, а к Input2 подвести 100 и установить OPR на Greater - выходное значение из Output будет 100. Аналогично, если к выходу Input1 подвести значение 50, а к Input2 подвести 100 и установить OPR на Less - выходное значение из Output будет 50. Т.е. выдаётся любое значение не больше/ не меньше установленного.


3.4 Процессор выбора - StructureLogicSelect

Данная плата нужна для выбора и последующего вывода конкретного значения из двух возможных вариантов.
Имеет 4 выхода для кабелей: Power, Input1 (слева), Input2 (справа) и Output. К выходу Input1 подводится первое значение с других устройств или плат, к выходу Input2 подводится второе значение с других плат или устройств.
Плата имеет три регулятора: слева с квадратным нулём (выход input1, выбирающий конкретное устройство или плату с возможным первым значением), справа без подписи (выход input2, выбирающий конкретное устройство или плату с возможным вторым значением) и регулятор SELECT, принимающий определяющее значение.
На выбор влияет принятое с помощью регулятора значение с другого устройства, 0 или 1. Если входящиее значение 0 - выбирается и выводится значение, подведённое к выходу input1 слева, если значение 1 - подведённое к выходу input2 справа.



3.5 Процессор сравнения - StructureLogicCompare

Данная плата нужна для сравнения двух значений и выдачи в сеть ответа.
Имеет 4 выхода для кабелей: Power, Input1 (слева), Input2 (справа) и Output. К выходу Input1 подводится первое значение с других устройств или плат, к выходу Input2 подводится второе значение с других плат или устройств.
Плата имеет три регулятора: слева с единицей (выход input1, выбирающий конкретное устройство или плату с возможным первым значением), справа с двойкой (выход input2, выбирающий конкретное устройство или плату с возможным вторым значением) и регулятор OUT, выбирающий метод сравнения значений.
Регулятор OUT имеет 4 возможных варианта: Equals (значения равны друг другу), Not Equals (значения не равны друг другу), Greater (первое значение больше второго) и Less (первое значение меньше второго). В зависимости от результата сравнения в сеть выдааётся ответ: 1 - если сравнение верно, и 0 - если сравнение не верно. К примеру, если слева подвести значние 100, а справа значение 80, и установить параметр OUT "Greater", то в сеть будет выдаваться единица, т.к. сравнение верно (100 больше 80). Или если подвести слева значение 47, а справа 48, и установить параметр OUT "Equals", то в есть будет выдаваться значение 0, т.к. сравнение не верно (47 не равно 48).
К чёрту сенсор, даёшь рубильники!


4.1 Переключатель (первый вариант) - StructureLogicSwitch
Данный переключатель по свойствам схож с обычным переключателем, с разницей в том, что вместо питания он выводит по сети значение своего состояния (включён - 1, выключен - 0). Данное значение может быть принято другими платами для передачи конкретному устройству



4.2 Переключатель (второй вариант) - StructureLogicSwitch2

Данный переключатель аналогичен предыдущему по функции, но отличается дизайном.



4.3 Кнопка - StructureLogicButton

Данный "переключатель", а точнее кнопка, работает соответственно своему названию. При нажатии на короткое время в сеть передаётся значение 1, после чего кнопка возвращается к исходному значению - 0
Что же в итоге?
В итоге мы видим очень полезную, но крайне громоздкую, жрущую энергию и потребляющую кабели, систему "логики". При наличии фантазии и достаточного количества времени можно придумать много интересного.

Возможно, данный материал будет кому-то полезен. Руководство может содержать ошибки, т.к. создавалось на основе опытов и гугла (за что ему как всегда спасибо).

Спасибо за внимание и приятной игры!

UPD: Добавил потеряшку - плату сравнения, очень полезная штука
31 Comments
Frame 8 May @ 2:10pm 
Stationeers | Русское сообщество: https://discord.gg/eDPgyPQDfe
Glukkon [UA] 26 May, 2020 @ 7:14am 
Нихрена не понял, так как матан это не моё но было очень интересно и познавательно. =)
Sempai_77 23 Oct, 2018 @ 2:29pm 
Спасибо за интересное и подробное описание!
Забыли добавить, что помимо фантазии и кучи времени, нужны ещё и мозги. ))
Хоть я и ничего в этом не понимаю, но было интересно! ))
Olden 25 Sep, 2018 @ 6:00am 
Статья замечательная, низкий поклон за труды. Единственное что хотелось бы исправить, не коректно говорить "чип имеет 3 вывода", "вывод input" и т.д. Input это всегда ввод. Это может запутать новобранца. Если вы исправите например так "чип имеет 3 порта, один на выход, два на вход", "порт input" и т.д., Будет просто супер! Но еще раз выражаю благодарность автору за проделанную работу!
Arxon 16 Jan, 2018 @ 10:39am 
Спасибо всем, кто отписался. Вообщем буду рад если кто предложит вариант на логистических чипах.

P.S. Пока решил временно сделать систему с помощью компьютера и програмки из 3 шагов.
Arxon 16 Jan, 2018 @ 10:33am 
Проблема в том, что в отличии от батареек, давление ни когда не будет одним и тем же числом, т.к. оно скачет обычно на +- несколько сотен, так что если в чипе сравненя поставить знак = , то он врят ли умудрится словить нужное давление. А ставить насос на качание 1Mol - это извращение какое то..
maDikDM(UA) 16 Jan, 2018 @ 6:16am 
только меняете генератор на насос и статус батарей на давление. Можно еще добавить деление давления на 1000 чтоб в мегапаскалях сравнение проводил
maDikDM(UA) 16 Jan, 2018 @ 6:14am 
pavel1995s через процессор выбора это делается, аллгоритм описан в акурат перед вашим постом
SysAd  [author] 15 Jan, 2018 @ 6:10pm 
Если ограничиться одним райтером, то при малейшем превышении 30к compare будет выдавать 0, и соответственно сразу будет вырубать насос. А так будет выключаться только сам райтер (второй). Ту же цепочку на превышение 50к с соответствующим изменением значений. Громоздко, но я давно не играл, лучше ничего в голову не приходит. Я бы вообще просто комп воткнул для таких целей, куда меньше ресурсов, хоть и больше электропотребления
SysAd  [author] 15 Jan, 2018 @ 6:10pm 
pavel1995s - две памяти со значениями 1 (на включение) и 30 (или 30000, смотря в каких единицах выдаётся значние давления). Ридер на давление танкера, соответственно, compare unit для сравнения показателя давления с минимумом из памяти (30 или 30000) и два райтера. Один райтер считывает ответ compare unit (0 при давлении выше 30к и 1 при давлении ниже). Этот райтер записывает значение во-второй райтер на питание (включает или выключает его). А второй райтер берёт из первой памяти значние 1 и передаёт его уже на насос на включение.