Skip to content

panelServer reg

Jan Horacek edited this page Nov 7, 2021 · 11 revisions

Regulátor

Workflow

Řízení hnacích vozidel strojvedoucími probíhá ve dvou módech:

Žádost dispečerovi

Toto workflow je určeno pro standardní řízení s rolemi dispečer a strojvedoucí.

  1. Strojvedoucí se přihlásí klientskou aplikací k serveru.
  2. Strojvedoucí se autorizuje loginem,
  3. Strojvedoucí zažádá konkrétní oblast řízení o lokomotivu.
  4. Dispečer přidělí dispečerovi lokomotivu na základě jeho žádosti.
  5. Strojvedoucí řídí lokomotivu, má za ni zodpovědnost a plnou kontrolu. Může řídit lokomotivu buď v totálním ručním řízení, nebo řídit jen funkce a jízda zůstává v kontrole počítače.
  6. Po ukončení řízení se strojvedoucí odpojí od serveru a ukončí klientskou aplikaci. Při korektním stavění jízdních cest soupravě je řízená souprava automaticky navrácena do kontroly počítače.

Přímé přidělení lokomotivy

Toto workflow je určené pro případy, kdy dispečer a strojvedoucí jsou jedna a tatáž osoba. Typicky se využívá při manipulaci ve stanicích, kde je málo obsluhy.

  1. Strojvedoucí se přihlásí klientskou aplikací k serveru.
  2. Strojvedoucí se autorizuje loginem,
  3. Dispečer vygeneruje tzv. autorizační token pro konkrétní hnací vozidla.
  4. Tento autorizační token předá regulátoru.
  5. Regulátor zažádá o řízení lokomotiv, přičemž se prokáže tokeny.
  6. Server na základě prokázání se tokeny přidělí regulátoru hnací vozidla, další potvrzení dispečerem není nutné.
  7. Strojvedoucí řídí lokomotivu, má za ni zodpovědnost a plnou kontrolu.
  8. Po ukončení řízení se strojvedoucí odpojí od serveru a ukončí klientskou aplikaci. Při korektním stavění jízdních cest soupravě je řízená souprava automaticky navrácena do kontroly počítače.

Klient → server

-;LOK;G;AUTH;username;password

  • Požadavek na autorizaci uživatele regulátoru.
  • Server vždy odpoví zprávou -;LOK;G;AUTH.

-;LOK;G:PLEASE;or_id;comment

  • Požadavek na řízení lokomotivy z dané oblasti řízení.
  • Na tento požadavek vždy a ihned po zaslání požadavku přijde odpověď PLEASE-RESP. Ta potvrzuje přijetí žádosti serverem, nebo odmítá s příslušnou chybovou zprávou.

-;LOK;G:CANCEL

  • Zrušení požadavku o lokomotivu.
  • Server vždy odpoví zprávou PLEASE-RESP.

-:LOK;addr;PLEASE;token

  • Žádost o řízeni konkrétní lokomotivy.
  • Token není potřeba připojovat v případe, kdy lokomotivu už máme autorizovanou a bylo nám ukradeno například myší.
  • Server vždy odpoví zprávou LOK;G;AUTH.

-;LOK;addr;RELEASE

  • Uvolnění lokomotivy z řízení regulátoru.
  • Server vždy odpoví zprávou AUTH;release.

-;LOK;addr;SP;sp_km/h

  • Nastavení rychlosti lokomotivy.
  • Server vždy odpoví zprávou RESP.

-;LOK;addr;SPD;sp_km/h;dir

  • Nastavení rychlosti a směru lokomotivy.
  • Server vždy odpoví zprávou RESP.

-;LOK;addr;D;dir

  • Nastavení směru lokomotivy.
  • Server vždy odpoví zprávou RESP.

-;LOK;addr;F;F_left-F_right;states

  • Nastavení funkcí lokomotivy.
  • např.; or;LOK;F;0-4;00010 nastaví F3 a ostatní F vypne
  • Server vždy odpoví zprávou RESP.

-;LOK;addr;STOP

  • Nouzové zastavení lokomotivy.
  • Server vždy odpoví zprávou RESP.
  • Server odpoví aktuálním stavem lokomotivy.

-;LOK;addr;TOTAL;[0,1]

  • Nastavení totálního řízení hnacího vozidla.
  • Server na tento příkaz vždy odpoví TOTAL a jedině tuto informaci lze považovat za směrodatnou v otázce toho, jestli je loko v totálním ručním řízení nebo není. Server může zamítnout přechod do totálního ručního řízení!

-;LOK;addr;NAV

  • Žádost o poslání návěsti na návěstním opakovači.
  • Při poslání žádosti je nutné mít lokomotivu autentizovanou. Pokud loko není autentizovaná, server neodpoví.

-;LOK;addr;EXPECTED-SPEED

  • Žádost o zaslání očekávané rychlosti lokomotivy.
  • Při poslání žádosti je nutné mít lokomotivu autentizovanou. Pokud loko není autentizovaná, server neodpoví.

-;SPEED-STEPS-REQ;

  • Žádost o zaslání mapování rychlostních stupňů na skutečnou rychlost.

Server → klient

-;LOK;G:PLEASE-RESP;[ok,err];/info/

  • Odpověď na žádost o lokomotivu z reliéfu.
  • V info je případná chybová zpráva.
  • Tato zpráva přijde vždy ihned jako odpověď na zprávu LOK;G;PLEASE.
  • Může se však stát, že server nejdřív žádost potvrdí a pak dispečer žádost odmítne, pak jdou spojením tato data:
> -;LOK;G;PLEASE;or_id;chci lokomotivu 1234 # klient zada
< -;LOK;G;PLEASE-RESP;ok # server potrvdil zadost
< -;LOK;G;PLEASE-RESP;err;Dispečer odmítl žádost # dispecer odmitl zadost, zadost se rusi
  • Nebo může nastat tato situace:
> -;LOK;G;PLEASE;or_id;chci lokomotivu 1234 # klient zada
< -;LOK;G;PLEASE-RESP;err;Žádost již probíhá # server zamitl zadost, zadost se rusi

-;LOK;G;AUTH;[ok,not];info

  • Odpověď na požadavek o autorizaci.

-;LOK;addr;AUTH;[ok,not,stolen,release];info;hv_data

  • Odpověď na požadavek o autorizaci řízeni hnacího vozidla (odesíláno take jako informace o zrušení ovládání hnacího vozidla).
  • info je string.
  • hv_data jsou připojována k příkazu v případě, ze došlo úspěšně k autorizaci; jedná se o specifikaci hnacího vozidla obsahující všechny informace.

-;LOK;addr;F;F_left-F_right;states

  • Informace o stavu funkcí lokomotivy.
  • Např.; or;LOK;0-4;00010 informuje, ze jsou zapnuté F3 a F0, F1, F2 a F4 jsou vypnuté.

-;LOK;addr;SPD;sp_km/h;sp_stupne;dir

  • Informace o změně rychlosti (či směry) hnacího vozidla.

-;LOK;addr;RESP;[ok,err];info;speed_kmph

  • Odpověď na příkaz.
  • speed_kmph je nepovinný argument.
  • Info zpravidla obsahuje rozepsání chyby, pokud je odpověď ok, info je prázdné.

-;LOK;addr;TOTAL;[0,1]

  • Změna ručního řízení lokomotivy.

-;LOK;addr;NAV;blk_name;scom_code

  • Informace o změně návěstidla na návěstním opakovači
  • scom_code může být buď číslo S-COM kódu návěsti nebo symbol - pokud není návěstní opakovač v činnosti (ideálně nezobrazovat žádnou návěst)
  • Zpráva může přijít kdykoliv asynchronně.

-;LOK;addr;EXPECTED-SPEED;speed

  • Informace o změně očekávané rychlosti HV.
  • speed je buď číslo (rychlsot v km/h, např. 40) nebo - pokud HV nemá žádnou očekávanou rychlost.
  • Zpráva může přijít kdykoliv asynchronně.

-;SPEED-STEPS;{s1,s2,s3,...,s28}

  • Informace o mapování rychlostního stupně na skutečnou rychlost.
  • s1 = rychlost 1. rychlostního stupně v km/h
  • s28 = rychlost 28. rychlostního stupně v km/h
Clone this wiki locally