PARTNERZY

PRODUKTY I SKLEP POZNAJ SICK

Od automatyzacji produkcji i logistyki, aż po automatyzację procesów technologicznych — SICK należy do ścisłej czołówki wśród producentów czujników. Jako lider rynku w dziedzinie technologii, firma SICK ze swoimi czujnikami i rozwiązaniami aplikacyjnymi tworzy doskonałe podstawy dla bezpiecznego i efektywnego sterowania procesami, ochrony ludzi przed wypadkami oraz ochrony środowiska naturalnego.

NEWSY / BLOG POZNAJ MITSUBISHI ELECTRIC ODDZIAŁ POLSKA

Korporacja Mitsubishi Electric, posiadająca 90 lat doświadczenia w zakresie dostarczania niezawodnych, wysokiej jakości innowacyjnych produktów w dziedzinie automatyki przemysłowej, produkcji, marketingu i sprzedaży urządzeń elektrycznych i elektronicznych. Programowalne sterowniki PLC, rozwiązania napędowe, roboty przemysłowe, panele dotykowe, wycinarki laserowe i sterownie CNC firmy Mitsubishi Electric zaliczają się do produktów najwydajniejszych na rynku i gwarantują sukcesy firmy już od ponad 30 lat.

KATALOG PRODUKTÓW POZNAJ FINDER

Od 1954 Finder pracował wyłącznie w zakresie przekaźników i timerów. Nasz wysoki stopień specjalizacji zaowocował ponad 10.000 różnych produktów w jednej z najszerszych dostępnych ofert. Firma szeroko się rozwija i inwestuje w przyszłość uzupełniając gamę swojego asortymentu. Prócz przekaźników oferuje rozwiązania przemysłu elektrycznego do zastosowań domowych jak i komercyjnych poprzez przekaźniki, urządzenia przeciwprzepięciowe, termostaty panelowe, zasilacze i liczniki energii. Gama asortymentu obejmuje ponad 12 tysięcy produktów.

KATALOG ONLINE POZNAJ JOHNSON CONTROLS

Firma Johnson Controls to światowy lider w zakresie zróżnicowanych technologii i przemysłu świadczący usługi dla klientów w ponad 150 krajach. 120 000 pracowników tworzy wysokiej jakości produkty, usługi i rozwiązania umożliwiające optymalizację wydajności energetycznej oraz obsługowej budynków. Johnson Control prężnie działa również w branży motoryzacyjnej, a w ofercie firmy można odnaleźć różne rodzaje akumulatorów oraz opracowane systemy wnętrz samochodowych.

BLOG WAGO POZNAJ WAGO

Rozwiązania dostarczane przez WAGO. już od wielu lat wspierają naszych klientów w dążeniu do sukcesu. Poczynając od prostych instalacji elektrycznych, a kończąc na skomplikowanej infrastrukturze zarządzającej procesami przemysłowymi czy automatyką budynkową. Sprawdźcie jak rozwiązania WAGO, mogą wesprzeć Was w drodze do Waszego sukcesu.

KATALOG ONLINE POZNAJ PANASONIC

Panasonic Electric Works Europe zajmuje się produkcją oraz dystrybucją komponentów automatyki, takich jak: czujniki przemysłowe, sterowniki programowalne, napędy przemysłowe i systemy znakowania laserowego. W ścisłej kooperacji z europejskimi klientami, oferują rozwiązania dla różnych obszarów biznesu, takich jak przemysł motoryzacyjny, pojazdy elektryczne, automatyzacja procesów technologicznych oraz budynków, odnawialnych źródeł energii czy zarządzania środowiskowego.

Poznaj easyE4 POZNAJ EATON

Eaton Electric jest producentem najwyższej jakości automatyki przemysłowej, aparatury sygnalizacyjnej, łączeniowej, zabezpieczającej i instalacyjnej oraz systemów rozdziału energii niskiego napięcia. Międzynarodowe nagrody oraz certyfikaty są dowodem, iż produkty Eaton Electric odpowiadają najnowszym standardom bezpieczeństwa i wymaganiom jakości. Wszystkie nasze wyroby gwarantują długoletnie działanie.

PRODUKTY POZNAJ PEPPERL+FUCHS

Automatyzacja to nasz świat. Perfekcyjne rozwiązania - nasz cel.

Obecnie firma Pepperl+Fuchs jest znana klientom na całym świecie jako przedsiębiorstwo pionierskie i innowacyjne w dziedzinach takich, jak ochrona przeciwwybuchowa instalacji elektrycznych czy technologie czujników. Zawsze koncentrujemy się na wymaganiach klientów. Pasja, z jaką poświęcamy się automatyce, oraz przełomowe technologie, jakimi dysponujemy, pozwalają nam owocnie współpracować z klientami — tak dziś, jak i w przyszłości.

MENU PROFIL

Do Projektu iAutomatyka dołączyli:

Publikacja zgłoszona do 🎁 Konkursu iAutomatyka

Regulator logiki rozmytej – przykład zastosowania

1113 wyświetleń, autor: Przemysław Krupiarz.

Wszyscy znamy cykl pracy automatyka – zaczynamy nowe zlecenie i z początku jest spokój. Dobieramy sprzęt, rysujemy schematy i programujemy, aż do momentu uruchomienia, które kończy sielankę. Drobne zamieszania administracyjne, opóźnienia dostaw, niedokończone prace mechaniczne, a na szarym końcu my z laptopem pod pachą.. Czasu zostało mniej niż mało, klient się niecierpliwi, ponieważ nowy system jest niezbędny do pracy, a my dopiero załączyliśmy zasilanie. Ale jaki to ma związek z regulatorem logiki rozmytej?

Jest już godzina popołudniowa, system ma zostać odebrany jutro, ale regulacja temperatury nie działa, a wystrojenie jednego regulatora PID wygląda na niewykonalne – należałoby zastosować dwa równolegle lub trzy kaskadowo/równolegle, co nie ułatwi obecnie trudnego strojenia. Przychodzi do głowy myśl – skoro function block jest gotowy i przetestowany na symulacji, czemu by nie spróbować? Szybka zmiana w oprogramowaniu i można przetestować czy ma to jakikolwiek sens.. eureka!

W tym artykule opiszę problem z jakim się zetknąłem i przedstawię moje rozwiązanie z regulacją rozmytą.

Opis procesu

Zadanie to regulacja temperatury w rurociągu, z wykorzystaniem dwóch zaworów regulacyjnych sterowanych analogowo (4-20 mA). Trochę jak lanie wody z kranu.

Teoria teorią, a w praktyce wychodzi jak zawsze, więc jakie problemy związane z regulacją napotkano?

  • Zawory otwierają się stopniowo w czasie, około 3 sekund od 0 do 100%;
  • Temperatura wody zmienia się w czasie z opóźnieniem;
  • Temperatura wody spada szybciej niż rośnie (prawdopodobnie zimna woda ma wyższe ciśnienie);
  • Temperatura ciepłej wody nie jest stała (centralna kotłownia i wiele odbiorów);

Nie wygląda to jak problemy, z którymi regulator PID sobie nie poradzi i jest to prawda, tyle że nie ma na to czasu, a na strojenie zmarnowano już ponad 2 godziny.

Logika rozmyta

Nie jest to wykład akademicki aby opisywać precyzyjnie wzorami jak zachodzą poszczególne procesy, wytłumaczmy sobie jak działa regulator logiki rozmytej na chłopski rozum:

  1. Odczytujemy dane i następuje ich rozmycie;
  2. Sprawdzamy do których reguł pasują rozmyte dane;
  3. Przeliczamy rozmyte dane reguł z użyciem wybranej funkcji (przeciwieństwo rozmycia?);

Wciąż nie brzmi to sensownie, więc przetłumaczmy co znaczą poszczególne punkty

  1. Logika rozmyta opiera się o założenie, że przykładowo temperatura może być gorąca i ciepła jednocześnie, stąd stwierdzenie rozmycia – ponieważ kwalifikujemy jedną wartość do dwóch zbiorów w różnym stopniu (20% jako gorąca i 80% jako ciepła) – różnica względem zwykłej logiki jest taka, że oceniamy prawdziwość stwierdzenia w procentach, zamiast oceniać jako prawda/fałsz.
  2. Rozmyte dane wykorzystujemy do wyliczenia siły reguł, wykorzystywanych potem do wyliczenia końcowej wartości wyjścia regulatora. Przykładową regułą jest – jeżeli temperatura jest zbyt ciepła i się nie zmienia to obniż temperaturę nieznacznie. Ważna uwaga: jednocześnie aktywowane może być wiele reguł!
  3. Funkcji wykorzystywanych do przeliczenia wartości z reguł jest wiele, wykorzystaną w tym przypadku jest środek ciężkości (ang. Center of Gravity).

Reklama

Jak zatem rozumieć, że jedna wartość zawiera się w dwóch zbiorach w różnym stopniu? Wystarczy spojrzeć na poniższy obrazek

Widoczne na obrazku powyżej są przedstawienia reguł, gdzie:

  • Control Error = błąd regulacji = wartość zadana – wartość obecna;
  • Control Error delta = zmiana błędu regulacji = obecny błąd regulacji – poprzedni błąd regulacji;
  • Output = wyjście regulatora (a de facto zmiana wyjścia, ponieważ jest to regulator typu PI);
    • Regulator logiki rozmytej typu PD, to taki gdzie wyjście ustawiane jest bezpośrednio z obliczeń
      • y(t) = FLC(u(t), delta_u(t)), gdzie u(t) oznacza błąd regulacji, delta_u(t) oznacza jego zmianę w czasie t;
    • Regulator logiki rozmytej typu PI, to taki gdzie wyjście jest równe sumie poprzedniej wartości wyjścia oraz obecnie wyliczonej
      • y(t) = y(t-1) + FLC(u(t), delta_u(t)), gdzie t-1 oznacza poprzednią wartość;

Przykład: wartość błędu regulacji równa -7.0 będzie należeć jednocześnie do reguły zbyt niskiej (NegativeBig) i do reguły poniżej zera (NegativeSmall).

Uwaga:

Wiem, że jest to powierzchowne przedstawienie, lecz nie czuję się na siłach aby uczyć innych o czymś, co sam dopiero poznaję w praktyce, mogę polecić cykl anglojęzycznych poradników z firmy MathWorks:
https://www.mathworks.com/videos/getting-started-with-fuzzy-logic-toolbox-part-1-68764.html

Proszę nie opierać się na wiedzy przedstawionej w artykule, ma on na celu zainteresowanie tematem i pokazanie, że nie jest to czarna magia i przede wszystkim działa.

PLC

Problemem, który może wstrzymywać wielu automatyków jest brak lub trudny dostęp do gotowych bloków logiki rozmytej, w przeciwieństwie do regulatora PID. Należy zatem napisać, przetestować i wdrożyć to samemu!

Dlaczego zmienna do zezwolenia pracy regulatora nazywa się „global_PIDenable”? Wcześniej wspomniano, że logika rozmyta wybrana została rzutem na taśmę, jest to po prostu pozostałość po próbie stosowania PIDa.

Tak przedstawia się function block w środowisku TIA Portal z zewnątrz, niestety nie pokażę tutaj całości, ale pokażę użyteczną część.

Uwaga:

Komentarz w linii 22 zawiera błąd, powinno być Out_delta = sum(Weight*Rule) / sum(Rule).

Co oznaczają komentarze widoczne powyżej? Dla przykładu przetłumaczymy kilka z nich

  • Reguła 2:
    • X=LN, Y=SN
    • Control Error is LargeNegative, Control Error Delta is Small Negative;
    • Błąd regulacji jest zbyt niski i zmniejsza się powoli;
  • Reguła 18:
    • X=SP, Y=ZZ;
    • Control Error is SmallPositive, Control Error Delta is Zero;
    • Błąd regulacji jest powyżej zera i się nie zmienia ;

Możemy zauważyć również, że reguły 2 i 18 posiadają opis jako LN i SP, co oznacza ich wagę:

  • Reguła 2:
    • LN = LargeNegative;
    • Mocno obniż;
  • Reguła 18:
    • SP = SmallPositive;
    • Lekko podnieś;

Reklama

Tak właściwie do czego wykorzystywana jest waga reguły? Jest ona niezbędna do obliczenia wyjścia regulatora, ponieważ po rozmyciu danych wejściowych operujemy na wartościach od 0 do 100%, z użyciem czego uzyskujemy siły reguł, również w zakresie od 0 do 100%. Finalnie z użyciem wagi obliczamy wyjście lub jego zmianę, zgodnie ze wzorem w komentarzu (poprawka w uwadze powyżej):

  • Zmiana_wyjścia = suma(Wagi_Reguł * Siły_Reguł) / suma(Siły_Reguł)
    • Wagi_Reguł – wartość dla reguły, przykładowo: NB = NegativeBig = -5.0;
    • Siły_Reguł – wartość od 0 do 100%;

Poniżej widoczny jest kod do obliczania zmiany wyjścia regulatora, może zastanawiać pętla IF, a jest to po prostu zabezpieczenie przed dzieleniem przez 0.

Uwaga:

Ograniczenie wyjścia funkcją LIMIT() jest podyktowane wyłącznie metodologią programowania przez autora i nie jest częścią regulatora.

  • #outNominator oznacza mianownik, a więc zgodnie z w.w. wzorem = suma(Wagi_Reguł * Siły_Reguł)
  • #outDenominator oznacza dzielnik, a więc zgodnie z w.w. wzorem =  suma(Siły_Reguł)
    • dzielnik w tym wypadku zawsze jest większy lub równy zero, ponieważ siły reguł zawierają się w zakresie od 0 do 100%

Wcześniej wspomniano, że wypadałoby mieć interfejs graficzny do strojenia zamiast ustawiać dane bezpośrednio w datablocku, poniżej widzimy dlaczego

Skoro mamy już obliczenia gotowe, to jak zamienić jedną wartość na dwie? Przecież sterujemy dwoma zaworami, a wyjście regulatora jest jedno.

Przyjęto założenie, że jeden z zaworów powinien być zawsze otwarty na 100% – jak? To przedstawia się w kodzie programu poniżej

Zatem skoro regulator posiada wyjście powyżej 0 przymykamy zawór zimnej wody, jeżeli posiada wartość poniżej 0 przymykamy zawór ciepłej wody.

Regulator w pracy

Niestety, w całym chaosie uruchomienia „na wczoraj” nie zachowało się zbyt wiele wykresów z rzeczywistej pracy regulatora, więc zaprezentuję ostatni z nich.

Opis wykresów w kolejności od góry:

  • błąd regulacji,
  • wyjście regulatora,
  • rozkaz otwarcia zaworu ciepłej wody,
  • rozkaz otwarcia zaworu zimnej wody.

Oscylacje są w czasie 0,333 min do 0,917 min są spowodowane pracą blisko górnej granicy temperatury (stąd niewielkie otwarcie zaworu zimnej wody), w okolicy czasu 1,083 min została zmieniona wartość zadana na maksymalną dostępną stąd spadek otwarcia zaworu zimnej wody do 0.

Czas regulacji jest w tym przypadku wynosi około 20 sekund, jednak nie jest to krytyczna kwestia w całym procesie, ponieważ dozowanie wody trwa o wiele, wiele dłużej więc jest to nieodczuwalne w ostatecznym rozrachunku.

Podsumowanie

Dlaczego wystrojenie regulatora logiki rozmytej zajęło mniej czasu niż regulatora PID, pomimo większej ilości zmiennych?

Parametry są bezpośrednio zrozumiałe przez człowieka, można łatwo odczytać i wyobrazić sobie, gdzie zaczyna się temperatura gorąca, a gdzie ciepła, ile oznacza obniżyć mocno, a ile lekko podnieść. Jest to niewątpliwy plus względem innych algorytmów.

Logika rozmyta posiada również swoje minusy, stanowi większe obciążenie obliczeniowe dla procesora i jest trudniejsza w przełożeniu na kod, względem chociażby regulatora PID.

Oprócz plusów opisanych wcześniej, jest jeden bardzo ważny z punktu regulacji procesu – regulator PID najlepiej pracuje od punktu X do punktu Y (przykładowo od temperatury 20 do 60 stopni), lecz gdybyśmy chcieli zmienić punkt pracy może się okazać, że nastawy są nieodpowiednie – logiki rozmyta nie dotyczy ten problem i nastawy są niezależne od punktu pracy.

Przede wszystkim!

Należy sięgać po odpowiednie narzędzie do zadania, w tym konkretnym przypadku regulator logiki rozmytej  sprawdził się w sam raz, zastępując 2 godziny nieudanego strojenia regulatora PID, 30 minutami dostrajania.

PS. Na forum klubautomatyka.pl  obiecałem, że napiszę artykuł o symulacji zrobotyzowanej linii transportowej i trzymam się danego słowa, ograniczał mnie ostatnio brak czasu związany chociażby z treścią powyższego artykułu.

Reklama

7 sierpnia 2019 / Kategoria: , ,

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Historia zacisków sprężynowych Wago

Historia zacisków sprężynowych Wago

>KLIKNIJ<

Konwerter Modbus TCP <> RTU z Qt C++

Konwerter Modbus TCP <> RTU z Qt C++

>KLIKNIJ<

WEBINARY BECKHOFF – 30 minut dużej dawki wiedzy!

WEBINARY BECKHOFF – 30 minut dużej dawki wiedzy!

>KLIKNIJ<

Seria 7S – Przekaźniki modułowe z wymuszonym prowadzeniem styków

Seria 7S – Przekaźniki modułowe z wymuszonym prowadzeniem styków

>KLIKNIJ<

Rodzaje systemów pozycjonowania, na podstawie urządzeń Pepperl+Fuchs

Rodzaje systemów pozycjonowania, na podstawie urządzeń Pepperl+Fuchs

>KLIKNIJ<

EcoStruxure Tour ze Schneider Electric – bezpłatne warsztaty

EcoStruxure Tour ze Schneider Electric – bezpłatne warsztaty

>KLIKNIJ<

MOVI-C® w akcji: maszyna pakująca z systemem pakowania zbiorczego SEW-Eurodrive

MOVI-C® w akcji: maszyna pakująca z systemem pakowania zbiorczego SEW-Eurodrive

>KLIKNIJ<

Komunikacja w przemyśle: konferencja Technology days 2019 – Poznań 24-25 września

Komunikacja w przemyśle: konferencja Technology days 2019 – Poznań 24-25 września

>KLIKNIJ<

Video-recenzja zegara astronomicznego Finder

Video-recenzja zegara astronomicznego Finder

>KLIKNIJ<

Serwonapędy, rodzaje, dobór, strojenie i konfiguracja – wywiad z Panasonic

Serwonapędy, rodzaje, dobór, strojenie i konfiguracja – wywiad z Panasonic

>KLIKNIJ<

Zaawansowane ustawienia DNP3

Zaawansowane ustawienia DNP3

>KLIKNIJ<

Jak być na bieżąco z Przemysłem 4.0 i digitalizacją procesów przemysłowych?

Jak być na bieżąco z Przemysłem 4.0 i digitalizacją procesów przemysłowych?

>KLIKNIJ<

WEBINARIUM ONLINE: ZDALNY DOSTĘP Z WYKORZYSTANIEM M!DGE2

WEBINARIUM ONLINE: ZDALNY DOSTĘP Z WYKORZYSTANIEM M!DGE2

>KLIKNIJ<

Kurs projektanta systemów HMI/SCADA cz.6 – Jak przeprowadzić testy, kontrolę i utrzymanie wizualizacji

Kurs projektanta systemów HMI/SCADA cz.6 – Jak przeprowadzić testy, kontrolę i utrzymanie wizualizacji

>KLIKNIJ<

Regulator logiki rozmytej – przykład zastosowania

Regulator logiki rozmytej – przykład zastosowania

>KLIKNIJ<

Jak dobrać przekładnię z konfiguratorem SESAME

Jak dobrać przekładnię z konfiguratorem SESAME

>KLIKNIJ<

VI Mistrzostwa Polski branży automatyki przemysłowej w piłce nożnej – P+F Cup’19

VI Mistrzostwa Polski branży automatyki przemysłowej w piłce nożnej – P+F Cup’19

>KLIKNIJ<

Czym jest i jak działa sterownik bezpieczeństwa?

Czym jest i jak działa sterownik bezpieczeństwa?

>KLIKNIJ<

Korzystaj w pełni z funkcjonalności enkodera i nie męcz sterownika!

Korzystaj w pełni z funkcjonalności enkodera i nie męcz sterownika!

>KLIKNIJ<

BMO Automation rozwiązuje zdalnie 90% problemów

BMO Automation rozwiązuje zdalnie 90% problemów





MOŻESZ SIĘ TYM ZAINTERESOWAĆ




Kategorie
POLECANE ARTYKUŁY
KOMUNIKATY
Wydarzenia
POLECANE FIRMY I PRODUKTY

Wszystko stanie się prostsze po zalogowaniu :)

Przypomnij hasło

Nie masz konta? Zarejestruj się

Forgot your password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Close
z

Przetwarzamy pliki... jeszcze chwilka…