Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Praca przejściowa PLC siemens

alieniz 18 Nov 2011 14:26 2758 4
  • #1
    alieniz
    Level 2  
    Witam
    W ramach pracy przejściowej, mam do wykonania projekt polegający na sterowaniu temperatura w pomieszczeniu za pomocą zaworu analogowego na odcinającego dopływ gorącej wody do grzejnika na oprogramowaniu STEP 7 od Siemensa. Jest to projekt czysto wirtualny, czyli sprzęt dowolnie wybieram sam. Chciałbym tylko by hardware był w rozsądnych cenach.

    Już na samym początku napotkałem na znaczący dla mnie problem.
    Chciałbym zastosować czujnik temperatury Pt100, jako jeden z najpopularniejszych. Zastanawiam sie jak go zastosować. Czy należy go podłączyć pod moduł wyjść cyfrowych z ustawionym 1 na wyjściu czyli 5V i do modułu wejść analogowych i otrzymany prąd za pomocą jakieś funkcji arytmetycznych przekształcać na temperaturę(zgodnie z charakterystyką Pt100). Czy też są jakieś skalery wbudowane w S7. albo automatyczny odczyt temperatury z Pt100?

    Jeśli mój zamysł jest błędny proszę o poprawienie mnie.

    Drugim problem jest chyba trochę bardziej skomplikowane(przynajmniej dla mnie) zastosowanie wbudowanego bloczka PID do sterowania temperatura w czasie ciągłym FB58.
    Ma on jednak tyle opcji, że na razie wpatruję się w niego jak w obrazek. Dokumentacja średnio rozjaśnia sytuacje.Wiem, że na pewno potrzebuje nastaw PID, czytając o S7 dowiedziałem się ze jest opcja autotunnigu, jednak nie mam najmniejszego pojęcia jak jej użyć. Bez fizycznego podłączenia układu grzejnika i zaworu pewnie nie jestem w stanie jej użyć.
    Rozumiem, że FB58 po otrzymaniu na wejściu temperatury pomieszczenia na wyjściu powinien dać napięcie na zaworze czyli jego stopien otwarcia.
    Czy byłby ktoś stanie pomóc mi wyjaśnić jak zaprogramować ten regulator PID.

    Wiem, że dla wielu te problemy są banalne, jednakże proszę o jakieś pomysły.
    Pozdrawiam
  • #2
    krzysiekj18
    Level 19  
    Do czujników pt100 są dedykowane moduły dokładane do sterownika, pod które podpina się czujnik. Co do konfiguracji PID zapoznaj się z serią S7-1200 tam jest PID z automatycznym dostrajaniem (dosyć prosty w skonfigurowaniu).
  • #3
    alieniz
    Level 2  
    Program ten będzie później rozwijany o kolejne pomieszczenia, a zauważyłem, że te dedykowane moduły pod pt100 posiadają niewiele wejść, natomiast chciałbym algorytm później rozszerzyć do 16 czujników, i nie kupować więcej niż jeden moduł dedykowany, gdy można to zrobić na module wejść analogowych.

    Wspominany jest tu regulator PID z s7-1200, jednak jesteśmy ograniczeni do s7-300, o czym zapomniałem wspomnieć za co przepraszam.

    Gdyby ktoś potrafiłby jeszcze pomóc w problemach z pierwszego postu, byłbym niezmiernie wdzięczny.
  • #4
    krzysiekj18
    Level 19  
    Jeśli chcesz to zrobić na module wejść analogowych musisz kupić przetwornik do czujników pt100, przetwarzający pomiar z nich np. na pętlę prądową 4-20mA. Ewentualnie możesz kupić czujniki zintegrowane z przetwornikami cena w APAR ok 170 zł. Opisywane przez ciebie rozwiązania:
    Quote:
    Czy należy go podłączyć pod moduł wyjść cyfrowych z ustawionym 1 na wyjściu czyli 5V i do modułu wejść analogowych i otrzymany prąd za pomocą jakieś funkcji arytmetycznych przekształcać na temperaturę(zgodnie z charakterystyką Pt100)

    to w przemyśle czysta partyzantka, wątpię aby uzyskany w ten sposób odczyt był stabilny i równie odporny na zakłócenia jak dedykowane rozwiązania.

    Co do PID-u na S7-300 jego konfiguracja jest w miarę dokładnie opisana np. w książce: "Programowalny sterownik SIMATIC S7-300 w praktyce inżynierskiej".
  • #5
    Rkarcz
    Automation specialist
    alieniz wrote:
    Witam
    Już na samym początku napotkałem na znaczący dla mnie problem.
    Chciałbym zastosować czujnik temperatury Pt100, jako jeden z najpopularniejszych. Zastanawiam sie jak go zastosować. Czy należy go podłączyć pod moduł wyjść cyfrowych z ustawionym 1 na wyjściu czyli 5V i do modułu wejść analogowych i otrzymany prąd za pomocą jakieś funkcji arytmetycznych przekształcać na temperaturę(zgodnie z charakterystyką Pt100). Czy też są jakieś skalery wbudowane w S7. albo automatyczny odczyt temperatury z Pt100?


    Moduły do S7-300 o oznaczeniu 1KF02 obsługują wiele rodzajów pomiarów analogowych, od napięciowych, przez prądowe do klasycznych PT100 i PT1000. Pomiary wpinasz bezpośrednio do modułu analogowego - 5 zacisków - zasilanie, masa i 3 wejścia (U,I,R). Dokumentacji jest sporo, między innymi o skalowaniu. W przypadku PT100 i tego modułu odczyt temperatury będzie wartościa całkowitą INT z mnożnikiem 10. Czyli całe liczby to temperatura z dokładnością do 1 miejsca po przecinku i nalezy to podzielić właśnie przez 10 - wtedy uzyskach pomiar właściwy. Mamy 2 limity pomiaru określające uszkodzenie czujnika, toru pomiarowego, czy też niewłaściwe podłączenie. Zakres górny to 8501 (850'C) i zakres dolny -2001 (-200'C). To są bodajże limity dla PT100 i PT1000. W szerszych zakresach stosuje się termopary K,J itp.

    Co do PID:
    wejścia:

    COM_RST - 0
    MAN_ON - 0
    PVPER_ON - 0
    P_SEL - 1
    I_SEL - 1
    INT_HOLD - 0 - jak się wgryziesz zobaczysz, że do tego warto napisać funkcję w zależności od kierunku trendu i różnicy od setpointu... :-)
    I_ITL_ON - 0
    D_SEL - 1
    CYCLE - czas wywołania OB w którym jest regulator - dla OB35 będzie to tyle ile ustawisz w HWCOnfig - domyślnie T#100ms
    SP_INT - tu podajesz zmienną setpoint
    PV_IN - wartość zmierzona - czyli temperatura
    PV_PER - skoro PVPER_ON=0 to tu nic nie wpisujsesz
    MAN - jeśli nie używasz trybu ręcznego to puste
    GAIN - wzmocnienie P - w zależności od trybu pracy - grzanie/chłodzenie z + lub -
    Ti - czas całkowania
    Td czas różniczkowania
    TM_LAG czas opóźnienia wykonania części różniczkującej
    DEADB_W strefa nieczułości
    LMN_HLM limit max. wyjścia regulatora - 100%
    LMN_LLM limit min. wyjścia regulatora - 0%
    PV_FAC 1.0
    PV_OFF O.0
    I_ITLVAL wartość initializująca - 0.0
    DISV SIEMENS odradza używania tego wejścia :-) - zakłócenie - 0.0

    wyjścia:

    LMN wartość sterująca - to skalujesz i podajesz na zawór analogowy.

    Żadne inne wyjście nie jest Ci do szczęścia potrzebne.

    Co do nastaw regulatora - zacznij od:

    P=1, Ti=20s, Td=0s, Tl=0s.

    A jak już ustabilizujesz w miarę przebieg to ustaw Td=Ti/2, a Tl=Ti/4

    Powodzenia