====== Intelkomunikacia ====== == Na akych portoch komunikuje intelkomunikacia == * **TCP** porty 4444, 4455 a 2222 * **UDP** porty 1238, 5555, 1240 == Na akych portoch komunikuje posielanie alarmov == * **UDP** porty 1238 (strojcek / automat posiela alarm a ziadost na vycitanie), 1239 (strojcek / automat prijima ziadost o stav) == SCHEMA KOMUNIKACIE Monitora alarmov == Alarmy odchadzaju z automatu z portu 1239 a smeruju na port -> 5555 na ip kde bezi intelkom. Odtial si Monitor alarmov prebera alarmy z intelkom IP na porte 4444. == SCHÉMA KOMUNIKÁCIE medzi palubákmi a intelkomom == Intelkomunikácia rozposiela výzvové UDP pakety na zariadenia v nastavenom rozsahu na port 5555. Zachytený palubák odpovedá intelkomunikácii opäť UDP paketom na port 1238. Tá potom vytvára TCP spojenie na palubák na port 2222. V rámci tohto pripojenia prebehne celá sychronizácia dát - štatistika, vstupné dáta, ... Diagram je v dokumente: https://docs.google.com/document/d/1ShGVPoALjIBqLCMMlrGTqZK0d4yjOdFOvvuckr36QKE/edit {{intro:intelkom.png|}} == Na akych winado dll je intelkomuniacia zavisla == EMActiveX.dll EMAlarm.dll EMBinary.dll EMPlatnosti.ocx EMStrojcekyDC.dll EMStrojcekyOM.dll EMVozidlaDC.dll EMVozidlaOM.dll schedul.dll TDConfigLib.dll TDControls.dll TDMonitorLib.dll TDSerilog.dll == Ciselnik chyb (under construction :)) == Nepodarilo sa získat súbor [2 *] - Chyba komunikacie so strojcekom pri vycitavani informacii o statistike * = -1 - nepreslo poslanie paketu -2 - zlyhalo prijatie odpovede (do 60 sekund) -3 - zlyhalo parsovanie paketu (zrejme nekorekny format (CPaket::ExtraktPaket)) -4 - nie je to ocakavana odpoved (ocakaval napr. odpoved 'i', 'R' dlzky 13B a prislo nieco ine) Nepodarilo sa získat súbor [3 *] - Chyba komunikacie so strojcekom pri vycitavani statistiky (zlyhalo poslanie alebo prijatie paketu, velmi podobne, ako predosly pripad) * - druhe cislo je navratova hodnota z vycitania infa o statistike - vid predosly zaznam Nepodarilo sa získat súbor [1] - Chyba komunikacie so strojcekom pri vycitavani informacii o statistike - pri otvorenom odpocte Nepodarilo sa získat súbor [2] - Chyba komunikacie so strojcekom pri vycitavani statistiky - pri otvorenom odpocte == Logový súbor == Ak sú zapnuté vývojárske logy, ukladajú sa do: C:/Temp/IntelKomunik.log == Monitoring a TDScheduler == Intelkomunikácia zapisuje záznam do tabuľky //mon_Monitor// v databáze Winad (resp. databáze nastavenej v nastavení //LogMonDatabase//). Vzniká tam záznam ako: | ModulID | CompanyID | Host | Instance | StatusDatetime | TimeStamp | Level | Operation | Version | Message | Enabled | State | | 1265 | 912 | BENADIKVM | 1265 | datum a čas | datum a čas | 2 | Communication | 11.3.1.0 | Communication is stopped | 1 | 0 | kde: * ModulID = ProgramID * CompanyID = FirmaID * Host = Nazov klientskeho pocitaca (System::Environment::MachineName) * Instance = ProgramID * StatusDatetime - dátum a čas posledného prihlásenia sa intelkomunikácie do monitoringu (každých 10 sekúnd) * TimeStamp - dátum a čas posledného logu (viď nižsie) * Level - závažnosť logu (0-5, vyššie číslo = vyššia závažnosť) * Operation - kategória logu (viď nižsie) * Version - verzia aplikácie * Message - log (viď nižsie) * Enabled - príznak pre zastavenie programu (Enabled >= 100 znamená pokyn na zastavenie) * State - identifikátor stavu aplikácie (viď nižsie) Intelkomunikácia momentálne pozná iba dva stavy beží/nebeží vyčítavanie pokladní (1/0). Logy zapisuje: * "Startup" - "IntelKom started" pri nábehu * "Communication" - "Communication is running" - pri spustení vyčítavania * "Communication" - "Communication is stopped" - pri zastavení vyčítavania Každých 10 sekúnd sa obhliada príznak //Enabled// a ak je hodnota väčšia ako 100, intelkomunikácia sa buď rovno vypne, ak je zastavené vyčítavanie pokladní alebo sa zastaví vyčítavanie a potom každé 2 sekundy sa kontroluje, či ešte nejaká pokladňa komunikuje a keď dokomunikuje posledná, aplikácia sa vypne.