Řídicí systém pro ovládání klimatizace a vytápění železničních vozů

Řídicí systém pro ovládání klimatizace a vytápění železničních vozů Řídicí systém pro ovládání klimatizace a vytápění železničních vozů

support.dce.felk.cvut.cz
from support.dce.felk.cvut.cz More from this publisher
12.07.2015 Views

Kapitola 5. Návrh softwarujiž nenásleduje další byte) nastartovat časovač procesoru přesně na dobu trvání odeslánídeseti bitů (start bit, 8 datových, stop bit) při dané rychlosti komunikace. Po vypršenítohoto časovače se pak v jeho obsluze přerušení vstup ENABLE na budiči RS485deaktivuje.PacketRx, PacketTxTyto bloky jsou shodné jako u hlavní řídící jednotky.CommSlaveAplikační vrstva na straně jednotek v kupé. Jednotka je standardně ve stavu, kdynaslouchá lince a čeká na příchozí paket. Po přijetí paketu dochází k jeho zpracovánía k přípravě odpovědi zpět do hlavní řídící jednotky. Základem této vrstvy je opětstavový automat, který zastřešuje veškerou logiku této vrstvy. Na obr. 5.9 je stavovýautomat aplikační vrstvy komunikace na straně jednotky v kupé.Obr. 5.9: Stavový automat slaveRECV_PACKET – toto je počáteční stav automatu. Zde se vyčkává na příjemkorektního paketu. Po příjmu takového paketu se přechází na stav PARSE_PACKET66

Kapitola 5. Návrh softwaruPARSE_PACKET – první položku paketu, která se kontroluje je adresa zařízení.Pokud není paket určený dané jednotce, je zahozen a automat se vrací do stavuRECV_PACKET. V opačném případě může nastat několik situací. Hlavní jednotkapožaduje nastavení nových parametrů (přechází do stavu SET_PARAMETERS), nebose dotazuje na aktuální informace o teplotě a stavu otočného přepínače (přecházído stavu SEND_STATUS), nebo žádá verzi firmwaru v procesoru (přechází do stavuSEND_FW_VERSION)SET_PARAMETERS – nastavení nových parametrů tak, jak byly požadoványod hlavní jednotky. Pokud jsou tyto parametry akceptovány přechází do stavuSEND_ACK. V opačném případě do stavu SEND_NACKSEND_STATUS – jednotka sestaví paket se svými aktuálními parametry (teplota, stavpřepínače, klapek, autoregulace, diagnostické LED, je-li po resetu), odešle ho hlavnířídící jednotce a automat přechází do počátečního stavu RECV_PACKETSEND_FW_VERSION – v tomto stavu jednotka pošle paket se svojí verzí firmwaru.SEND_ACK – nastavení nových parametrů bylo akceptováno, jednotka odpovídápříznakem ACK a vrací se do počátečního stavu RECV_PACKETSEND_NACK - nastavení nových parametrů nebylo akceptováno, jednotka odpovídápříznakem NACK a vrací se do počátečního stavu RECV_PACKET67

Kapitola 5. Návrh softwarujiž nenásleduje další byte) nastartovat časovač <strong>pro</strong>cesoru přesně na dobu trvání odeslánídeseti bitů (start bit, 8 datových, stop bit) při dané rychlosti komunikace. Po vypršenítohoto časovače se pak v jeho obsluze přerušení vstup ENABLE na budiči RS485deaktivuje.PacketRx, PacketTxTyto bloky jsou shodné jako u hlavní řídící jednotky.CommSlaveAplikační vrstva na straně jednotek v kupé. Jednotka je standardně ve stavu, kdynaslouchá lince a čeká na příchozí paket. Po přijetí paketu dochází k jeho zpracovánía k přípravě odpovědi zpět do hlavní řídící jednotky. Základem této vrstvy je opětstavový automat, který zastřešuje veškerou logiku této vrstvy. Na obr. 5.9 je stavovýautomat aplikační vrstvy komunikace na straně jednotky v kupé.Obr. 5.9: Stavový automat slaveRECV_PACKET – toto je počáteční stav automatu. Zde se vyčkává na příjemkorektního paketu. Po příjmu takového paketu se přechází na stav PARSE_PACKET66

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!