Sterownik PLC może znajdować się w jednym z trzech stanów pracy, który jest sygnalizowany za pomocą diod LED na przednim panelu sterownika. Pisałem o tym przy budowie zewnętrznej jednostki CPU.
Blok startowy
Dostępne tryby pracy to:
- STOP – program użytkownika nie jest wykonywany. Istnieje możliwość wczytania projektu do sterownika lub połączenia się online,
- STARTUP – wykonywany jest startowy blok organizacyjny OB100 (jeżeli został umieszczony w pamięci sterownika), podczas którego nie są wykonywane przerwania. Jest to blok startowy, w którym można umieścić np. inicjalizację zmiennych wartościami, od których sterownik powinien zacząć realizację programu. W OB100 odczytanie wejść może być jedynie zrealizowane metodą fizycznego odwołania się do danego wejścia np. %I0.3:P,
- RUN – jest wykonywany cyklicznie blok organizacyjny OB1, który może być chwilowo zatrzymany na czas obsługi przerwania.
W konfiguracji sprzętowej sterownika PLC można wybrać, do jakiego trybu pracy powinien przejść CPU po włączeniu zasilania. Do tego celu służy zakładka Startup, która została przedstawiona poniżej
Domyślnie jest wybrana w polu Startup after POWER ON opcja Warm restart – mode before POWER OFF. Jednak w przypadku pojawienia się błędu sterownika podczas wykonywania kodu programu spowoduje przejście do trybu Stop. W tym wypadku dział utrzymania ruchu robi restart poprzez wyłączanie i włączenie zasilanie. Jednak sterownik nie przejdzie do trybu RUN, ponieważ jest wybrana opcja, aby uruchomił się w poprzednim trybie pracy, jakim był przed wyłączeniem zasilania. Sterownik S7-1200 nie ma przełącznika, aby wymusić przejście do trybu RUN. Trzeba skorzystać z dodatkowych narzędzi (np. TIA Portal), aby zmienić tryb pracy ze STOP na RUN. Dlatego w polu Startup after POWER ON należy zawsze ustawiać Warm restart – RUN.
Jednak nawet wybranie tej opcji nie zawsze spowoduje, że sterownik się uruchomi. Po włączeniu zasilania sterownik sprawdza czy np. do pamięci została wgrana konfiguracja sprzętowa albo czy do slotu włożono właściwą kartę pamięci. Jeżeli zostanie wykryta taka sytuacja, to sterownik przechodzi automatycznie do trybu STOP.
Blok rozruchowy OB100
Jeżeli zobaczysz na przednim panelu sterownika, że naprzemiennie pulsuje dioda RUN oraz ERROR, to znaczy że jest aktualnie realizowany STARTUP. W tym momencie sterownik wykonuje kod programu z bloku startowego, którym jest domyślnie blok organizacyjny OB100.
Aby sterownik mógł go wykonać, to należy dodać go do projektu i następnie umieścić w pamięci sterownika. Dodanie bloku jest analogicznie do dodawania pozostałych bloków. Polega to na wybraniu z drzewa projektu w katalogu Program block zakładki Add new block i wybraniu z lewej strony Organization block. Przedstawia to poniższy rysunek
Z lewej strony wybieramy Organization block i następnie Startup. W polu Name zostawiamy domyślą nazwę. Z pola Language wybieramy język SCL.
Blok rozruchowy charakteryzuje się tym, że jego rozmiar (pod względem kodu programu) może być dowolny. Wynika to z faktu, że podczas wykonywania instrukcji zawartych w bloku startowym nie jest monitorowany czas cyklu. Należy pamiętać, że przerwania też nie są wykonywane w trybie STARTUP.
W sekcji interfejsu tego bloku znajdują się dwa parametry, które pozwalają odczytać:
– utratę wartości zmiennych, które były przechowywane w pamięci trwałej,
– przestawienie czasu zegara czasu rzeczywistego (rozładowanie wewnętrznego super kondensatora)
Zazwyczaj ten blok jest wykorzystywane do inicjalizacji pewnych zmiennych lub tablic. Kolejne zastosowanie, to wykonanie wstępnych obliczeń.
Podsumowując, blok startowy OB100 jest wykonywany tylko raz (po włączeniu zasilania sterownikowi lub zmianie trybu pracy ze STOP na RUN czyli restart bez wyłączenia zasilania). Dopiero później jest cyklicznie wykonywany blok OB1.
A Ty do jakich zadań wykorzystujesz blok startowy? Napisz w komentarzu.
Kurs wideo
Więcej na temat programowania w języku SCL znajdziesz w kursie Sterownik PLC w praktyce: