Zawieszanie się LK - Wersja do druku +- Forum Tiny Control Solution (https://forum.tinycontrol.pl) +-- Dział: TinyESP (https://forum.tinycontrol.pl/forumdisplay.php?fid=30) +--- Dział: Problemy z oprogramowaniem i sprzętem (https://forum.tinycontrol.pl/forumdisplay.php?fid=32) +--- Wątek: Zawieszanie się LK (/showthread.php?tid=2967) Strony:
1
2
|
RE: Zawieszanie się LK - gumin - 06-12-2024 Witam, moje boje z LK ciąg dalszy. Troszkę to trwało, urlopy, permanentny brak czasu i inne takie, w między czasie kilka zmian w sprzęcie, ale nie poprawiło się za dużo. Kupiłem nowy LK, stary był na "złotej " płytce, teraz mam na zielonej, poprawiło się jeżeli chodzi o obsługę www. Mogę otworzyć kilka stron na różnych sprzętach i działają wszystkie. Mniej się zawiesza konwerter modbus choć dalej to robi. Ale są problemy ze "zdarzeniami " i z "scheduler " Na początek proszę o pomoc ze zdarzeniami. Na załączonej fotce: pozycja 4, aktualnie wtedy wartość biernej wynosiła +260 i prawidłowo zmienia stan na "NO", ale nie przełącza EVENT2 na 0, pozycja 5, aktualna wtedy wartość wynosiła -0,02 i znowu stan zmienia się prawidłowo na "NO", ale działanie ciągle jest nie zmienione. Dlaczego nie przełącza mi pozycji " działanie " ? Proszę o podpowiedź może gdzieś robię szkolny błąd. RE: Zawieszanie się LK - stAch - 06-12-2024 (06-12-2024, 12:31 PM)gumin napisał(a): Witam, moje boje z LK ciąg dalszy.ja bym zaczął od weryfikacji czy wszystko działa od tego ze jako efekt końcowy ustawiasz event zamiast docelowego działania każde zdarzenie inny event jeśli zmieni ci się event ręcznie zmieniasz docelowy np włączasz dławik tym sposobem dość szybko wykryjesz kolizje... zmień sobie każde z zadań na osobny event monituj jego status i ręcznie steruj outami. gdy to zaskoczy to podmień event na out i nadal obserwując sprawdź czy inne działanie zadań sterujące tym samym out działa poprawnie to moja recepta na pisanie złożonych zadań bezpośrednio w lk3 możesz tez napisać sobie zewnętrzne api komunikujące się przez httpapi ze sterownikiem gdzie utworzysz bardziej zagmatwane i złożone działania RE: Zawieszanie się LK - gumin - 06-14-2024 (06-12-2024, 06:14 PM)stAch napisał(a):(06-12-2024, 12:31 PM)gumin napisał(a): Witam, moje boje z LK ciąg dalszy.ja bym zaczął od weryfikacji czy wszystko działa od tego ze jako efekt końcowy ustawiasz event zamiast docelowego działania każde zdarzenie inny event Odkryłem że po włączeniu PER zdarzenia działają bez zarzutu. Po wyłączeniu są problemy. Sprawa dziwna, bo na wcześniejszej płytce LK tego nie było. Czy "PER" faktycznie może mieć wpływ na wykonywanie warunków? Raczej nie powinno. Tak, najpierw wszystko sprawdzałem na eventach i nawet w jednych testach dławiki włączałem ręcznie na krótko, bez LK. To banglało. Wszystko się załączało i zdarzenia nie robiły żadnych problemów. Czy kolejność reguł w "zdarzeniach " ma jakiś wpływ na ich wykonywanie? RE: Zawieszanie się LK - stAch - 06-14-2024 (06-14-2024, 11:44 AM)gumin napisał(a): Odkryłem że po włączeniu PER zdarzenia działają bez zarzutu. Po wyłączeniu są problemy. Sprawa dziwna, bo na wcześniejszej płytce LK tego nie było. PER - czyli permanentnie zasada działania jest taka ze pomija inne warunki zdarzeń i jeśli ten jest spełniony to zastępuje wynik własnym przykład: inpa zwiększa wartość do 3 i jeśli ja osiągnie warunek if (inpa >=3){ out1 on PER} załącza out1 kolejny warunek if (inpa >= 4){ out1 off} powinien wyłączyć out1 ale PER z pierwszego warunku na to nie pozwala jak zauważyłeś warunki są odczytywane i wykonywane niezależnie linia po linii wiec jeśli jeden z warunków wyklucza drugi to efektem będzie ten ostatni lub sekwencja warunków dodając czas zwłoki do drugiego zadania z tym samym outem (Opóźnienie włączania/wyłączania w sekundach) do warunku np 60/0 zaobserwujesz jak to działa u ciebie na żywo czyli załączy wyjście i kolejny warunek je wyłączy. jest tez opcja 3 if stan innego zdarzenia){działanie} składnia będzie miała postać if (inpa >= 4 AND if EV1 == 1){ out1 off} tym sposobem możesz wymusić w naszym przykładzie wyłączenie out1 przy pewnym stanie rzeczy czyli jeśli pierwszy warunek będzie spełniony i mamy więcej niż 3v to osiągniecie 4v wyłączy pomimo ze 3 załącza i powinno trzymać --- w przypadku używania 3 warunku per powinno być odznaczone lub zaznaczone jeśli składnia na to pozwala i nie będzie kolizji bo per zawsze ma priorytet. w twoim wypadku załączenie out powoduje tez zjawisko nagłego spadku wartości na inpa dlatego powinno się dostosować odpowiednio histerezę oraz opóźnienia czasowego on/off. następuje tu zjawisko "drgania" wartość spada i następuje natychmiastowa reakcja sterownika na nowe okoliczności i ponowne natychmiastowe działanie wg ustawionych kryteriów. i to właściwie zabija ci LK - bo jak zauważyłeś wszystko ręcznie chodzi. opcje dodatkowe to sposób wykonywania działania TRYB (0 w oba kierunki - 1 przy inicjacji - 2 przy opuszczaniu warunku) można to też ustawić tak jeśli inpa przekroczy 3v tryb 1 out0 on i kolejny warunek jeśli inpa przekroczy 4v tryb 1 out0 off dwa warunki dadzą taki sam efekt 3v załączy a 4v wyłączy wyjście bez większego kombinowania ale! spadek napięcia do 2v nie zadziała ponowieniem zadania bo są wykonywane tylko w jedna stronę przy inicjowaniu zdarzenia ale przecież można dodać warunek 3 if inpa < 3 tryb 2 (żądane działanie np out0 off) i mamy oczekiwaną pętle w razie czego pytaj... to postaram ci się dalej pomóc ogarnąć - LK ma sporo możliwości programowych jednak trzeba dobrze je sobie poukładać by działy wg naszych upodobań |