Dźwignie zwrotnicowe nastawnicy mechanicznej
Aktualności

Czy to już jest komputer?

Na początek spieszę was uspokoić: Repozytorium żyje, ma się dobrze, a cisza na stronie wynika ze zbyt wielu rozgrzebanych projektów, co do których kolejności dokończenia nie mogę się zdecydować.

Tymczasem coś z zupełnie innej beczki. Nastawnica mechaniczna, czyli w uproszczeniu to co znajduje się na drugim końcu drutu w stosunku do semafora lub rozjazdu.

Nastawnica mechaniczna

Podstawowe elementy nastawnicy mechanicznej:
1 - ława dźwigniowa, 2 - skrzynia zawórkowa z aparatem blokowym, 3 - skrzynia zależności (z tyłu nastawnicy), 4 - dźwignie zwrotnicowe i ryglowe, 5 - dźwignie sygnałowe, 6 - dźwignia sygnałowa do sygnalizatorów świetlnych (opcjonalnie), 7 - zamek kluczowy (opcjonalnie), 8 - zawórki, 9 - drążki przebiegowe, 10 - aparat blokowy, 11 - plan torowy (opcjonalnie).

Rozczaruję jednak tych, którzy liczyli na jakiś wstęp z podstaw projektowania urządzeń sterowania ruchem kolejowym. Zamiast tego pozwolę sobie na alternatywne spojrzenie na tego typu urządzenia okiem programisty. Motywacją do tego była uwaga jednego ze zwiedzających wystawę sygnalizacji w skierniewickiej parowozowni, że nastawnica mechaniczna to taki „mechaniczny komputer”. Ale czy aby na pewno?

Teoria informatyki rozstrzyga ten problem oferując nam model tzw. maszyny Turinga. Oględnie mówiąc jest to fikcyjne urządzenie, które potrafi czytać dowolnej długości listę instrukcji i danych, przemieszczać się po niej w przód i w tył oraz potrafi zastosować te instrukcje do przetworzenia danych. Ten pozornie skromny zestaw umiejętności jest wystarczający, żeby maszyna Turinga mogła wykonać dowolny program.

W baaaardzo dużym uproszczeniu system odpowiadający maszynie Turinga musi umożliwiać:

  • wprowadzanie danych,
  • wyprowadzanie wyniku,
  • wykonanie podstawowych operacji arytmetycznych,
  • wykonanie instrukcji warunkowej (jeśli A to B, w przeciwnym wypadku C),
  • powtarzanie operacji (wykonanie tzw. pętli).

Zacznijmy więc od wprowadzania danych. To jest proste – od tego są dźwignie rozjazdowe. Warto przy tym zauważyć, że nastawnica mechaniczna jest urządzeniem pracującym w systemie dwójkowym (rozjazd w położeniu zasadniczym (+) i przełożonym (-)). Dźwignię sygnałową i drążki przebiegowe należy liczyć jako elementy wykonawcze programu.

Dźwignie zwrotnicowe nastawnicy mechanicznej

Urządzeniem wyjścia może być, od biedy, aparat blokowy, a konkretnie jego okienka blokowe wskazujące stan blok zablokowanyblok odblokowany.

Aparat blokowy, zbliżenie

Operacje to dłuższy temat, więc spróbujmy go uprościć. Z racji tego, że pracujemy na danych binarnych, wystarczy nam zestaw podstawowych operacji logicznych: I, LUB, NIE. Z teorii logiki wiadomo, że wszystkie operacje logiczne można zastąpić odpowiednim zestawem działań za pomocą dysjunkcji (operator NAND). Zajrzyjmy teraz z tyłu nastawnicy, do skrzyni zależności i sprawdźmy czy mamy coś co pasuje do tego opisu. Tak się składa, że w nastawnicach mechanicznych jednym z podstawowych „klocków” do tworzenia zależności między przestawianymi urządzeniami są nasadki zależności, gdzie jedna z nich realizuje „wykluczanie się” dźwigni sygnałowych. Podobna nasadka zastosowana do dźwigni zwrotnicowych będzie funkcjonowała jako nasza instrukcja warunkowa.

Nasadki zależności w nastawnicy mechanicznej

O dziwo nastawnica mechaniczna potrafi nawet wykonać pewne operacje znane z języków wysokiego poziomu np. obsługę wyjątków (np. wyprzęgnięcie dźwigni zwrotnicowej przy rozpruciu rozjazdu, por. tutaj).

Czy to wystarczy? Sprawdźmy. Typowy „program” nastawnicy to układ suwaków i nasadek w skrzyni zależności. Wykonanie programu wygląda następująco:

  • Wprowadzenie danych (przestawienie dźwigni zwrotnicowych).
  • Wczytanie danych i weryfikacja warunków (przestawienie drążka przebiegowego).
  • Zastosowanie operacji logicznych (przestawienie dźwigni sygnałowej).
  • Zwrot wyniku (np. stan bloku przebiegowo-utwierdzającego)1.

Pomijam milczeniem fakt, że do ostatniego kroku potrzebny jest jeszcze kawałek toru. I semafor… I pociąg…

I tu powstaje problem. Nastawnica mechaniczna nie spełnia ostatniego warunku – nie można zrealizować na niej pętli. Nie możemy ponownie wykonać naszego programu, gdyż ponowne przełożenie dźwigni sygnałowej uniemożliwia zawórka przeciwwtórna.

Reasumując: nastawnica mechaniczna nie jest maszyną Turinga, nie można więc uczciwie o niej powiedzieć, że jest pełnoprawnym komputerem…

… co innego DWIE nastawnice mechaniczne. Przez połączenie ich półsamoczynną blokadą liniową uzyskujemy możliwość wzajemnego odblokowywania zawórki a tym samym realizacji pętli. Tak więc na dwóch nastawnicach możemy już (teoretycznie) napisać dowolny program. Warto zwrócić uwagę, że w przypadku blokady półsamoczynnej nastawnice przy wymianie wyników implementują handshake TCP/IP.

To tyle na dziś. Przy kolejnej okazji przyjrzymy się bliżej implementacji rekurencji za pomocą nastawnicy suwakowej czterorzędowej…

Nastawnica suwakowa, czterorzędowa, Iława

Wszelkie uproszczenia, nieścisłości i nadmiar technikaliów z premedytacją zamierzone. Kolegów programistów i projektantów USRK proszę o wyrozumiałość.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Najczęściej pobierane

Najlepiej oceniane modele