Elektroda.pl
Elektroda.pl
X
SterControlSterControl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Regulator PID w sterowniku Simatic S7

21 Paź 2007 21:40 5915 7
  • Poziom 10  
    Witam wszystkich.
    Mam ogromną prośbę. Bardzo proszę o jakieś wskazówki odnośnie pid w sep 7. Konkretnie chodzi mi o bloczek FB59(sterowanie ciągłe). Zadanie jest w miarę proste, sterowanie klapą spalin tak aby utrzymywać stałą temperaturę 80stopni. Ma to być regulacja automatyczna i ręczna. Według dokumentacji utworzyłem blok Ob35 i tam wstawiłem bloczek FB59. I właśnie nie wiem czy teraz wystarczy uzupełnić ten bloczek o dane i to wszystko czy jeszcze należy coś wykonać. I właśnie jak uzupełnić ten bloczek żeby ta regulacja działała. Bardzo proszę o pomoc. Prosiłem się fachowców z Siemensa ale jakoś nie potrafili mi pomóc i tylko mnie zbywali.
    A może miałby ktoś jakiś taki mały przykład jak to wszystko wykonać, albo może po kolei napisać co mam zrobic.
    Jeszcze raz ogromnie proszę o pomoc. Z góry za wszystkie wskazówki dziękuje.
  • SterControlSterControl
  • Poziom 20  
    proponuje z poziomu STEP7 , przy komendzie wywołującej FB59 postawić kursor i nacisnąć F1.
    tam dowiesz się wszystkiego o parametryzacji FB59.
    pozdrawiam
  • SterControlSterControl
  • Poziom 17  
    Tak w wielkim skrócie i uproszczeniu
    Zeby uruchomic FB59 trzeba:
    1. wywować w OB35 - FB59 z jakims DBxx np. DB59
    2. zadeklarować
    wejscia:
    CYCLE = np. 0.1
    SP_INT - zadana w formacie zmiennym przecinku
    PV_PER - zmienna procesowa ( temperatura ) w integer
    LMNS_ON - bit załaczenia recznego sterowania ( musi być )
    Wyjscia :
    QLMNUP : - wyjscie zwiekszające temperature
    QLMNDN : - wyjscie zmiejszające temperature

    Gdy wejdziemy w DBxx i wyswietlimy go za pomocą
    Parameter Assignment View musimy załączyć ACTIVATE I/O
    I to wystarczy zeby pracował regulator
    Do regulacji regulatora w tabelce są parametry PI
    Do regulacji wypełnienia impulsów regulujących są Minimum pulse time i Minimum break time

    napisz czym bedziesz odczytywał temperature i w jaki sposob regulujesz klapą .
  • Poziom 10  
    Temperature Odczytuję z przetwornika temperatury 4...20mA i sygnał wchodzi na wejście analogowe. A sterowanie klapą następuje poprzez wyście analogowe ze sterownika 4...20mA do siłownika klapy
  • Poziom 10  
    Ja sie dolacze do tego tematu, bo tez mam zagwozdke z PID.
    Blok FB59 jest opisany jako sluzacy sterowaniu temperaturą.
    Pytanie - czy można też użyć tej funkcji do starowania każdej innej zmiennej?
    Do razu mówię w czym rzecz.
    Mamy dwa silniki, sterowane przez Profibus.
    Nasz program miałby za zadanie "synchornizować predkości"

    Mamy:
    Silnik 1 - silnik wiodący
    Silnik 2 - silnik nadążający
    Zmienna procesowa - prędkość silnika 2 (V2), przechowywana w parametrach falowników, pozyskiwana poprzez PROFIFUBS
    Setpoint - predkosc silnika 1 (V1)
    Sterowanie poprzez częstotliwość (f), zadawaną do silnika poprzez PROFIBUS.

    Poprawcie mnie jesli sie myle, ale konfiguracja/wejsc wyjsc bylaby nastepujaca:
    SP_INT - V1
    PV_IN - V2
    PV - f

    Jezeli dobrze rozumiem, to bity QLMNUP, QLMNDN generalnie sa to bity "infoamcyjne", nie konieczne zeby kontroler dobrze pracowal.
  • Poziom 17  
    Chyba coś tu nie tak za mało opisales aplikacje .
    Regulator z S7 oczywiscie mozesz uzywać do regulacji róznych zmiennych
    Ale w twoim wypadku jezeli chcesz uzyskać dwie predkości takie same na falownikach to wyslij zadana predkosc po profibusie do 1 falownika , zczytaj aktualną predkosc z pierszego i wyslij do drugiego . Mozesz zczytac jeszcze predkość z drugiego i zrobić zabezpieczenie w S7 że jezeli 2 prędkość sie rożni o ileś xx od 1 to stop całosci
    Inna sprawa jezeli potrzebujesz super dokładności . tzn układ master -slave . Wtedy trzeba zastosować enkodery i układ co bedzie to kontrolował np. karta DRS przy SEWie .

    Zwykły regulator PID z S7 ciezko ustawić aby zrealizował fukcje Master -SLAVE - sychronizacje predkosci .

    Tak czy inczej musisz napisac jaka dokladność potrzebujesz w swoim układzie
  • Poziom 10  
    pawelekc napisał:
    sterowanie klapą spalin tak aby utrzymywać stałą temperaturę 80stopni. (...) wszystkie wskazówki dziękuje.


    Tak sie zastanawiam czemu PID do tak banalnego zadania? Jezyki wysokiego poziomu wraz z dolaczanymi przez producentow "gotowcami" (timer,counter, PID .... ) "uposledzaja" tylko niedoswiadczonych programistow/automatykow.

    To tego odcinka uzylabym po prostu takiego algotytmu: wzor na dlugosc odcinka, z ustawonymi (programowo lub poprzez HMI) punktami MIN(klapa zamknieta=otwarta na 0%) i MAX (klapa otwarta na 100%).

    Co jednostke czasu (np.0,5sek) sprawdzasz stan temperatury.

    Temperatury <80ºC = 0% (klapa zamknieta)
    Temperatur=80ºC - nie robisz nic
    Temperatury>80ºC

    Im wieksza roznica pomiedzy MIN i aktualna temperatura (dlugosc odcinka) tym "szybciej" otwierasz klape (wiekszy kat, wiekszy czas pracy silniczka czy jak tam sterujesz sobie ta klapa).

    Z piec linii kodu w sumie i z "5 razy" szybciej dla CPU. Ale pewnie - mozna tez uzyc PID - "TIRem po chleb".

    Pozdrawiam wszystkich,
    Ania

    P.S. Dla tych co nie pamietaja:
    http://portalwiedzy.onet.pl/130252,,,,geometria_analityczna_zestawienie_wzorow,haslo.html
  • Poziom 19  
    Cytat:
    Tak sie zastanawiam czemu PID do tak banalnego zadania?

    Autor tematu nie opisał dokładnie swojego obiektu sterowania więc nie można powiedzieć że regulator PID zbędny. Przedstawiony algorytm pracy przez anna_baza może się nie sprawdzić - nie znamy obiektu, wymagań, zakłóceń itp.
    Cytat:
    Jezyki wysokiego poziomu wraz z dolaczanymi przez producentow "gotowcami" (timer,counter, PID .... ) "uposledzaja" tylko niedoswiadczonych programistow/automatykow

    Wg mnie dla kogoś kto zajmuję się automatyką takie bloki funkcyjne jak timer, conter, PID są bardzo przydatne i wiekszości przypadków ciężko się bez nich obyć (trzeba pamietać że większości PLC programuje się je w LD, IL, FBD). Po co się wiele głowić jak ma się gotowe bloki funkcyjne do tego stworzone?