Wstęp
Sieci sterownicze ogólnie rzecz biorąc jest to system, który pobiera, dostarcza oraz przetwarza różnego typu dane. Załóżmy sobie taką hipotetyczną sytuację, że chcemy stworzyć jakieś narzędzie, które będzie odczytywało zawartość pojemnika i po przekroczeniu jakiegoś limitu (ilość przedmiotów w pojemniku) wszystkie przedmioty z pojemnika zostaną przetransportowane gdzie indziej za pomocą podajnika. Na szczęście w grze znajduje się sieć sterownicza, która takie rozwiązanie umożliwia.
Rozłóżmy sobie powyższy przykład na części pierwsze - na początku pobraliśmy dane (czyli zawartość pojemnika), później te dane przetworzyliśmy (jeżeli ilość przedmiotów w pojemniku będzie taka to zadzieje się to), a na końcu dane dostarczyliśmy (podajnik wyciąga przedmioty z pojemnika). Cała sieć sterownicza opiera się na tych trzech elementach:
Pobieraniu danych z nadajników, czyli z różnych budynków to umożliwiających
Przetwarzaniu danych za pomocą sterowników, czyli sterownika arytmetycznego i decyzyjnego
Dostarczania danych do odbiorników, czyli do budynków potrafiących wykonać jakieś działanie
Korzystając z tego, że czytasz jeszcze Wstęp oraz zdarzyła by się taka sytuacja, że nie umiesz przekształcać liczb dziesiętnych na liczby w systemie binarnym i na odwrót oraz dokonywać na nich podstawowych działań (a taka wiedza będzie niezbędna do zrozumienia zagadnień w dalszych częściach poradnika) to proponuję zapoznać się z tym linkiem.
1. Przewody
Czym są przewody?Do funkcjonowania sieci sterowniczej poza głównymi jego elementami jest potrzebny również jakieś środek transportowania danych, a do tego służą przewody. W Factorio dostępne są dwa rodzaje przewodów czerwone i zielone, które niczym się od siebie nie różnią poza tym, że nie mogą się ze sobą łączyć.
Co można połączyć przewodami?Przewodami można połączyć jak można się domyśleć nadajniki ze sterownikami, sterowniki ze odbiornikami, nadajniki z odbiornikami itd.
Natomiast przewody można również rozciągać za pomocą słupów elektrycznych, w tedy maksymalna długość przewodu jaką możemy osiągnąć odpowiada maksymalnej długości przewodu elektrycznemu danemu słupowi elektrycznemu. Tak więc jeśli przeciągniemy przewód pomiędzy dwoma małymi słupami elektrycznymi to maksymalna długość przewodu będzie równa 7,5 kratek, a jeśli przewód przeciągniemy pomiędzy dwoma dużymi słupami elektrycznymi to maksymalna długość przewodu będzie równa 30 kratek.
2. Budowa Sterownika
Każdy sterownik posiada wejście i wyjście. Wejście jest strzałką skierowaną do sterownika a wyjście to strzałka skierowana od sterownika (obie strzałki można zobaczyć po wciśnięciu Alt'a). Do wejścia wprowadzamy dane, sterownik je przetwarza a następnie wypuszcza rezultaty na wyjściu.
Warto zapamiętać Podczas poprawnie funkcjonującej gry (tz. nie masz lagów) gra odświeża się z częstotliwością 60 razy na sekundę, więc również sterowniki mogą wykonywać jedynie 60 obliczeń na sekundę, co może być przydatne podczas tworzenia np. timera, ale również może być uciążliwe w momencie budowania większych projektów, wykonujących więcej obliczeń. W małych projektach to opóźnienie w zasadzie można pominąć.
Sterowniki obsługują wartości w typie int, oznacza to, że wartości doprowadzane i odprowadzane od sterownika mają 32 bity, więc największa liczba jaką może obsłużyć sterownik to 2147483647 a najmniejsza -2147483648. Oznacza to również, że obsługują liczby całkowitoliczbowe, czyli nie możemy uzyskać za pomocą jakiegoś działania wyniku który ma liczbę po przecinku. Np. wynikiem działania 3 / 2 będzie 1 a nie 1,5, ta liczba po przecinku zostanie urwana i pozostanie tylko 1. Co prawda nie da się uzyskać liczby po przecinku ale można uzyskać resztę z dzielenia, która w jakimś stopniu może ją zastąpić, ale to za chwilę.
2.1. Sterownik Arytmetyczny
Jak to działa?Po wejściu w interface sterownika widać poprzednio wspomniane wejście i wyjście. Na wejściu mamy opcję wprowadzenia zmiennej, rodzaju wykonywanego działania oraz liczby albo kolejnej zmiennej. Natomiast na wyjściu mamy wynik wykonanego działania.
Rodzaje wykonywanych działań:Takie działania jak dodawanie , odejmowanie , mnożenie , dzielenie i potęgowanie pozwolę sobie pominąć, ponieważ są oczywiste.
Modulo
Inaczej reszta z dzielenia.
Przykłady:
7 % 3 = 1
13 % 5 = 3
27 % 7 = 6
Przesunięcie bitów w lewo
Jest to operacja wykonywana w systemie binarnym, więc jeśli chcemy sobie ją przeliczyć np. na papierze to na początku musimy przeliczyć liczby z systemu dziesiętnego na binarny. Pierwsza zmienna w wejściu jaką wprowadzamy do sterownika jest to liczba, której bity będziemy przesuwać a druga to zmienna informująca sterownik o ile bitów liczba zostanie przesunięta.
Przykład:
Chcemy dokonać takiego działania: 142 << 1
Na początku przeliczamy liczbę 142 z systemu dziesiętnego na binarny, czyli po przeliczeniu będzie ona wyglądała tak 10001110. Teraz przesuńmy jej bity o jedno pole w lewo:
Jak widać bity przesunęły się w lewo z czego jedna jedynka przesunęła się na sąsiedni bajt oraz na bicie na pozycji 1, czyli tej najbardziej na prawo zostało dodane 0. Więc przez to, że przesunęliśmy bity o jedno pole w lewo z liczby 142 powstała liczba 284.
Przesunięcie bitów w prawo
To działanie jest analogiczne do przesuwania bitów w lewo, natomiast jest jedna mała rzecz, którą trzeba zapamiętać podczas korzystania z niej (wytłumaczenie pod przykładem).
Przykład:
Chcemy dokonać takiego działania 1330 >> 2
Robimy wszystko to samo co robiliśmy podczas przesuwania bitów w lewo, czyli przeliczamy 1330 na system binarny i przesuwamy bity, tym razem o dwa pola w prawo.
Jak widać bity zostały przesunięte w prawo, ale na co trzeba zwrócić uwagę to to, że 1 i 2 pozycje, czyli te najbardziej na prawo została zastąpiona 3 i 4 pozycją, więc te wartości, które znajdowały się na 1 i 2 pozycji zostały usunięte.
Bramka logiczna AND
Bramka logiczna AND w Factorio służy do porównywania bitów dwóch zmiennych. Na podstawie tego czy bity na jakiejś pozycji spełniają warunek AND to sterownik uwzględni je w wyniku końcowym. Mamy jakieś dwie zmienne i sterownik porównuje ze sobą bity. Te bity, które będą na tych samych pozycjach i będą równe 1 w obu zmiennych liczba w systemie dziesiętnym odpowiadająca pozycji tego bitu jest dodawana do wyniku końcowego.
Przykład:
Mamy dwie zmienne 23 (00010111 w systemie binarnym) oraz 46 (00101110 w systemie binarnym) i dokonujemy operacji 23 AND 46:
Wynik: 00000110 w systemie binarnym, czyli 6 w systemie dziesiętnym
Bramka logiczna OR
Bramka OR służy do porównywania bitów dwóch zmiennych tak samo jak w przypadku bramki AND i w zależności czy bity spełniają warunek OR to liczba przypisana ich pozycji jest uwzględniana w wyniku końcowym. Warunkiem spełnienia bramki OR jest to aby bity na takiej samej pozycji były takie same i były równe 1 tak samo jak w przypadku bramki AND, albo jeden bit z którejś zmiennej musi być równy jeden.
Przykład:
Mamy dwie zmienne 23 (00010111 w systemie binarnym) oraz 46 (00101110 w systemie binarnym) i dokonujemy operacji 23 OR 46:
Wynik: 00111111 w systemie binarnym, czyli 63 w systemie dziesiętnym
Bramka logiczna XOR
Warunkiem bramki XOR (rozszerzenie skrótu to exclusive or) jest to aby bity na jakiejś pozycji były różne, czyli żeby przynajmniej jeden bit w jakiejkolwiek zmiennej był równy 1, natomiast bity nie mogą być takie same tak jak jest to w bramce AND.
Przykład:
Mamy dwie zmienne 23 (00010111 w systemie binarnym) oraz 46 (00101110 w systemie binarnym) i dokonujemy operacji 23 XOR 46:
Wynik: 00111001 w systemie binarnym, czyli 57 w systemie dziesiętnym
2.2. Sterownik Decyzyjny
Jak to działa?Sterownik decyzyjny podobnie jak algebraiczny posiada na wejściu możliwość wprowadzenia zmiennej, wybranie warunku, oraz wprowadzenia liczby albo kolejnej zmiennej. Na wyjściu mamy do wybrania dwie opcje:
1 - oznacza to, że jeśli warunek zostanie spełniony to sterownik zwróci zmienną o wartości 1
Wartość wejściowa - oznacza to, że jeśli warunek zostanie spełniony to sterownik zwróci zmienną o wartości pierwszej wprowadzonej zmiennej, na poniższym obrazku będzie to wartość zmiennej A
Rodzaje wykonywanych działań:Wszystkie poniższe opisy będą się opierały na powyższym obrazku.
Równe
Jeżeli pierwsza zmienna jest równa drugiej zmiennej to zwraca wartość 1 albo wartość wejściową, czyli wartość zmiennej
Nie równe
Jeżeli pierwsza zmienna nie jest równa drugiej zmiennej to zwraca wartość 1 albo wartość zmiennej
Większe od
Jeżeli pierwsza zmienna jest większa od drugiej zmiennej to zwraca wartość 1 albo wartość zmiennej
Mniejsze od
Jeżeli pierwsza zmienna jest mniejsza od drugiej zmiennej to zwraca wartość 1 albo wartość zmiennej
Większe albo równe od
Jeżeli pierwsza zmienna jest większa albo równa od drugiej zmiennej to zwraca wartość 1 albo wartość zmiennej
Mniejsze albo równe od
Jeżeli pierwsza zmienna jest mniejsza albo równa od drugiej zmiennej to zwraca wartość 1 albo wartość zmiennej
3. Rodzaje Zmiennych Oraz Wprowadzenie Do Nadajników
W kwestii rodzajów zmiennych/ danych jakie możemy odczytywać, przetwarzać to można odróżnić te reale, czyli wszystkie przedmioty, ciecze i gazy oraz te wirtualne czyli zmienne 1, A oraz kolorowe sygnały.
Zmienne wirtualneRozpatrzmy sobie taką sytuację, mamy połączony słup elektryczny z dwoma sterownikami stałych (jest to pierwszy i zarazem najbardziej podstawowy nadajnik jaki poznamy) z czego jeden jest połączony zielonym przewodem a drugi czerwonym.
Po najechaniu kursorem na słup możemy zobaczyć w prawym górnym rogu, że zmienna A, która jest nadawana przez sterownik stałych podpięty zielonym przewodem ma zieloną obwodówkę a zmienna B, która jest nadawana przez sterownik stałych podpięty czerwonym przewodem ma czerwoną obwodówkę, i tak jak zostało to wspomniane wcześniej oba przewody się nie łączą. Gdybyśmy podpięli słup z odbiornikiem czerwonym przewodem to odbiornik by odczytywał tylko zmienną B a jeśli zielonym to tylko zmienną A.
Zmienne realneMamy taką sytuację, chcemy odczytać z taśmociągu przedmioty jakie na nim leżą. W tym celu łączymy taśmociąg ze słupem elektrycznym, włączamy w taśmociągu tryb pracy odczytywania jego zawartości oraz ustawiamy tryb odczytu na stały (w późniejszych fragmentach poradnika rozwinę pozostałe opcje)
Po najechaniu kursorem na słup elektryczny możemy zobaczyć w prawym górnym rogu w sygnałach, że jest tam zmienna produkcyjny pakiet naukowy równa 8, jest to odczytana zawartość taśmociągu a jest równa 8, ponieważ jest to maksymalna pojemność taśmociągu.
4. Sumowanie Zmiennych
Wszystkie zmienne w jakiejś sieci sterowniczej są sumowane. Mamy taką sytuację, że do jednej sieci sterowniczej są podłączone dwa sterowniki stałych, każdy z nich nadaje zmienną A = 1. Po najechaniu kursorem na słup zobaczymy, że w tej sieci jest zmienna A = 2, jest to spowodowane tym, że te zmienne ze sterowników się zsumowały. Tak będzie ze wszystkimi zmiennymi jakie wprowadzamy do sieci sterowniczej, jakbyśmy nadawali do jednej sieci np. zawartości dwóch skrzynek to o ile jakieś przedmioty w nich by się powtarzały to ich liczba by się sumowała.
5. Sygnały Logiczne
Poza zmiennymi realnymi i wirtualnymi w grze istnieją również sygnały logiczne, które nie mogą zostać wprowadzone do sieci i obowiązują jedynie w sterownikach. Sygnały logiczne są czymś w rodzaju dodatkowych funkcji w sterownikach, które modyfikują ich zachowanie.
Dostępne są trzy rodzaje sygnałów logicznych:
Wszystkie sygnały
Którykolwiek sygnał
Dla każdego sygnału
5.1. Wszystkie Sygnały
Zgodnie z opisem tego sygnału logicznego, wykonuje on następujące czynności:
Jeśli wszystkie sygnały wejściowe spełnią warunek, zwróci prawdę.
Jest prawdą, kiedy nie ma sygnałów wejściowych.
To znaczy jeśli wszystkie zmienne doprowadzone do wejścia sterownika decyzyjnego (bo tylko w takim można używać Wszystkie sygnały) spełnią warunek zawarty w nim to sterownik w zależności od wybranej zmiennej wyjściowej zwróci nam jakiś wynik.
Jest kilka możliwości zwrotu wyniku:
Zwracamy zmienną, która nie jest sygnałem logicznym:
Jeśli zaznaczymy opcję 1 na wyjściu to zostanie nam zwrócona zmienna równa 1, a jeśli opcję Wartość wejściowa to nie zostanie nam zwrócone nic.
Zwacamy zminną Wszystkie sygnały:
Jeśli zaznaczymy opcję 1 na wyjściu to zostaną nam zwrócone wszystkie zmienne wprowadzona na wejściu równe 1, a jeśli opcję Wartość wejściowa to zostaną zwrócone nam wszystkie zmienne wprowadzone na wejściu i będą równe tyle samo ile miały na wejściu.
Oraz jest drugi warunek - jeśli do wejścia nie jest doprowadzana żadna zmienna to sterownik zwróci prawdę czyli wartość 1 albo sumę wszystkich zmiennych, w tym przypadku do sterownika nie doprowadzamy żadnych zmiennych, więc również sterownik nie zwróci żadnej zmiennej.
Przykład:
Załóżmy, że mamy taką sytuację - sterownik stałych jest podpięty do wejścia sterownika decyzyjne a wyjście sterownika jest podpięte do słupa:
Sterownik stałych wyrzuca dwie zmienne - zmienną A równą 10 oraz B równą 3. Natomiast w sterowniku decyzyjnym jest warunek jeśli wszystkie sygnały (w domyśle zmienne) będą większe od 5 to zostanie zwrócona zmienna C równa 1. Zmienna A jest większe od 5 natomiast B już nie, więc warunek w sterowniku nie został spełniony, więc jak byśmy najechali kursorem na słup do nie zauważylibyśmy żadnej zmiennej.
5.2. Którykolwiek Sygnał
Zgodnie z opisem tego sygnału logicznego, wykonuje on następujące czynności:
Jeśli którykolwiek z sygnałów wejściowych spełnia warunek, zwróci prawdę.
Jest fałszem, kiedy nie ma sygnałów wejściowych.
Oznacza to, że jeśli jakakolwiek zmienna doprowadzona do wejścia sterownika spełnia warunek w nim zawarty to zwróci prawdę, czyli w zależności od wybranej zmiennej wyjściowej jakiś wynik.
Jest kilka możliwości zwrotu wyniku:
Zwracamy zmienną, która nie jest sygnałem logicznym:
Jeśli zaznaczymy opcję 1 na wyjściu to zostanie nam zwrócona zmienna równa 1, a jeśli opcję Wartość wejściowa to nie zostanie nam zwrócone nic.
Zwracamy zmienną Wszystkie sygnały:
Jeśli zaznaczymy opcję 1 na wyjściu to zostaną nam zwrócone wszystkie zmienne wprowadzona na wejściu równe 1, a jeśli opcję Wartość wejściowa to zostaną zwrócone nam wszystkie zmienne wprowadzone na wejściu i będą równe tyle samo ile miały na wejściu.
Zwracamy zmienną Którykolwiek sygnał:
Jeśli zaznaczymy opcję 1 na wyjściu to zostaną nam zwrócona pierwsza zmienna wprowadzona do sterownika i będzie równa 1, a jeśli opcję Wartość wejściowa to zostanie zwrócona nam pierwsza zmienna wprowadzona do sterownika i będzie równa tyle ile miała na wejściu.
Oraz jest drugi warunek - jeśli do wejścia nie jest doprowadzana żadna zmienna to sterownik zwróci fałsz, czyli na wyjściu nie zobaczymy żadnej zmiennej.
Przykład:
Załóżmy, że mamy taką samą sytuację jak w przypadku Wszystkich sygnałów - sterownik stałych jest podpięty do wejścia sterownika decyzyjnego a wyjście sterownika jest podpięte do słupa.
W sterowniku stałych są takie same zmienne jak w Wszystkich sygnałach, natomiast w sterowniku warunek brzmi Jeśli którakolwiek zmienna spełni warunek to zwróć Wszystkie sygnały równe wartości wejściowej. Zmienna A jest większa od 5, więc niezależnie od tego ile są równe pozostałe zmienne to warunek został spełniony i na wyjściu zobaczymy te same zmienne co na wejściu, przez to, że na wyjściu jako zmienną daliśmy Wszystkie sygnały.
5.3. Dla Każdego Sygnału
Zgodnie z opisem tego sygnału logicznego, wykonuje on następujące czynności:
Sprawdza warunek lub wykonuje działania matematyczne dla wszystkich sygnałów wejściowych.
Oznacza to, że sterownik decyzyjny sprawdzi czy zmienne doprowadzone do niego spełniają warunek i na podstawie tego jakie i ile zmiennych spełnia warunek to zwróci jakiś wynik, oraz to, że sterownik arytmetyczny dokona jakiegoś działania na zmiennych doprowadzonych do jego wejścia i zwróci jakieś wyniki.
Jest kilka możliwości zwrotu wyniku:
Sterownik arytmetyczny:
Zwracamy zmienną, która nie jest sygnałem logicznym:
Zmienna, która zostanie zwrócona będzie równa sumie wyników wszystkich zmiennych. Np. na przykładzie poniższego obrazka na wejściu sterownika wprowadzimy dwie zmienne A=5 i B=2. C będzie równe A*2 + B*2, czyli 14.
Zwracamy zmienną Dla każdego sygnału:
Na wyjściu sterownik zwróci wszystkie zmienne, które wcześniej zostaną obliczone działniem zawartym w sterowniku. Np. do wejścia sterownika wprowadzamy zmienne A=14 i B=9, na wyjściu zobaczymy zmienne A=A*2 oraz B=B*2, czyli A=28 i B=18.
Sterownik decyzyjny:
Zwracamy zmienną, która nie jest sygnałem logicznym:
Jeśli zaznaczymy opcję 1 na wyjściu to zostanie nam zwrócona zmienna równa liczbie wszystkich zmiennych, które spełniły warunek, np. warunek zawarty w sterowniku spełniają 4 zmienne to zmienna na wyjściu sterownika będzie równa 4. A jeśli opcję Wartość wejściowa to otrzymamy sumę wartości wszystkich zmiennych spełniający warunek zawarty w sterowniku.
Zwracamy zmienną Dla każdego sygnału:
Jeśli zaznaczymy opcję 1 na wyjściu to zostaną nam zwrócone wszystkie zmienne spełniające warunek w sterowniku i będą równe 1, a jeśli opcję Wartość wejściowa to zostaną nam zwrócone wszystkie zmienne spełniające warunek i będą równe tyle samo ile miały na wejściu.
6. Nadajniki I Odbiorniki
Zacznę do tego, że podział na nadajniki i odbiorniki jest tylko pewnym uproszczeniem, w rzeczywistości jakiś budynek może pełnić funkcję nadajnika, albo odbiornika, albo obie te dwie opcje na raz. Np. z taśmociągu można zarówno odczytywać jego zawartość jak i pod jakimś warunkiem go zatrzymywać.
Nadajników/ odbiorników w grze jest bardzo dużo, więc postaram się wymienić i opisać te najważniejsze.
6.1. Sterownik Stałych
Sterownik stałych jak nazwa wskazuje nadaje stale. W sterowniku stałych mamy możliwość nadania sygnałów wyjściowych, czyli stałych oraz możeby włączać i wyłączać ich nadawanie. Na podstawie poniższego przykładu do sieci sterowniczej zostaną nadane stałe takie jak A=10, płytka miedzi=350 itd.
6.2. Taśmociągi
Taśmociągi są przykładem takiego urządzenia/ budynku, który może być jednocześnie nadajnikiem jak i odbiornikiem. Po podłączeniu taśmociągu do sieci sterowniczej otrzymujemy kilka funkcji:
Włącz/wyłącz
Jeżeli do taśmociągu zostanie dostarczona zmienna, która spełnia warunek zawarty w tasmociągu to on zwraca prawdę, czyli zatrzymuje się/ wyłącza.
Odczytuj zawartość taśmociągu
Ta funkcja odczytuje to jakie przedmioty znajdują się na taśmociągu i zwraca jego rodzaj i ilość do sieci. Maksymalna ilość przedmiotów jakie mogą się znaleźć na taśmociągu to 8. Wyróżnia się dwa tryby odczytu zawartości:
Odczyt pulsujący:
W momencie, kiedy taśmociąg wykryje, że na nim pojawi się jakiś przedmiot to wyda krótki impuls, czyli nada do sieci sterowniczej zmienną o nazwie tego przedmiotu oraz jej wartość równą 1, albo 2 jeżeli w tym samy momencie 2 przedmioty pojawią się na nim. Impuls ten trwa 1 tik, czyli 1 FPS.
Gif obrazujący działanie tego trybu:
Odczyt stały:
Jak można się domyśleć daje stały sygnał, czyli zmienne w postaci przedmiotów jakie leżą na taśmociągu o wartości równej ich ilości.
Zobrazowanie działania:
6.3. Skrzynie
Podstawowym trybem pracy skrzyni jest Odczyt zawartości. Jeśli podepniemy skrzynie do sieci sterowniczej i włączymy ten tryb pracy to zobaczymy zmienne odpowiadające rodzajowi przedmiotów w skrzyni o wartości ilości tych przedmiotów.
Natomiast wyróżnia się skrzynia żądająca i buforowa, które moją do dyspozycji taki tryb pracy jak Ustawianie żądania. Zobrazujmy sobie działanie tego trybu - załóżmy, że mamy taką sytuację, że skrzynia żądająca jest połączona przewodem ze sterownikiem stałych:
W sterowniku stałych ustawiamy zmienną żelazne płytki o wartości 200.
W skrzyni ustawiamy Ustawiaj żądania jako tryb pracy.
Jak można zauważyć w sekcji Logistyczne zamówienie pojawiło się żądanie 200 żelaznych płytek. Jak byśmy doprowadzili do skrzyni inną zmienną to również by została dodana do zamówień logistycznych. Co do maksymalnej ilości żądań jakie można nadać skrzyni to nie ma limitu, ilość jest nieograniczona. Jako żądania można ustawiać tylko przedmioty, więc zmienne wirtualne, płyny i gazy będą przez skrzynie ignorowane.
6.4. Podajniki
Na początku powiem, że opis takich trybów pracy jak Włącz/wyłącz i Odczytuj zawartość pozwolę sobie pominąć, ponieważ były już wspomniane w taśmociągach a działają bardzo podobnie.
Poza tymi dwoma trybami we wszystkich podajnikach jest jeszcze jeden, czyli Ustaw ładowność. Po włączeniu tego trybu wybieramy zmienną, jej wartość będzie ustalała ładowność, czyli to ile przedmiotów na raz może maksymalnie wziąć podajnik np. na podstawie poniższego obrazka jeśli A będzie równe 2 to podajnik będzie mógł wziąć maksymalnie 2 przedmioty na raz. Maksymalna ilość przedmiotów jaką może wziąć podajnik odpowiada Rozmiarowi stosu ręki, który można zobaczyć najeżdżając kursorem na podajnik, więc jeśli np. A jest równe 8 a rozmiar stosu ręki jest równy 3 to podajnik będzie mógł wziąć maksymalnie 3 przedmioty.
Wśród podajników wyróżniają się podajniki filtrujące, które mają dostępny jeszcze jeden tryb pracy, czyli Ustawiaj filtry.
Przykład:
Załóżmy, że mamy taką sytuację - sterownik stałych jest podpięty do tej samej sieci co podajnik filtrujący z włączonym trybem Ustawiaj filtry. Sterownik nadaje zmienną miedziana płytka, która jest równa 1 (to ile jest równa nie ma znaczenia). Jak można zauważyć w podajniku w filtrach pojawiła się miedziana płytka jako przedmiot do filtrowania. Oczywiści w jako filtry można ustawiać tylko przedmioty, zmienne wirtualne, płyny czy gazy będą przez podajnik ignorowane.
6.5. Lampy
Podstawowym a zarazem jedynym trybem pracy jest Włącz/wyłącz. Ten tryb działa w zasadzie tak samo jak w wszystkich innych odbiornikach.
Mamy taką sytuację - lampa jest podpięta do sterownika stałych. Sterownik nadaje stałą A równą 1, warunkiem w lampie jest A > 0, czyli warunek zostaje spełniony zwracana jest prawda, czyli lampa się zapala.
Natomiast w przypadku lamp dostępna jest jeszcze funkcja Użyj kolorów.
Załóżmy, że mamy taką sytuację - sterownik stałych jest podpięty do lampy. Sterownik nadaje stałą Sygnał czerwony równą 1 a warunkiem zaświecenia się lampy jest to aby sygnał czerwony był większy od 0. Warunek jest spełniany, jest zwracana prawda, lampa się zaświeca na kolor czerwony.
Żeby lampa się zaświeciła na jakiś kolor wystarczy do niej taki kolorowy sygnał dostarczyć, nie trzeba stawiać go w warunku. Na poniższym obrazku sterownik stałych nadaje dwie zmienne - Sygnał czerwony równy 1 oraz zmienną A równą 1, a warunkiem do zaświecenia się lamy jest to, aby A było większe od 1. Warunek jest spełniany, jest zwracana prawda, lampa się zaświeca na kolor czerwony.
W grze dostępne jest 9 kolorowych sygnałów, natomiast sygnały białe, szare i czarne nie powodują żadnej zmiany w świeceniu się lampy. Z resztą, jak by niby miało wyglądać czarne światło?
Teoria A Praktyka
Po przeczytaniu tego poradnika powinieneś już umieć większość zagadnień z sieci sterowniczych. Natomiast przedstawione tu treści są jedynie teorią, więc żeby uzyskać cała wiedzę o sieciach sterowniczych również tą praktyczną zachęcam Cię również do przeczytania mojego drugiego poradnika, który jest czymś w rodzaju uzupełnienia tego. Opisuję w nim kilka przykładów zastosowania sieci sterowniczych w praktyce m. in. wyświetlaczy, liczników, timerów itp.
https://steamcommunity.com/sharedfiles/filedetails/?id=2532457202
Zakończenie
Dziękuję, że zechciałeś przeczytać mój poradnik oraz mam nadzieję, że informacje zawarte w nim okazały się przydatne. Jeśli znalazłeś jakieś błędy w poradniku (broń boże ortograficzne), masz uwagi co do treści, chcesz zaproponować dodanie czegoś do poradnika, albo po prostu chcesz o coś zapytać to napisz komentarz.
Jeśli jakichś informacji tu zabrakło to polecam również te poradniki:
Factorio Wiki: Combinator tutorial [wiki.factorio.com]
Factorio Wiki: Sieć sterownicza [wiki.factorio.com]
Factorio Wiki: Circuit network cookbook [wiki.factorio.com]
Film autorstwa syb3ryt'a
Pozdrawiam Skamlo
Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2476599412
More Factorio guilds
- All Guilds
- Train builder for FACTORIO (ENG)
- 1188 (11 to 88 Flow Line Blueprints)
- Unpatched Bugs List as of Version 1.1.107
- Alternative Atmospherics
- Factorio Guide 842
- Haxard's Blueprint Book v1.1
- Achievements - Saved games
- Factorio
- 22 . Factorio | F
- FACTORIO (UA)