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

cykl pracy sterownika plc

gregor__ 14 Sty 2009 11:40 4920 5
  • #1 14 Sty 2009 11:40
    gregor__
    Poziom 10  

    Witam, mam pytanie, nie wiem czy do konca rozumiem cykl pracy sterownika plc, ogolnie mozna go okreslic:
    Start-->Odczytanie Wyjsc-->Program uzkownika--> Zapis wyjsc
    Chodzi mi o to, czy odczytanie wyjsc i zapis wyjsc odbywa sie po zakonczeniu calego programu czy po zakonczeniu networka, co jesli jest timer po ktorym ma sie cos dziac, czy to wydluzy cykl pracy? Pewnie to jest banalne, ale nigdy sie nad tym nie zastanawialem piszac programy.

    0 5
  • SterControl
  • Pomocny post
    #2 14 Sty 2009 12:43
    lucas_mcs
    Poziom 22  

    Przy programowniu PLC trzeba zwrócić uwagę ze program cały od początku do końca wykonuje się ładnych parę razy na sekundę. Robiłem proste sterowanie światłami na skrzyżowaniu to program wykonywał się w jakieś 37ms.
    Timery lecą jak gdyby "poza" programem, nie są resetowane chyba, że to wymusisz.
    Zapis wyjść jest dokonywany w momencie kiedy nakazuje program. (Aczkolwiek może to być zależne od producenta.. np wpakowanie ustwien do rejstru ktory aktualizuje wyjscia dopiero pomiedzy koncem starego a poczatkiem nowego cyklu programu, chociaz nie wiem w czym mozna by zastosowac takie rozwiazanie)

    Generalnie trzeba korzsytać z licznych rejestrów które nie są kasowane przy restarcie sterownika.

    0
  • SterControl
  • Pomocny post
    #3 14 Sty 2009 13:37
    pcichomski
    Poziom 16  

    lucas_mcs napisał:

    Zapis wyjść jest dokonywany w momencie kiedy nakazuje program.


    W sterownikach z którymi pracowałem (SIEMENS, Omron, Mitsubishi, AllenBradley, Fanuc i parę innych) zapis wyjść odbywa się ZAWSZE na końcu cyklu programowego (chyba że stosuje się przerwania).
    Na początku cyklu zatrzaskiwany jest w pamięci obraz obszaru wejść fizycznych (czyli zmiany w trakcie cyklu nie są uwzględniane). Wykonuje się przebieg programu. W czasie tego przebiegu następują stosowne ustawienia bitów w obszarze obrazu wyjść (pamięć pomocnicza), a na KONIEC cyklu dopiero obszar ten jest przepisywany na obszar wyjść fizycznych. Stan wyjść fizycznych zostaje za odświeżany następnie dopiero po kolejnym przebiegu programu. To samo dotyczy analogów.

    Tzn. jeśli w czasie programu wykona się n razy operację [set y0] i [res y0], to nie znaczy że y0 będzie zmieniać się n razy podczas przebiegu programu. Ustawi się na ostatnią zadaną wartości wystąpienia - ale to może zależeć od sterownika. Niektóre mają priorytet RESETU, inne wykonają ostatnią napotkaną operację.

    0
  • #4 14 Sty 2009 15:04
    Klakier74
    Poziom 15  

    Przykład z siemensa:

    Sequence of cyclic program processing
    The table and figure below show the phases in cyclic program processing.
    Table 5-1 Cyclic program processing
    Step Sequence
    1 The operating system initiates cycle time monitoring.
    2 The CPU copies the values of the process image of outputs to the output modules.
    3 The CPU reads the status at the inputs of the input modules and then updates the
    process image of inputs.
    4 The CPU processes the user program in time shares and executes program instructions.
    5 At the end of a cycle, the operating system executes queued tasks, for example, loading
    and deleting blocks.
    6 The CPU then returns to the start of the cycle, and restarts cycle time monitoring.

    cykl pracy sterownika plc

    Overview
    The cycle time (Tcyc) length is not the same in every cycle. The figure below shows different
    cycle times Tcyc1 and Tcyc2. Tcyc2 is longer than Tcyc1, because the cyclically executed OB1 is
    interrupted by a time-of-day interrupt OB (here: OB 10).

    cykl pracy sterownika plc


    Kawałki wcietę z dokumentacji.

    1
  • #5 14 Sty 2009 20:12
    krzychol66
    Poziom 24  

    pcichomski napisał:
    lucas_mcs napisał:

    Zapis wyjść jest dokonywany w momencie kiedy nakazuje program.


    W sterownikach z którymi pracowałem (SIEMENS, Omron, Mitsubishi, AllenBradley, Fanuc i parę innych) zapis wyjść odbywa się ZAWSZE na końcu cyklu programowego (chyba że stosuje się przerwania).

    Nie ZAWSZE. Powiedzmy - ZAZWYCZAJ.
    Wyjątkiem jest wywołanie instrukcji bezpośredniego odczytu wejść bądź bezpośredniego zapisu wyjść (na pewno takie instrukcje ma Siemens - zarówno S5, jak i S7).
    Instrukcja powoduje natychmiastowe (w danym networku) odczytanie bądź zapisanie zadanych wejść/wyjść. Z tym oczywiście, że jeżeli odpowiednia karta wejść/wyjść nie jest zamontowana na magistrali sterownika, a jest połączona siecią PROFIBUS/INTERBUS/PROFINET, to odczyt/zapis będzie dotyczył stanu pamięci karty komunikacyjnej, a nie docelowego modułu.

    0
  • #6 17 Sty 2009 19:40
    neuron
    Poziom 12  

    pomijajac wspomniane przez kolegow instrukcje zapisu i odczytu bezposredniego zapis i odczyt realizowany jest odpowiednio na koncu i poczatku cyklu obslugi programu.
    Daje to pene dosc ciekawe a czesto niedostrzegane mozliwosci.
    Jeleli nie bedziemy uzywac przypisywania do wyjsc zmiennych (normalna cewka) z kasowania i ustawiania tychze mozemy uzyskac znaczne uproszczenie wielu fragmentow programu bo mozemy w programie dowolna ilosc razy dane wyjscie ustawiac i kasowac - na wyjscie pujdzie stan ostatniej WYKONANEJ operacji S lub R.
    Przykladowo niech 3 wyjscia ustawiane sa wedlug jakichs warunkow. Mozemy je na ppoczatku programu skasowac a w srodku stosownie ustawic jesli jest taka potrzeba.

    wojtek
    www.neuron.com.pl

    1
  Szukaj w 5mln produktów