Chciałbym zaproponować sposób zapisu schematów sterowania lokomotyw (docelowo również np. urządzeń przekaźnikowych) w pliku tekstowym, w języku Ladder Diagram (LD albo LAD, czyli logika drabinki) na użytek MaSzyny.
Plik powinien się zaczynać od definicji zmiennych binarnych (tzn. przyjmujących stan 0 albo 1), reprezentujących stan przełączników, lampek oraz warunków opisanych analogowo (np. U>2200[V] by reprezentowało minimalne napięcie pozwalające na załączenie wyłącznika szybkiego). Docelowy format nie został jeszcze określony, na razie proponuję wypisać nazwy występujące na schematach, a po dwóch ukośnikach
// dać opis.
Właściwy schemat będzie opisany za pomocą "słów", rozdzielonych spacjami. Na słowa składają się wieloznakowe symbole oraz wymienione wcześniej zmienne binarne. Zestaw symboli:
Styk zwierny | Styk rozwierny | Opis |
LD-[ | LD-[/ | Pierwsze wejście szczebla drabinki |
]-[ | ]-[/ | Kolejne wejście, połączenie szeregowe |
]-( | ]-(/ | Wyjście (jako ostatni element szczebla) |
) | | Koniec szczebla drabinki |
]- | | Nazwa węzła (odczep do innego szczebla) |
-[ | -[/ | Koniec nazwy węzła, kolejne wejście |
-( | -(/ | Koniec nazwy węzła, wyjście |
]+ | ]+/ | Połączenie równoległe wejścia |
+[ | +[/ | Kolejne wejście szeregowo |
Styk zwierny: styk normalnie otwarty, zamykany po załączeniu przełącznika albo stycznika.
Styk rozwierny: styk normalnie zamknięty, otwierany po załączeniu przełącznika albo stycznika.
W miarę potrzeby będą definiowane kolejne typy wejść i wyjść, np. ze zwłoką czasową.
Przykład:
S1 //przełącznik 1
S2 //przełącznik 2
S3 //przełącznik 3
S4 //przełącznik 4
K1 //kontrolka 1
K2 //kontrolka 2
Z1 //połączenie równoległe
LD-[ S1 ]-[ S2 ]- Z1 -( K1 )
LD-[/ S3 ]+ Z1 +[ S4 ]-( K2 )
W powyższym przykładzie kontrolka K1 zapali się po zamknięciu przełączników S1 oraz S2. Jednocześnie zmienna Z1 będzie miała ten sam stan, co kontrolka K1. Kontrolka K2 zapali się, gdy będzie zamknięty przełącznik S4 oraz będzie otwarty przełącznik S3 lub zamknięte będą S1 i S2 (poprzez Z1).
Jest to pierwsza wersja, która zapewne będzie podlegać zmianom.