• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    chyba komunikace s Unipi Extension xS51

    Mervis
    2
    9
    1992
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      ladmanj last edited by

      Dobrý den,
      Mám Unipi Extension xS51 připojený k Neuron S103 asi pěti metry kabelu.
      RS-485 je na obou koncích řádně zakončena.
      Na sběrnici je ještě jedno zařízení mojí vlastní konstrukce.
      Po čtvrt roce bezproblémového provozu se komunikace zastavila a výstupy zůstaly viset na konstantních hodnotách.
      Je mi známo, že extension samotný má v dokumentaci uvedenu nějakou watchdog funkci, ale pro tentokrát bych rád řešil stranu kontroléru.

      Jsem od instalace daleko, ale když jsem po několika dnech zaznamenal, že se děje něco divného, Neuron jsem restartoval a vše se plně rozběhlo.

      Lze nějak hlídat komunikaci/obnovování vstupů a v případě problému to nějak reinicializovat, nebo komplet restartovat automaticky?

      Děkuji

      1 Reply Last reply Reply Quote 0
      • L
        ladmanj last edited by

        Opravdu pro mě nemáte žádnou odpověď?

        Teď jsem zařízení našel ve stejném stavu. Neuron ukazoval v ladění proměnné červeně a neměnné.

        Po teplém startu vše běží.

        Není možné komunikaci (s Extension xS51) nějak hlídat a vyvolat teplý restart, pokud se zastaví?

        Díky

        C 1 Reply Last reply Reply Quote 0
        • C
          cleve administrators @ladmanj last edited by

          @ladmanj
          Dobrý den,
          pokud instalace 3 měsíce fungovala bez problémů, vypadá to spíše na změnu provozních podmínek nebo špatnou instalaci. Jaký druh kabelu je použit, je v blízkosti nějaký zdroj rušení? Jaká zařízení jsou připojena na PLC a extension? Jakou konfiguraci Modbus používáte (rychlost atd.)? Jak jsou jednotky napájeny?
          Jakou máte verzi fw desky Neurona a extensiony? Můžete zkusit aktualizaci dle tohoto článku.
          Softwarové řešení hw problému není snadné. Můžete zkusit detekovat chybu linky pomocí její proměnné commerror a následně zkusit restartovat extension nebo IO desku Neurona pomocí proměnných reboot.

          Best regards,
          Kryštof Černý - Unipi engineer

          L 2 Replies Last reply Reply Quote 0
          • L
            ladmanj @cleve last edited by

            @cleve

            Díky, vyzkouším uvedené rady. Firmware jsem od nákupu neuronů neupdatoval, tak v tom vidím naději. Ty proměnné k detekci chyby také považuji za dobré nasměrování.

            C 1 Reply Last reply Reply Quote 0
            • C
              cleve administrators @ladmanj last edited by

              @ladmanj
              Dobrý den,
              teplý restart je možné provést zavoláním funkce reloadapplication s parametrem flags (příznaky restartu, 1 - cold restart, jinak warm). Funkci je možné přidat pravým tlačítkem nebo zavolat z ST.

              Best regards,
              Kryštof Černý - Unipi engineer

              L 1 Reply Last reply Reply Quote 0
              • L
                ladmanj @cleve last edited by

                @cleve said in chyba komunikace s Unipi Extension xS51:

                Softwarové řešení hw problému není snadné. Můžete zkusit detekovat chybu linky pomocí její proměnné commerror a následně zkusit restartovat extension nebo IO desku Neurona pomocí proměnných reboot.

                V tom máte jistě pravdu. Napájení i celkové zapojení je provedeno pečlivě. Nicméně chybu nelze vyloučit v žádném případě.
                Komunikace běží na 57600 8N1. Sběrnice je dlouhá cca 5m, na obou koncích zakončená. Na neuronu je zapnut příslušný DIP switch, na opačném konci je 120R rezistor.

                Na sběrnici je kromě neurona unipi extension modul a jedno zařízení mé vlastní konstrukce, které interně používá libmodbus.
                Použitý kabel je https://www.jablotron.com/cz/produkt/kabel-sbernice-2x20awg-2x24awg-676/
                Obě zařízení jsou tímto kabelem také napájená.

                Potenciálně problematické je, že v mém vlastním modulu je vzduchový kompresorek s kartáčovým stejnosměrným motorem, ale ten je napájen z (analogového) regulátoru proudu a běží se zlomkem jmenovitého proudu a taktéž se nekoná standardní rozběhová proudová špička.

                Ano připouštím, že moje zařízení může teoreticky něco ošlivého poslat do sběrnice. Ano připouštím, že moje zařízení se může "rozhodnout", že do sběrnice bude už navěky bez přestání vysílat a pak komunikace zdechne.

                Jenže, jak je v takovém případě možné, že pomůže pokaždé teplý restart mervisu?
                Nerestartuje se linux ani nic jiného. Nevypíná se napájení sběrnice.

                Mimochodem: už k tomu opět došlo a to i po updatu firmwaru v neuronu. V extension jsem fw ještě neupdatoval. Z bezpečnostních důvodů to nechci dělat přes ssh na dálku.

                Díky za případné další informace.

                1 Reply Last reply Reply Quote 0
                • L
                  ladmanj @cleve last edited by

                  @cleve said in chyba komunikace s Unipi Extension xS51:

                  @ladmanj
                  Dobrý den,
                  teplý restart je možné provést zavoláním funkce reloadapplication s parametrem flags (příznaky restartu, 1 - cold restart, jinak warm). Funkci je možné přidat pravým tlačítkem nebo zavolat z ST.

                  Omlouvám se, ale není mi jasné jak se ve FBD zavolá ta funkce reloadapplication (nedokumentovaná) tak, aby se restart provedl jen při true boolean proměnné. Kdyby flag 0 byl "žádná akce", 1 "warm restart", 2 "cold restart", tak bych věděl, ale když 1 je cold a vše ostatní je warm restart, tak nějak nevím co dělat.

                  Chápu že je to míněno tak, že v takovém případě se funkce vůbec nemá volat, ale já nevím jak takovou věc ve fbd nakreslit. Pokud to nepůjde, pokusím se to nadatlovat v ST, ale zatím ho stále neovládám. Dokážu C, C++, python, pascal, assembler pro různé platformy, Verilog, tak se nakonec zvládnu i ST. Zatím mi ale způsobuje nevolnost.

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    cleve administrators @ladmanj last edited by

                    @ladmanj
                    Dobrý den,
                    pro warm restart použijte hodnotu 0. Pokud jej chcete volat z FBD, musíte si zviditelnit vstup "en", jinak by blok restartoval neustále. Pokud chcete zrestartovat RT, pošlete na vstup true. Musíte si ale ošetřit, aby při bootu nebyla hodnota znovu true, to byste se dostal do smyčky nekonečného restartu.

                    Best regards,
                    Kryštof Černý - Unipi engineer

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      ladmanj @cleve last edited by

                      @cleve
                      OK, díky, myslel jsem si to, že EN bude ta cesta, ale chtěl jsem se ujistit.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post