Porozmawiaj z nami
Czat udostępnia Firmao.pl CRM

PARTNERZY

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.

SKLEP I ZAMÓWIENIA 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.

BLOG WAGO POZNAJ WAGO

WAGO jest producentem urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO.

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.

MENU PROFIL

Do Projektu iAutomatyka dołączyli:

Regulacja PID w sterowniku PLC S7 300 Siemens, STEP 7.

5414 wyświetleń, autor: Łukasz Bednarz.

W kolejnym wpisie chciałbym Ci przedstawić swoją metodę na analizę sterowania jakiegoś podukładu sterowania w celu zrozumienia jego działania lub wykonania modernizacji. Nie jest to jakaś szczególna metoda, a przy okazji pokażę Ci jak pewien producent nie poszedł na łatwiznę jeśli chodzi o zwykłe sterowanie grzaniem w metodzie on/off i zastosował do tego ciekawy trik. Dodatkowo liźniemy trochę PID’a w S7 300 jako modyfikację tego sterowania.

Poprzednie artykuły: 

Praktycznie o szybkich licznikach HSC, Siemens PLC i ET200S

Przykład rejestru przesuwnego w STEP 7 funkcją shift register SHR- PLC SIEMENS S7

Przykład oparty będzie na analizie sterowania grzania pewnego pieca (nie jest szczególnie istotne jaki to rodzaj pieca), który wymaga jednak dość wąskich tolerancji temperaturowych. Model pieca jaki do nas trafił posiadał zwykłe styczniki do załączania grup grzałek, a jak wiadomo – nie za często powinno się je załączać, gdyż styczniki szybko się zużywają (mimo, że obciążenie jest głównie typu rezystancyjnego).

Istotnie, dość często zdarzały się ich awarie. Podjęto słuszną modyfikację i zastąpiono styczniki elektromagnetyczne  za pomocą styczników elektronicznych SSR.

Problem w zasadzie został rozwiązany, ale można było pójść o krok dalej (czego na razie nie uczyniono) i poprawić algorytm sterowania ze „zwykłego” on/off na przykład na PID impulsowy. Piszę „zwykłego”, gdyż nie do końca było ono takie zwykłe, ale o tym za chwilę. Poprawiłoby to na pewno sytuację podczas nagrzewania pieca, gdy odchyłka od temperatury zadanej sięga kilkudziesięciu stopni. Poprawiłoby to również sytuację podczas normalnej pracy i temperatura mogłaby jeszcze dokładniej być utrzymywana (dzięki „niezwykłemu” on/off nie była ona taka tragiczna, ale też nie była idealna). Z opinii kolegów wiem, że producent miał również w ofercie wersję pieca z PID’em, jednak była ona droższa i wybrano tańszą opcję.

Dla nieznających tematu sterowania on/off krótkie wyjaśnienie: klasyczne on/off wykorzystuje wartość zadaną (np. zadana temperatura).

Gdy temperatura spadnie poniżej wartości zadanej, załączane jest urządzenie grzewcze. Gdy wzrośnie powyżej – wyłącza się. Z oczywistych względów (częste załączenia, najczęściej elementów elektromechanicznych np. stycznik) raczej nie korzysta się z takiego prostackiego mechanizmu i wykorzystuje modyfikację z dodaniem do algorytmu sterowana wielkości zwanej histerezą.

Trzeba się liczyć z trochę większym rozrzutem temperatur aktualnych (często to nie problem), ale ograniczymy ilość załączeń układów wykonawczych. Grzanie załącza się nie od razu po spadku temperatury aktualnej względem zadanej, ale dopiero po przekroczeniu pewnej ilości stopni poniżej wartości zadanej. Jak łatwo zauważyć, klasyczny on/off możemy potraktować jako układ z histerezą dolną równą 0 stopni.

Ogromną wadą (poza ewentualnymi częstymi załączeniami urządzeń) jest to, że najczęściej takie sterowanie nie sprawdza się, gdy potrzebujemy bardzo precyzyjnie utrzymywać temperaturę. Pierwszy powód, to niezerowa wartość histerezy, drugi powód – załączamy grzejnik, który dostarcza ciągle taką samą moc do obiektu podgrzewanego. Grzałka taka posiada swoją bezwładność cieplną, czyli nawet, gdy ją wyłączymy to ona nadal będzie podgrzewała aż ostygnie. Ale działa to również w drugą stronę – załączenie grzałki nie powoduje natychmiastowego skoku temperatury, musi upłynąć trochę czasu z powodu jej inercji. W takich aplikacjach często stosuje się bardziej wyrafinowane układy sterowania – w naszym przypadku styczniki elektroniczne, które mogą być sterowane z wysoką częstotliwością i jednocześnie dzięki odpowiedniemu regulatorowi mamy wpływ na czas załączenia grzałki za pomocą impulsów o zmiennej długości czasu trwania (ograniczymy jej moc w czasie – nie doprowadzamy do „nasycenia” bezwładności grzałki, dzięki czemu zredukujemy znacznie przeregulowania temperatury).

To tyle jeśli chodzi o wstęp teoretyczny, który zapewne każdy czuje intuicyjnie. Przejdźmy do analizy naszego programu.

Wychodzimy od sytuacji oryginalnej – zwykły stycznik na wyjściu PLC, sterowanie typu on/off z lekką modyfikacją algorytmu.

Od czego zazwyczaj zaczynam analizę? Pomijając etap organoleptycznego rzutu okiem na działające urządzenie, zakładam, że dysponuję schematem elektrycznym 😉 W takim razie szukam interesującego mnie napędu/urządzenia – w tym przypadku cewki stycznika załączającego grupę grzałek:

Widzimy, że cewka sterowana jest z wyjścia Q17.5 (pośrednio przez przekaźnik).  Projekt programu z PLC mamy, więc szukamy teraz w programie od jakich warunków zależy załączenie tej cewki.

Trzeci warunek w kolejności to możemy domyślać się, że to jakiś limit temperatury – póki co odpuszczamy go sobie. Pierwszy warunek oznacza rozkaz grzania, drugi na razie ciężko odszyfrować z nazwy. Lećmy po kolei warunki – najpierw rozkaz grzania.

Jak widać jego stan zależy od jakiejś zmiennej z panela (tutaj chodzi o przycisk załączający ogólnie całe grzanie na piecu). Musimy zagnieździć się w AutorisationChauffe:

Pokazałem jedynie fragment networka, ale jak widać chodzi o to, aby nie było m.in. żadnych alarmów turbin (mieszalników). Z punktu widzenia algorytmu sterowania grzania średnio przydatna dla nas informacja dlatego nie zagłębiamy się dalej w te alarmy. Mamy więc kompletnie przeanalizowany pierwszy warunek od którego wyszliśmy (DemandeDeChauffe). Pora zająć się tajemniczym CdeChauffe1.

No i to już zaczyna wyglądać ciekawie. Widzimy jakieś odwołania do różnych DB, jeden nawet skojarzony z FB. Ogólny rzut oka pozwala domyślić się, że w zmiennych L7.0 i L7.2 mamy prawdopodobnie sygnały bitu always off oraz timera 1 sekundowego. Ciekawić powinno nas L7.1 i warunki, które mają na niego wpływ. Mamy jakąś zmienną z końcówką QLMNUP i  znajduje się ona w DB10. Z ciekawości patrzymy tam…

… i widzimy coś takiego – dla mnie szok, pierwszy raz widziałem, że można tak DB wykonać 😉 Widzimy, że są tu jakieś nastawy regulatora PI, minimalne czasy impulsu itd. Hmm jak to jest powiązane z resztą programu? We właściwościach DB widzimy z jakim FB współpracuje nasze FB:

Na liście bloków znajdujemy owe FB i widzimy już co producent zastosował, a mianowicie bloczek systemowy Siemensa do kontroli temperatury w trybie krokowym. Jest to pewna wariacja sterowania on/off, ale wzbogacona o kilka elementów istotnie zmieniających jego funkcjonalność m.in. wspomniany regulator PI. Sygnały załączeń przyjmują jednak nadal postać 0-1, ale nie jest to już taki prosty algorytm jak klasyczne on/off z histerezą.

Osobiście pierwszy raz spotkałem się z zastosowaniem tego bloczka, dlatego chcąc poznać jego działanie konieczne było zaznajomienie się z helpem dla niego, który standardowo najszybciej dostępny jest pod klawiszem F1 w Step 7 (chociaż jest to dość skrócona wersja, ale na początek wystarczy).

Do warunków wysterowania CdeChauffe1 jeszcze jednak potem wrócimy.

Wracając do naszego FB59 – szczerze mówiąc wolę dokładniejsze wyjaśnienie tego bloczku, dlatego po wstępnej lekturze helpa znalazłem pdf’a z nieco większą ilością informacji na ten temat. Schemat blokowy regulatora, który realizowany jest przez ten FB wygląda następująco:

Na pierwszy rzut oka schemat może wprawić w konsternację, szczególnie jeśli mało mamy doświadczenia z regulatorami. Jest to absolutnie normalna reakcja, ale nie dajemy się przerosnąć tematowi i stopniowo zaczynamy go poznawać 🙂

Nie zamierzam omawiać szczegółowo wszystkich parametrów jakie mamy dostępne (PDF z dokumentacją umieszczam na końcu artykułu do pobrania), ale kluczowe jest poznanie kilku najważniejszych. SP_INT oraz PV_IN to na logikę set point (wartość zadana) oraz process value (wartość procesowa – aktualna). Od strony wyjścia z kolei widzimy oznaczenie podobne do użytego w programie czyli QLMNUP. Z opisu dla tego wyjścia…

…wynika, że jeżeli wyjście „manipulated Signal up” jest ustawione, zawór się otwiera (we wcześniejszym opisie w manualu można się doczytać, że bloczek fajnie nadaje się właśnie do regulacji zaworów otwórz/zamknij). Warto zwrócić uwagę, że sygnał QLMNUP jest typu BOOL i ma adres 20.0, a więc jego pełny adres przyjmuje postać właśnie 20.0 (porównaj z częścią programu na wysterowanie CdeChauffe1, gdzie zmienna ma adres DB10.DBX20.0). Mamy więc jednoznaczną informację, że chodzi nam o ten sygnał. Na drodze do wysterowania sygnału wyjściowego jak widzimy mamy jeszcze bloczek GAIN czyli wzmocnienie, możemy ustawić sobie deadband czyli strefę nieczułości, widać również regulator trójstanowy adaptacyjny. Dopatrzeć się można również opcji ustawienia składowej całkującej regulatora INT. Wszystkie te informacje są szczegółowo wyjaśnione w instrukcji chociaż na pierwszy rzut oka wygląda to nieco chaotycznie. W razie potrzeby w przyszłości być może zajmiemy się bardziej szczegółowym omówieniem FB59, na tą chwilę wystarczą nam pobieżne informacje na jego temat.

Gdybyś jednak sam chciał samodzielnie szybko poznać jego możliwości, to zachęcam Cię abyś odpalił sobie Sample Project z katalogu Siemensa:

A w nim znalazł podprogram:

W PDF’ie z dokumentacją od regulatorów znajdziesz rozdział, gdzie będziesz miał wyjaśnione jak uruchomić program i obserwować jego zachowanie – praktycznie i namacalnie, gdyż nie zawsze gołe opisy w manualu są w 100% zrozumiałe 🙂

Wracajmy jednak do naszego tematu przewodniego:

Przyznam, że nie wiem do czego jest DB120.DBX209.3 – jest to zadeklarowane jako stat, nigdzie tego w panelu nie ma, nigdzie też stan tego sygnału nie jest wypracowywany. Przyjmijmy na razie, że jest stabilny w czasie załączenia grzania. QLMNUP to jak już wiemy wyjście z naszego regulatora. W ten sposób otrzymujemy sygnał L 7.1. BLD 103 to jak pokazuje  help instrukcja, która w zasadzie nic nie robi (potrzebna niby do wyświetlania na programatorze – stary piec działał na S5 więc może ten fragment był konwertowany do S7).

Wreszcie dochodzimy do clue programu – następuje wywołanie FB1015 skojarzonego z DB950, jak widzimy prawdopodobnie w nim otrzymujemy potrzebny nam #CdeChauffe1. Nie pozostaje nam zatem nic innego jak zagłębić się w tego FB…

Oto jego kod:

//    U     #Autorisation

//  SPBN  FIN

//Arret – przerwa

//Marche - praca

      L     #CompteurArret              // Contrôle si temps d'arret mini atteint

      L     #ValTempArret   // sprawdzenie czy upłynął minimalny czas przerwy 

      <I   

      JCN   M000


//Odliczanie czasu przerwy


      AN    #AutorisationInterne        //Incrémentation compteur si on est ŕ l'arręt et temps d'arret mini pas atteint

      A     #Freq1s                        // timer 1s

      JCN   M000

      L     #CompteurArret

      L     1

      +I   

      T     #CompteurArret



M000: L     #CompteurMarche             // Contrôle si temps de marche Maxi atteint

      L     #ValTempMarcheMaxi                 //czy upłynął maksymalny czas pracy?

      <I   

      JCN   M001


      A(   

      O     #DdeChauffe                 //Incrémentation compteur si on est en marche et temps de marche                                    // Maxi pas attaint - sygnał z regulatora (praca)

      O     #AutorisationInterne

      )    


//Odliczanie czasu pracy

      A     #Freq1s

      JCN   M001

      L     #CompteurMarche

      L     1

      +I   

      T     #CompteurMarche



M001: L     #CompteurArret              // Contrôle si temps d'arret mini OK

      L     #ValTempMarcheMini                 //błąd? ValTempArret powinno być

      >=I  

      JCN   MAOK



      S     #TpsArrMiniOK

      JU    M002



MAOK: R     #TpsArrMiniOK



M002: L     #CompteurMarche             // Contrôle si temps de marche mini OK

      L     #ValTempMarcheMini

      >=I  

      JCN   MMOK

      S     #TpMarMiniOK


      L     #CompteurMarche             // Contrôle si temps de marche maxi OK

      L     #ValTempMarcheMaxi

      >=I  

      JCN   MMMM

      S     #TpMarMaxiOK

      JU    M003



MMOK: R     #TpMarMiniOK

MMMM: R     #TpMarMaxiOK



M003: NOP   0

      A     #DdeChauffe                 // condition pour autorisé la chauffe

      A     #TpsArrMiniOK

      JCN   M004


      S     #AutorisationInterne        // Chauffe autorisée



M004: NOP   0

      A(   

      ON    #DdeChauffe                 // condition pour interdire la chauffe 
                                        //sygnał z regulatora lub…
      O     #TpMarMaxiOK  // …maksymalny czas

      )    

      A     #TpMarMiniOK

      JCN   M011


      R     #AutorisationInterne        // Chauffe interdite



M011: NOP   0

      A     #AutorisationInterne        // Mise ŕ zéro du compteur d'arręt.

      JCN   M010

      L     0

      T     #CompteurArret



M010: AN    #AutorisationInterne        // Mise ŕ zéro du compteur de marche

      JCN   M012

      L     0

      T     #CompteurMarche

      JU    M012


// FIN:  R     #TpMarMaxiOK

//     R     #TpMarMiniOK

//     R     #TpsArrMiniOK

//    R     #AutorisationInterne

//   L     0

//    T     #CompteurMarche



M012: A     #AutorisationInterne        // commande de la sortie autorisation de chauffe

      =     #OrdreMarcheChauffe     //start grzania (Q17.5)

W skrócie: w bloczku tym mamy realizację algorytmu pracy stycznika – czas minimalny pracy, czas maksymalny pracy, czas przerwy. Dzięki temu unikamy częstego „kłapania” stycznika oraz zbytniego przeregulowania (maksymalny czas pracy). Jak widać, celowo bądź nie, ale producent ma niby błąd: zamiast ValTempArret porównywany jest ValTempMarcheMini w warunku dla uzyskania minimalnego czasu przerwy. Tak się składa, że obie wartości są takie same – celowe czy przypadek? Jeśli przypadek to bez przeanalizowania powyższego kodu praktycznie nie do wykrycia. Pogrubione komentarze są moimi, musiałem nieco liznąć francuskiego 😉

Teoretycznie w FB59 również mamy takie parametry jak Minimum pulse time, minimum break time, nie do końca z opisu rozumiem parametr Motor actuating time – czy mogłoby to odpowiadać maksymalnemu czasowi trwania? Tego nie wiem, należałoby to sprawdzić. Jeżeli tak, to nie wiem dlaczego zdecydowano się na osobny FB1015 – być może była to jakaś zaszłość z S5, którą pozostawiono?

W każdym razie chodzi o efekt końcowy – pomimo tego, że regulator na wyjściu QLMNUP daje sygnał do grzania, to niekoniecznie następuje wtedy załączenie stycznika. Do pewnego stopnia mamy nad nim kontrolę za pomocą powyższych czasów, co polepsza nieco kontrolę nad układem chociaż czyni go bardziej skomplikowanym.

Dla pełnego obrazu analizy należałoby jeszcze sprawdzić czy w programie nie są wykorzystywane jeszcze jakieś inne sygnały z FB59. Wiemy, że powinniśmy szukać tych informacji w DB10. Możemy wyszukiwać po kolei określone adresy z przedrostkiem DB10 i patrzeć co jest wykorzystywane. Ja w projekcie jeszcze znalazłem (poza SetPoint, Process Value i QLMNUP):

DB10.DBD48 – wzmocnienie GAIN (ustawiane na panelu operatora)

DB10.DBD52 – stała całkowania I regulatora (jak wyżej)

DB10.DBX18.2 – Manipulated Signals On

DB10.DBX30.0 – Complete Restart

Complete Restart wywoływany jest w OB100 (poniżej fragment networka):

Dodatkowo załączany jest tryb manualnego sterowania wartością wyjściową regulatora również w OB 100:

Sygnał ten również wykorzystywany jest w bloku dotyczącym grzania:

Jak widać, po wyłączeniu grzania pieca Setpoint jest ładowany wartością 0 oraz uaktywniany jest sygnał DB10.DBX18.2 (jest teraz możliwe ręczne załączenie lub wyłączenie wyjścia QLMNUP, niezależnie od regulatora).

Na koniec warto jeszcze wspomnieć o tym jak wywoływany jest FB59. Odbywa się to w OB35 (cyklicznie) co 1s:

Nieco dziwi mnie ustawiony sample time w DB10 na 0,1 s…

…gdyż według manuala sample time powinien wynosić tyle ile wynosi interwał wywołań OB35. No ale cóż – układ działa, sterownik pracuje, temperatura jest utrzymywana.

Piec posiada 6 stref pracy, każda strefa to osobny DB i wywołanie FB59. Całość wygląda dokładnie tak samo jak przeanalizowany przez nas przykład 1 strefy.

Już sama analiza programu dla kogoś kto nie miał z tym nigdy do czynienia może być absorbująca mentalnie. Dlatego proponuję Ci przed dalszą lekturą nieco odpoczynku, gdyż jeszcze nie skończyliśmy naszej pracy. Przypominam, że chcieliśmy spróbować przerobić sterowanie z załącz/wyłącz na sterowanie impulsowe PID 🙂

Jeżeli już możesz czytać, przystępujemy do poznania naszego kolejnego bloczka. Za sterowanie temperaturą w sposób ciągły odpowiada FB58 – jest to dużo bardziej rozbudowany FB od FB59. Dokładne jego omówienie również znajduje się w manualu przytoczonym na końcu wpisu. Przykładowy program dla praktycznego sprawdzenia możliwości również znajdziesz we wspomnianym Sample Project:

Nas interesuje Pulse Controller, gdyż dysponujemy jedynie SSR-em ze sterowaniem binarnym. Wadą akurat tego modelu jest to, że nie jest załączany w dowolnej chwili, ale w zerze sieci – dla krótkich impulsów, które nie pokryją się w zerze, SSR się nie załączy. Pytanie jak istotnie wpłynęłoby to na jakość regulacji temperatury akurat w tym przypadku, tym niemniej lepszy byłby SSR załączany w dowolnej chwili.

Aby przerobić nasze sterowanie powinniśmy znaleźć odpowiedniki adresowe dla sygnałów z TCONT_S (FB59) w naszym nowym FB58.

Podsumujmy jakie potrzebujemy sygnały:

Set Point (wartość zadana)

Process Value (wartość aktualna)

Manipulated Signals On (załączenie trybu manual)

Manipulated Signal Up (wyjście regulatora)

Complete Restart (restart regulatora)

Gain (wzmocnienie)

Reset time (akcja całkująca)

Dodatkowo należałoby dodać akcję różniczkującą, która była niedostępna w FB59.

Nowe adresy z FB 58 prezentują się następująco (dla naszej strefy):

Set Point – DB10.DBD 34

Process Value – DB10.DBD 0

Manual Operation On – DB10.DBX 42.1

QPULSE – DB10.DBX 24.0

Complete Restart – DB10.DBX 42.0

Proportional Gain – DB10. DBD 166

Reset Time – DB10.DBD 170

Derivative Time – DB10. DBD 174

Pierwszą rzeczą jaką powinniśmy zrobić to usunąć DB10 z projektu oraz tablicy symboli.

Tworzymy nowy Instance DB skojarzony z FB58:

W OB35 usuwamy Network 3 czyli:

Tworzymy pusty Network, wybieramy z listy z lewej FB58…

Oraz po przecinku dopisujemy DB10. Całość powinna wyglądać:

CALL FB58, DB10

Step 7 automatycznie wygeneruje nam taki widok:

Teraz już wystarczy w odpowiednich miejscach programu podmienić stare adresy na nowe, z drobnymi zmianami.

Zacznijmy od samego DB10. Powinniśmy ustawić parametry generatora impulsów oraz samego generatora. Dla interwału OB35 można spróbować następujących parametrów:

Sampling time pulse generator wg instrukcji powinien wynosić mniej więcej tyle co interwał OB35. Moglibyśmy zmniejszyć ten interwał w tym momencie, ale załóżmy, że zostawimy go takim jaki jest. Pozostałe, wolniejsze funkcje regulatora niech będą samplowane np. co 2s, z kolei dla zachowania warunku CYCLE<PER_TM ustawmy Period na 3s.

Ustawmy jeszcze wstępnie nastawy regulatora, warto wspomnieć o małej niekonsekwencji ze strony Siemensa (przynajmniej ja to tak odbieram), gdyż chcąc deaktywować człon całkujący należy ustawić go na 0 s (przy klasycznym regulatorze powinno to być ustawione na wartość nieskończenie wielką, w praktyce maksymalną dopuszczalną przez regulator). Człon różniczkujący deaktywujemy również wartością 0 (co zgadza się z klasyką).

Dobieranie optymalnych wartości regulatora oraz funkcja autotuningu są tematem na osobny wpis (którym może kiedyś się zajmę) i nie będziemy go tutaj rozwijać, zaznaczę tylko jak można uruchomić procedurę autotuningu regulatora, zaś szczegóły doczytasz w instrukcji.

Najpierw jednak podmień jeszcze w programie stare adresy (z FB59) na nowe z FB58. Zacznijmy od OB100, który powinien wyglądać tak:

Mamy zmienioną jedynie pierwszą strefę. Dodatkowo dla FB 58 należy dodać osobne wpisy:

O szczegółach na temat parametru SELECT doczytasz w manualu, ma to związek m.in. z tym czy całość FB 58 (regulacja+inne funkcje) wywołujemy z OB35 czy też nie.

W FB 120 podmieniamy adresy w Network 30:

W tym samym FB w Network 20 postanowiłem zakomentować dotychczasowy sygnał #CdeChauffe1 i dodać warunek od QPULSE:

Dodatkowo nie planujemy dłużej używać sztywnych czasów grzania i przerw dlatego cały blok zakomentujemy:

I to powinno być na tyle, wydaje mi się, że o niczym nie zapomniałem, w dużej mierze wzorowałem się na sample Project dla Pulse Controller’a, który podałem Ci wcześniej w opisie.

Jak mówiłem przeróbka nie została fizycznie sprawdzona na obiekcie, teraz należałoby jedynie wgrać zmiany do PLC, nastroić regulator oraz cieszyć się z dużo lepszych efektów stabilnej temperatury na piecu 🙂 Pamiętaj, że lepiej takie testy przeprowadzać na pustym obiekcie z zachowaniem zasad bezpieczeństwa, szczególnie przy manualnych próbach grzania, aby nie zamienić pieca w stertę popiołu ani nie zniszczyć wsadu produkcyjnego, czego nie życzę Ci z całego serca 🙂

W materiale bonusowym znajduje się filmik z procedury uruchomienia autotuningu, tak, aby nie trzeba było się babrać ręcznie z różnymi bitami sterującymi w DB. Pamiętaj, że autotuning będziesz w stanie uruchomić tylko jeśli dobrałeś wstępnie poprawnie czasy samplowania generatora oraz regulatora w stosunku do OB35 i czasu cyklu (szczegóły w instrukcji). W przeciwnym razie autotuner zwróci Ci błąd już na początku procedury.

PID_Temp_e

oraz trochę teorii na temat SSR:

Relpol nt. SSR

TME nt. SSR

A tutaj możesz wstępnie zobaczyć jak uruchomić procedurę autotuningu regulatora z poziomu DB:

To by było chyba na tyle w dzisiejszym, mocno rozbudowanym wywodzie. Mam nadzieję, że informacje w jakimś stopniu Ci się przydadzą i rozwieją kilka wątpliwości, które być może miałeś. Niestety, nie planuję póki co mega szczegółowo opisywać wszystkich zagadnień, wpisy traktuj jako ogólną pomoc w uruchomieniu konkretnego układu. Szczegółów zawsze szukaj w instrukcjach oraz sam eksperymentuj w ramach warsztatu (pamiętaj o symulatorze w Step 7!). Taka forma nauki daje najlepsze efekty, ja chciałbym, abyś nie musiał totalnie rozbijać się o podstawy podstaw i mógł szybciej wystartować z określonym tematem.

W razie pytań – pisz śmiało w komentarzach!

reklama


1 stycznia 2018 / Kategoria: , , ,
  • Autor: Łukasz Bednarz
  • Z wykształcenia jestem inżynierem automatykiem. Interesują mnie prywatnie i zawodowo tematy związane z jakością energii elektrycznej, szeroko pojęta energoelektronika w automatyce oraz źródła energii elektrycznej. Zapraszam do czytania moich publikacji oraz kontaktu.
  • Profil Autora

NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

>KLIKNIJ<

Zarabianie na pisaniu bloków programu PLC? Z PLCnext Store będzie to możliwe!

Zarabianie na pisaniu bloków programu PLC? Z PLCnext Store będzie to możliwe!

>KLIKNIJ<

Wszystko, co musisz wiedzieć o enkoderach inkrementalnych

Wszystko, co musisz wiedzieć o enkoderach inkrementalnych

>KLIKNIJ<

Testuj zdalny dostęp do Siemens S7-1200 i WebHMI w EMT-Systems

Testuj zdalny dostęp do Siemens S7-1200 i WebHMI w EMT-Systems

>KLIKNIJ<

Tajemnicza awaria – moja historia o usterce trwającej ciut za długo

Tajemnicza awaria – moja historia o usterce trwającej ciut za długo

>KLIKNIJ<

Operator prawdę ci powie…

Operator prawdę ci powie…

>KLIKNIJ<

Nikt nie widział? Nic się nie stało

Nikt nie widział? Nic się nie stało

>KLIKNIJ<

Kilka slów o bezpieczeństwie, czyli co należy zrobić by spać spokojnie.

Kilka slów o bezpieczeństwie, czyli co należy zrobić by spać spokojnie.

>KLIKNIJ<

Czy roboty przemysłowe mogą być estetyczne?

Czy roboty przemysłowe mogą być estetyczne?

>KLIKNIJ<

B&R na targach SPS IPC Drives 2018

B&R na targach SPS IPC Drives 2018

>KLIKNIJ<

Jak było na szkoleniu z serwonapędów Panasonic Minas A5 i A6?

Jak było na szkoleniu z serwonapędów Panasonic Minas A5 i A6?

>KLIKNIJ<

Konkurs iAutomatyka Listopad 2018

Konkurs iAutomatyka Listopad 2018

>KLIKNIJ<

Wygraj zestaw startowy TOSIBOX do zdalnego dostępu – konkurs trwa do 15.12.2018

Wygraj zestaw startowy TOSIBOX do zdalnego dostępu – konkurs trwa do 15.12.2018

>KLIKNIJ<

Luźne rozmowy o SCADA i WebHMI

Luźne rozmowy o SCADA i WebHMI

>KLIKNIJ<

Czym zaskoczyli nas na Technology Days 2018? Relacja okiem iAutomatyka

Czym zaskoczyli nas na Technology Days 2018? Relacja okiem iAutomatyka

>KLIKNIJ<

Przykłady wykorzystania pomiaru ciśnienia do celów pomiaru poziomu

Przykłady wykorzystania pomiaru ciśnienia do celów pomiaru poziomu

>KLIKNIJ<

Produkcja stali w warszawskiej hucie – Fabryki w Polsce

Produkcja stali w warszawskiej hucie – Fabryki w Polsce

>KLIKNIJ<

XIII Spotkanie z B&R – Innovation Days 2018 za nami!

XIII Spotkanie z B&R – Innovation Days 2018 za nami!

>KLIKNIJ<

Pozycjoner na bazie motoreduktora oraz falownika NORD – Sterowanie pozycjonowaniem POSICON

Pozycjoner na bazie motoreduktora oraz falownika NORD – Sterowanie pozycjonowaniem POSICON

>KLIKNIJ<

Serwonapędy w automatyce przemysłowej.

Serwonapędy w automatyce przemysłowej.

>KLIKNIJ<

Pojawia się i znika – awaria sterownika?

Pojawia się i znika – awaria sterownika?





MOŻESZ SIĘ TYM ZAINTERESOWAĆ

  • Seria EX-Z Czujniki z serii EX-Z to jedne z najmniejszych urządzeń tego typu na świecie. Najcieńszy model posiada grubość jedynie 3 mm co zostało osiągnięte przez zastosowanie nowych półprzewodników i dzięki temu wyeliminowanie przewodów. B...
  • SEE Electrical jest to środowisko projektowe firmy IGE+XAO Polska do rysowania schematów elektrycznych i automatyki. Program daje możliwość projektowania pneumatyki, hydrauliki oraz doskonale się spełnia przy tworzeniu schematów kart wejści...
  • System MasterIN firmy Finder składa się z przekaźnikowych modułów sprzęgających z terminalami Push-in. Technologia ta reprezentuje najnowsze osiągnięcia w bezśrubowych ‘sprężynowych’ zaciskach, oferujących szybką instalację. W porównaniu do...
  • W dobie ciągłego dążenia do poprawy jakości oraz zwiększenia efektywności, automatyzacja procesów produkcji staje się często jedyną możliwością uzyskania przewagi nad konkurencją. TARRA ROBOTICS to lata naszych doświadczeń w projektowaniu i...
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  • ROUTER VPN EWON COSY 131 Zapewnia sprawny i prosty w obsłudze zdalny dostęp do dowolnego urządzenia Kompatybilność z najważniejszymi markami i protokołami sterowników PLC (m.in. Siemens, Allen-bradley, Omron…) Szybie zarządzenie roote...



KATEGORIE POSTÓW
POLECANE ARTYKUŁY
KOMUNIKATY
Dołącz do nas!
Wydarzenia
Bądź na bieżąco!
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…