Autor Wątek:  Zasilanie sieci trakcyjnej  (Przeczytany 5548 razy)

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

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Zasilanie sieci trakcyjnej
« dnia: 21 Sierpnia 2014, 22:25:26 »
Poprawki sieci pod względem podstawowej geometrii dobiegają końca. Kolejnym krokiem jest zasilenie jej. Ten wątek ma wytłumaczyć jak to jest rozwiązane w symulatorze i zachęcić do współpracy przy przeróbkach scenerii. Pliki sieci są względnie zunifikowane, więc jest to stosunkowo wdzięczna robota, przynajmniej w stosunku do prac na torach, gdzie każdy scenariusz ma własną kopię.
Względnie poprawną sieć można znaleźć na TD, Quarku, Tarniowie i Krzyżowej.
Pobieżny opis jak kwestia zasilania wygląda w rzeczywistości można znaleźć choćby TU.

Koncepcja symulacji sieci pewnie ulegnie jeszcze zmianie, ale większość operacji niżej opisanych i tak będzie musiała zostać kiedyś przeprowadzona.

1. Obiekty sieci w symulatorze.

Rozróżniamy dwa(trzy) obiekty sieci (przykłady z TD):

Przęsło sieci:
Cytuj
node -1none traction pwr01 3500 4500 0.01 cu 3.0 0
0.587216 5.8 346.268
4.44662 5.8 306.489
0.587216 7.5 346.268
4.44662 6.62 306.489
0.4 0.0 3 0.04 vis
endtraction
Cytuj
node widocznośćnazwa przęsła traction wskaźnik na obiek tractionpowersource napięcie znamionowe-używane przy braku zasilania pobór prądu powodujący spadek napięcia o połowę-uzywany przy braku zasilania rezystancja styku przewód-ślizgaczzmienione na rezystancję jednostkową przewodu materiał; planowana zmiana typ konstrukcji przęsła grubość drutu w mm flaga uszkodzeń 0-nowy 1-patyna 128-zerwany
point1 początek drutu dolnego
point2 koniec drutu dolnego
point3 początek drutu górnego
point4 koniec drutu górnego
wysokość drutu górnego nad dolnym na środku przęsła odstęp miedzy kolejnymi wieszakami ilość przewodów odstęp między przewodami jezdnymi widoczność
endtraction


Zasilacz sieci trakcyjnej Podłączony tylko do jednego przęsła. Zasila dwie sekcje fizycznie sąsiadujące?
Cytuj
node -1 0 pwr1 tractionpowersource 0 0 0 3600 0 0.01 4500 1.0 3 60.0 norecuperation end
Cytuj
node -1 0 nazwa zasilacza tractionpowersource współrzędne napięcie znamionowe 0 rezystancja wewnętrzna (?) prąd wyłączenia podstacji ? ? ? norecuperation end

Odłącznik sekcyjny - definiuje tylko prąd odcięcia sekcji przez podstację lub kabinę sekcyjną
Cytuj
node -1 0 pwr01 tractionpowersource 0 0 0 3400 0 0.01 2000 1.0 3 60.0 section end
Cytuj
node -1 0 nazwa tractionpowersource współrzędne napięcie znamionowe Częstotliwość rezystancja wewnętrzna (?) prąd odcięcia ? ? ? section end

Gdy wskaźnik na przęśle wskazuje na niezdefiniowany obiekt tractionpowersource używane są parametry z przęsła. Jest ono wtedy zasilaczem dla lokomotywy i tylko ona go obciąża.
Wskazanie obiektu section dołącza przęsło do sekcji. Wtedy parametry zasilania brane są z podłączonej do sekcji podstacji. Pojazd pobierający prąd tworzy gwiazdę gdzie R1-rezystacja zastępcza przewodu od odbieraka do pkt zasilania sekcji 1 R2-rezystacja zastępcza przewodu od odbieraka do pkt zasilania sekcji 2 R3-rezystancja lokomotywy. Jest to przeliczane w trójkąt i każda lokomotywa wraz z przewodami stanowi osobny odbiornik wpinany równolegle między odłączniki sekcyjne. To jest jeden z elementów do zmiany. Gdy sekcja jest zasilona obustronnie przewód przyjmuje kolor żółty w debugmode. Gdy jednostronnie zielony lub czerwony w zależności od kierunku.
Przęsło ze wskaźnikiem na norecuperation jest bezpośrednio zasilane z podstacji i zasila odłączniki przyległych sekcji (?). W debugmode przyjmuje kolor niebieski.
Przęsło ze wskaźnikiem * oznacza izolator sekcyjny. Nie jest zasilane i podobnie jak przęsła nie podłączone do niczego (najczęściej zerwane przez błędne położenie) przyjmuje kolor szary w debugmode.

Posiadamy w symulatorze również czysto dekoracyjny zasilacz w postaci modelu tr/stb1-izo.t3d obecny w includach słupów trakcyjnych z członem izo w nazwie. Należy je stosować na jednym z krańców przęsła zasilanego bezpośrednio.

2. Symulacja napięć w sieci.

Cytat: Ra
Zasilanie sekcji z dwóch stron odbywa się poprzez wpisanie w skrajnych przęsłach nazwy zasilacza (podstacji albo kabiny sekcyjnej). W fazie InitTraction nazwa ta zastępowana jest nazwą sekcji z sąsiedniego odcinka. Czyli w przypadku linii dwutorowej nazwa zasilacza będzie umieszczona w czterech okolicznych przęsłach.
Przęsło z przypisanym zasilaczem otrzymuje rezystancję zastępczą równą 0. Następnie zasilacz ten propagowany jest do sąsiednich przęseł tej samej sekcji, z obliczaniem sumarycznej rezystancji zastępczej. We wpisach przęseł sieci jest wartość 0.01, która jest zbyt mała jak na oporność, jest ona zastępowana wartością 0.07 [om/km] (przeciętna oporność jest w przedziale od 0.05 do 0.15). Wartość inna niż 0.01 będzie brana bezpośrednio.
Problemem okazało się naprężanie sieci, które powoduje, że przęsła tej samej sekcji nie mają punktów wspólnych. W takim przypadku, dla każdego końcowego przęsła wyszukiwane jest inne przęsło tej samej sekcji, które ma już przypisany zasilacz od tej strony, gdzie zaczyna się skrajne przęsło odcinka naprężania. Zasilacz ten kopiowany jest do skrajnego odcinka i następnie propagowany do kolejnych przęseł z przeliczeniem rezystancji zastępczej. Ponieważ wyszukiwanie odbywa się jedynie wśród przęseł z przypisanym zasilaczem, zasilanie podłączane jest do kolejnych odcinków naprężania sukcesywnie, w pętli, która kończy działanie, gdy nie uda się podłączyć żadnego przęsła więcej.
W efekcie tej procedury, przy prawidłowym ustawieniu i nazwaniu przęseł w scenerii, każde przęsło będzie mieć wskaźnik na dwa zasilacze oraz zastępczą rezystancję do nich.
W celu obliczenia napięcia na pantografie, który dotyka przęsła, wyznaczana jest rezystancja obwodów pojazdu (jako U/I, ewentualnie zastępowane przez 10kom, jeśli I jest zerowe). Następnie układ gwiazdy (rezystancja pojazdu i rezystancje do zasilaczy) przeliczany jest na trójkąt, dzięki czemu uzyskujemy wartość obciążenia (rezystancji zastępczej) dla każdego z zasilaczy. Rezystancje te (a właściwie admitancje, bo jest to połączenie równoległe) są sumowane w zasilaczach dla wszystkich zasilanych pojazdów, a następnie z sumy uzyskanej w poprzednim kroku fizyki (z uwzględnieniem rezystancji wewnętrznej) wyliczany jest prąd płynący przez dane obciążenie. Prądy od obu zasilaczy są sumowane, a następnie mnożone przez rezystancję zastępczą pojazdu, co daje napięcie na pantografie.

Jest to błędne, w przypadkach gdy do jednej sekcji podepnie się więcej niż jeden odbiornik. Wtedy każdy pojazd tworzy osobny obwód (kopię sekcji) i jest wpinany równolegle w dwa zasilacze.
Nie są symulowane również prądy wyrównawcze między dwoma zasilaczami, gdy ich napięcie nie jest identyczne.
Brakuje obiektu kabiny sekcyjnej. Wszystkie zasilacze są podstacjami.
Wg. Głowackiego przewód jezdny powszechnie stosowany w sieci PKP ma około 5,5 mm przekroju i rezystancję 0.18 om/km. 0.07 om/km jest akceptowalne dla dwóch przewodów jezdnych. W takim wypadku trzeba albo stosować jawny parametr rezystancji jednostkowej, albo wyliczać go z parametru mającego zastąpić materiał.

Cytat: Ra
Kolejnym etapem pracy nad symulacją sieci trakcyjnej powinno być dynamiczne budowanie obwodu obejmującego podstacje, kabiny sekcyjne oraz poruszające się pojazdy i obliczanie napięć w nim za pomocą metody potencjałów węzłowych.

Moje tezy:
Skoro w fazie init traction liczona jest trajektoria po współrzędnych przęseł w obrębie sekcji i w dodatku w przypadku braku punktów styczności powstają magiczne łuki do najbliższego przęsła zasilonego, jest to dalekie od optymalności. W dodatku wskazywanie sekcji dla każdego przęsła przy braku sprawnych narzędzi edycyjnych jest ciężką i żmudną pracą, proponuję co następuje:
Konieczność definiowania sekcji (odłącznika sekcyjnego) tylko dla przęseł skrajnych. Z jednej strony będzie miało ono zasilacz a z drugiej przęsła ze wskaźnikiem none lub jakimś wolnym znakiem specjalnym. Po tej trajektorii liczona będzie rezystancja aż do napotkania kolejnego przęsła wskazującego na ten sam odłącznik sekcyjny.
Wprowadzenie obiektu zwory (lub jako kabiny sekcyjnej z odpowiednimi parametrami), łączącego przęsła ekwipotencjalne na naprężeniach w obrębie jednej sekcji i w obrębie głowic stacyjnych zamiast wyszukiwania najbliższego zasilanego w przypadku wykrycia przerwy.

3. Sekcjonowanie sieci.

Minimum jakie można znaleźć na Quarku to osobna sekcja na każdą stację i każdy szlak. Szlaki powinny być podzielone na osobne sekcje nad każdym torem, podobnie jak stacje. Ten aspekt muszę jeszcze zgłębić, by go poprawnie wyłożyć. Na szlakach przewody sąsiednich torów powinny być zwierane przez kabiny sekcyjne, niesymulowane jeszcze. Izolację między sekcjami uzyskuje się samoczynnie na przęsłach naprężenia (są to wszystkie przęsła osłonięte wskaźnikami W9) oraz izolatorach tworzonych jako niewidoczne przęsło z tractionpowersource * i wstawionym w jego miejsce modelem izolatora (do obejrzenia na Krzyżowej).

Edycję sieci można przeprowadzać w Rainstedzie i notatniku, edytorze RSF i 3ds Maxsie.

3ds Max
Tutaj jest to najprostsze, o ile jesteśmy w stanie zaimportować scenerię, która chcemy modyfikować. U mnie niestety to nie działa w pełni, wiec przykłady będą jedynie z toru doświadczalnego bez terenu.
W 3dsie parametr tractionpowersource jest tożsamy z nazwą linii, przekształcanej przy eksporcie w przęsło sieci. Z jednej strony pozwala to na łatwą kontrolę zasilania, z drugiej nie pozwala nadać przęsłom nazwy jako obiektowi node.
Screen przedstawia południową głowicę toru doświadczalnego z zaznaczonym jednym przęsłem sieci. Po prawej w menu obiektu widzimy nazwę odcinka tożsamą z zasilaniem-sekcję pwr01. Przy dodawaniu nowego przęsła ze skryptów parametr ten ustawia się z pierwszego pola podpisanego zresztą należycie. Sposobu na grupową zmianę nazwy nie znalazłem.


Po ustawieniu odpowiedniej nazwy całej sekcji możemy sprawdzić poprawność dokonanej operacji, wyświetlając utworzoną sekcję. Ukrywamy wszystkie obiekty i w poleceniu unhide by name podajemy nazwę sekcji. Jak widać pokazały się wszystkie przęsła TD oprócz jednego. Tor doświadczalny składa się z jednej sekcji o nazwie pwr01. Niewidoczne przęsło to to, do którego jest podłączona podstacja o nazwie pwr1.


Obiekty tractionpowersource, czyli definicje odłączników i podstacji najlepiej dodawać ręcznie w notatniku. Odłącznik sekcyjny nie ma reprezentacji graficznej. Podstacja może być wstawiona jako budynek pkp\odsekc20.inc zawierający już definicję obiektu podstacji o nazwie tractiopowersource P1, czyli nazwie z jaka wstawimy ten inc do scenerii. Nie jest to jednak wymagane. Równie dobrze można umieścić samo źródło bez reprezentacji graficznej zgodnie z konstrukcją opisana w punkcie pierwszym.

Podgląd w Rainstedzie i notatnik
Metoda najbardziej pierwotna, niewymagająca dodatkowego oprogramowania i jednocześnie najbardziej żmudna. Tu przykłady będą z Krzyżowej, jako że jest to moim zdaniem najlepsza sceneria jeśli chodzi o sieć na dzień dzisiejszy.
Otwieramy plik z siecią trakcyjną, w moim przypadku scenery\krzyzowa2\sc2_tr.scm, oraz podgląd terenu w Rainstedzie (struktura>wczytaj wszystkie include bez parametrów, debugger>podgląd terenu).
W pliku z siecią na początku mamy zdefiniowane wszystkie odcinki izolowane. Jest to dobra praktyka, bo bez przeszukiwania pliku pozwala zorientować się z czym mamy do czynienia.
node -1 0 s_MD tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_MG tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kl tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Ch tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Dr tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end

node -1 0 s_Kl-MD_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kl-MD_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr-MD tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr-Kl_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr-Kl_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr-MD tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Kr-MG tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_MD-Dr_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_MD-Dr_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_MG-Dr_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_MG-Dr_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Dr-Ch_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Dr-Ch_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Ch-Kr_1 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
node -1 0 s_Ch-Kr_2 tractionpowersource 0 0 0 3500 0 0.1 4500 1.0 3 60.0 section end
Jak widać mamy tu podział na sekcje stacyjne oraz szlakowe, w przypadku linii dwutorowych podwójne. Ich nazwy pozwalają zorientować się o typie obiektu tractionpowersource (sekcja-s) oraz lokacji (skrót nazwy posterunku/relacji).
Podstacje są dodane jako budynki wspomniane wyżej i niestety wplecione w definicje słupów. Musimy je znaleźć po nazwie pliku include. Gdy będzie kilka modeli podstacji, zacznie to być problematyczne, wiec sugeruję umieszczać wszystkie obiekty zasilania na górze pliku.
Przykładowa podstacja w Krzyżowej:
include;pkp/odsekc20.inc;pwr_krzyzowa;-2655.87;0.0;-4672.31;1.7;pkp/odsekc20;3500;0.2;4500;end
Przechodzimy do podglądu terenu. Na chwilę obecną nie ma niestety możliwości zaznaczenia konkretnego przęsła ze wskazaniem wersu w pliku w którym jest ono zdefiniowane, jak to jest w przypadku torów, więc wyszukiwanie przęseł które chcemy przypisać do sekcji musimy prowadzić szukając po współrzędnych końca. Zakładka punkty, koniec przęsła powinien być tożsamy z punktem umieszczenia słupa (pomarańczowa kropka).
Po odpowiednim nazwaniu przęseł sprawdzamy efekt w zakładce druty. Możemy tam podobnie jak w 3dsie filtrować widoczność sieci na podstawie przynależności do sekcji. Na screenie wyświetlona sekcja stacji Krzyżowa s_Kr. Luki w środku to przęsła do których podłączona jest podstacja pwr_krzyzowa.


A tak to wygląda w trybie testowym w symulacji. Na pierwszym planie cztery niebieskie przęsła z bezpośrednio podłączoną podstacją pwr_krzyzowa reprezentowaną przez kontenerową kabinę sekcyjną, widoczną po drugiej stronie stacji. Żółte przęsła nad torami głównymi sekcji s_Kr są zasilone dwustronnie. Czerwone nad torami bocznymi kończą się ślepo, więc zasilone są jednostronnie.



C.D.N.

Uzupełnienia rzeczy których nie wiem i wytykanie błędów w moim rozumowaniu bardzo mile widziane.
« Ostatnia zmiana: 01 Grudnia 2014, 15:03:17 wysłana przez Stele »
Mój kanał youtube

Offline muri

  • Wiadomości: 627
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Zasilanie sieci trakcyjnej
« Odpowiedź #1 dnia: 21 Sierpnia 2014, 23:46:29 »
Zarówno Zasilacz sieci trakcyjnej jak i Odłącznik sekcyjny opisałeś jako node (...) tractionpowersource Chyba coś powinno nazywać się inaczej (tractionpowerswitch? ).

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Zasilanie sieci trakcyjnej
« Odpowiedź #2 dnia: 21 Sierpnia 2014, 23:54:00 »
Bo to w zasadzie ten sam obiekt. Oba mają typ tractionpowersource. Ich funkcję definiuje ostatni parametr section dla odłącznika sekcyjnego i norecuperation dla podstacji. Prawdopodobnie dojdzie jeszcze jakiś na kabinę sekcyjną.
Mój kanał youtube

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6301
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 330
Odp: Zasilanie sieci trakcyjnej
« Odpowiedź #3 dnia: 22 Sierpnia 2014, 14:18:30 »
To "odstęp miedzy kolejnymi wieszakami (nieużywane?)" to jest odległością pomiędzy wieszakami i dzieli przęsło na linie. Akurat jako przykład wkleiłeś przęsło z okolicy naprężania, które nie ma wieszaków (nie ma tam konieczności utrzymania drutu jezdnego w jako takim poziomie).
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni