Autor Wątek:  Ladder Diagram (LD), czyli zapis schematów  (Przeczytany 5699 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 336
Ladder Diagram (LD), czyli zapis schematów
« dnia: 23 Stycznia 2014, 01:09:21 »
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.
« Ostatnia zmiana: 23 Stycznia 2014, 15:55:02 wysłana przez Ra »
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline Ryszard-san

  • Wiadomości: 214
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Ladder Diagram (LD), czyli zapis schematów
« Odpowiedź #1 dnia: 23 Stycznia 2014, 03:05:40 »
Witam

Przydało by się jeszcze zdefiniować 2 rodzaje styków

1 z przyspieszonym zamknięciem np. < s1 >
2 z opóźnionym zamknięciem np. { s1 }

kolejność wtedy by była taka przy przełączaniu < s1 >, [ s1 ], { s1 }, i analogicznie dla zanegowanych. Bez tego nie uda się zrealizować układów przejścia z układu na układ na lokach bo całe sterowanie zwariuje (będzie występować np tzw. "szycie szafy", lub raz układ przejdzie a za drugim razem utknie).

Proponował bym również aby komórki i zmienne które są na wyjściach były oddzielone symbolem = łatwiej będzie się czytać i tworzyć schematy. np:

LD-[ S1 ]-[ S2 ] = Z1 =( K1 )
LD-[/ S3 ]+ Z1 +[ S4 ] =( K2 )

Pozdrawiam Ryszard

« Ostatnia zmiana: 23 Stycznia 2014, 03:11:11 wysłana przez Ryszard-san »

Offline Niebugoclaw

  • Wiadomości: 1222
    • Zobacz profil
  • Otrzymane polubienia: 10
Odp: Ladder Diagram (LD), czyli zapis schematĂłw
« Odpowiedź #2 dnia: 23 Stycznia 2014, 11:06:29 »
A moze dalo by rade napisac w FBD a nastepnie przerzucic na LD? Moim zdaniem stawianie blokow jest wygodniejsze.

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6308
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 336
Odp: Ladder Diagram (LD), czyli zapis schematów
« Odpowiedź #3 dnia: 23 Stycznia 2014, 11:50:40 »
Zapisany w ten sposób schemat elektryczny lokomotywy/wagonu ma się wyświetlać na ekranie podczas symulacji i umożliwiać zaawansowanemu użytkownikowi lokalizowanie usterek i dokonywanie doraźnych napraw/obejść. Nie bardzo sobie wyobrażam miksowanie tego z FBD.

Przykładowo, zasilanie stycznika opornika rozruchowego z sąsiedniego:
t=3165

Wchodzenie na drugi układ za pomocą odbloku ogrzewania:
t=4700

  Dodano: 23 Stycznia 2014, 12:48:02
kolejność wtedy by była taka przy przełączaniu < s1 >, [ s1 ], { s1 }
Zapis schematu to jedno, ale to jeszcze ma się wykonywać jako program. Pytanie jest, na ile przyspieszone i opóźnione styki są używane, ja bym był raczej za definiowaniem tych styków w oddzielnym szczeblu, z użyciem elementów opóźniających, jakoś tak:LD-[ S1sz ]-dt-( S1 )-dt-( S1op )
Proponował bym również aby komórki i zmienne które są na wyjściach były oddzielone symbolem = łatwiej będzie się czytać i tworzyć schematy.
Zastanowię się jeszcze nad tym. Zasadniczo planuję zrobić edytor graficzny do generowania kodu, ale kod sam w sobie też powinien być czytelny. Węzły odczepowe będą mogły być definiowane w dowolnych miejscach szczebla, czy to nadal będzie czytelne?
LD-[ S1 ]-[ S2 ]= Z1 =[ S3 ]-[ S4 ]= Z2 =[ S5 ]=( K1 )
Jest jeszcze kwestia taka, że określone przeze mnie odczepy szczebli będą działały jak diody, tzn. stan z kolejnego szczebla nie przeniesie się do wcześniejszego. Uprości to działanie programu, ale coś innego może skomplikować. Priorytetem jest dostosowanie programu do symulacji faktycznego sterowania pojazdów, nie musi on obsługiwać wszystkich teoretycznie możliwych przypadków.
« Ostatnia zmiana: 23 Stycznia 2014, 12:48:02 wysłana przez Ra »
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni

Offline El Mecánico

  • Wiadomości: 1067
  • Dawniej El Driver
    • Zobacz profil
    • Stowarzyszenie POLARIS - OPP
  • Otrzymane polubienia: 2
Odp: Ladder Diagram (LD), czyli zapis schematów
« Odpowiedź #4 dnia: 29 Stycznia 2014, 18:22:37 »
Proponował bym troszkę inny sposób zapisu i wyświetlania LD.
W załączniku znajduje się screen z darmowego programu LDmicro (edytor diagramu, symulator, kompilator dla AVR/PIC w jednym) prezentujący wykonany przeze mnie obwód czuwaka aktywnego oraz plik LD z tymże diagramem. Podobnie wygląda wyświetlanie LD nawet w bardzo zaawansowanych narzędziach, jak choćby RSLogix (screeny można bez problemu wygooglać).
Na początku pliku ld z LDmicro znajdują się parametry związane z mikrokontrolerem, dla nas nieistotne (chyba, że ktoś chce pulpit na uC), dalej lista wejść/wyjść (program sam dopisuje na początku nazwy X dla wejścia - styku oraz Y dla wyjścia - cewki), oraz sam program. Każdy szczebel to blok zaczynający się słowem RUNG. Proszę zwrócić uwagę w pierwszym szczeblu na element MASTER_RELAY, który to "załącza" całą resztę obwodów/szczebli.
Do powstającego modułu MaSzynaLD program będzie wczytywany również w postaci binarnej, aby uniknąć parsowania i kompilacji przy każdym ładowaniu symulacji, a biorąc pod uwagę możliwość przeniesienia do postaci LD nie tylko obwodów pojazdów ale i USRK, to trochę by to mogło zająć czasu i zasobów.
« Ostatnia zmiana: 29 Stycznia 2014, 18:24:21 wysłana przez El Mecánico »
www.polaris.org.pl
www.ciemneniebo.pl
MaSzyna_LD w trakcie tworzenia...