Jak dziaa sie sterownicza?

Jak dziaa sie sterownicza?

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


Jak dziaa sie sterownicza? image 8
Jak dziaa sie sterownicza? image 9
Jak dziaa sie sterownicza? image 10
Jak dziaa sie sterownicza? image 11
Jak dziaa sie sterownicza? image 12
Jak dziaa sie sterownicza? image 13

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


Jak dziaa sie sterownicza? image 18

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 dziaa sie sterownicza? image 23
Jak dziaa sie sterownicza? image 24
Jak dziaa sie sterownicza? image 25
Jak dziaa sie sterownicza? image 26
Jak dziaa sie sterownicza? image 27
Jak dziaa sie sterownicza? image 28

Jak dziaa sie sterownicza? image 29
Jak dziaa sie sterownicza? image 30
Jak dziaa sie sterownicza? image 31
Jak dziaa sie sterownicza? image 32
Jak dziaa sie sterownicza? image 33
Jak dziaa sie sterownicza? image 34
Jak dziaa sie sterownicza? image 35
Jak dziaa sie sterownicza? image 36
Jak dziaa sie sterownicza? image 37
Jak dziaa sie sterownicza? image 38
Jak dziaa sie sterownicza? image 39
Jak dziaa sie sterownicza? image 40

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 dziaa sie sterownicza? image 77
Jak dziaa sie sterownicza? image 78
Jak dziaa sie sterownicza? image 79
Jak dziaa sie sterownicza? image 80
Jak dziaa sie sterownicza? image 81
Jak dziaa sie sterownicza? image 82

Jak dziaa sie sterownicza? image 83
Jak dziaa sie sterownicza? image 84
Jak dziaa sie sterownicza? image 85
Jak dziaa sie sterownicza? image 86
Jak dziaa sie sterownicza? image 87
Jak dziaa sie sterownicza? image 88
Jak dziaa sie sterownicza? image 89
Jak dziaa sie sterownicza? image 90
Jak dziaa sie sterownicza? image 91
Jak dziaa sie sterownicza? image 92
Jak dziaa sie sterownicza? image 93
Jak dziaa sie sterownicza? image 94
Jak dziaa sie sterownicza? image 95
Jak dziaa sie sterownicza? image 96
Jak dziaa sie sterownicza? image 97
Jak dziaa sie sterownicza? image 98
Jak dziaa sie sterownicza? image 99
Jak dziaa sie sterownicza? image 100
Jak dziaa sie sterownicza? image 101
Jak dziaa sie sterownicza? image 102

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


Jak dziaa sie sterownicza? image 120
Jak dziaa sie sterownicza? image 121
Jak dziaa sie sterownicza? image 122
Jak dziaa sie sterownicza? image 123
Jak dziaa sie sterownicza? image 124
Jak dziaa sie sterownicza? image 125
Jak dziaa sie sterownicza? image 126
Jak dziaa sie sterownicza? image 127
Jak dziaa sie sterownicza? image 128

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


Jak dziaa sie sterownicza? image 135
Jak dziaa sie sterownicza? image 136

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


Jak dziaa sie sterownicza? image 139
Jak dziaa sie sterownicza? image 140
Jak dziaa sie sterownicza? image 141

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


Jak dziaa sie sterownicza? image 148
Jak dziaa sie sterownicza? image 149
Jak dziaa sie sterownicza? image 150
Jak dziaa sie sterownicza? image 151

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ł


Jak dziaa sie sterownicza? image 166
Jak dziaa sie sterownicza? image 167
Jak dziaa sie sterownicza? image 168

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


Jak dziaa sie sterownicza? image 185

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


Jak dziaa sie sterownicza? image 204

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


Jak dziaa sie sterownicza? image 207
Jak dziaa sie sterownicza? image 208
Jak dziaa sie sterownicza? image 209
Jak dziaa sie sterownicza? image 210
Jak dziaa sie sterownicza? image 211
Jak dziaa sie sterownicza? image 212

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


Jak dziaa sie sterownicza? image 225
Jak dziaa sie sterownicza? image 226
Jak dziaa sie sterownicza? image 227
Jak dziaa sie sterownicza? image 228

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


Jak dziaa sie sterownicza? image 235
Jak dziaa sie sterownicza? image 236
Jak dziaa sie sterownicza? image 237
Jak dziaa sie sterownicza? image 238

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


Jak dziaa sie sterownicza? image 245
Jak dziaa sie sterownicza? image 246
Jak dziaa sie sterownicza? image 247
Jak dziaa sie sterownicza? image 248
Jak dziaa sie sterownicza? image 249
Jak dziaa sie sterownicza? image 250
Jak dziaa sie sterownicza? image 251
Jak dziaa sie sterownicza? image 252

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