[KURS PLC, CZĘŚĆ 14] Sterowniki SIMATIC S7-1200 (CPU1211C) – diody LED na panelu przednim

Uwaga! Lista wszystkich opublikowanych odcinków kursu jest dostępna pod adresem.

W tej lekcji zajmiemy się odczytem z poziomu kodu programu informacji, które są widoczne na przednim panelu sterownika. Mowa o statusie pracy sterownika, czyli diodach LED przedstawionych na poniższym zdjęciu:

Każda z tych diod ma swoje znaczenie:

  • STOP – stałe światło pomarańczowe
  • RUN – stałe światło zielone
  • stan inicjalizacji – naprzemienne miganie światła pomarańczowego (STOP) i zielonego (RUN)
  • ERROR – migające lub stałe światło czerwone
  • MAINT – stałe lub migające światło pomarańczowe; związane z kartą pamięci

Informację o statusie diodach można odczytać w kodzie programu. Sprawdźmy jak to zrobić.

Zadanie

Należy napisać kod programu, który pozwoli sprawdzić stan diody MAINT. Jeżeli ta dioda LED pulsuje, to w sterowniku PLC wyjście cyfrowe o adresie Q0.0 powinno wejść w stan wysoki.

Zestaw startowy do kursu programowania SIMATIC S7-1200

Sklep KAMAMI.pl przygotował specjalną ofertę dla osób zainteresowanych poznaniem w praktyce możliwości sterowników SIMATIC S7-1200 oraz podstaw ich programowania. W ramach tej oferty dostępny jest zestaw startowy o nazwie Siemens SIMATIC S7-1200 PROMO w promocyjnej cenie (659 PLN brutto). Składa się on z następujących elementów:

  • sterownika SIMATIC S7-1200 (CPU1211C, 6ES7211-1AE40-0XB0),
  • przełącznika SIRIUS ACT NO+NC zintegrowanego z LED (3SU1031-3BB61-0AK0, 3SU1500-0AA10-0AA0, 3SU1400-1AA10-1BA0, 3SU1400-1AA10-1CA0, 3SU1401-1BB60-1AA0),
  • oprogramowania w wersji eval.
Schemat elektryczny

Sposób podłączenia sterownika PLC przedstawiono na poniższym rysunku:

Wprowadzenie

Wraz z oprogramowaniem TIA Portal dostarczona jest funkcja do odczytu stanu każdej z diod znajdujących się na przednim panelu sterownika. Funkcja nazywa się LED(), a jej opis znajduje się w karcie instrukcji, dokładnie tutaj: Instructions/Extended instructions/Diagnostics. Przykładowe wywołanie przedstawiono poniżej:

Jak widać, funkcja przyjmuje dwa parametry oraz zwraca jedną wartość przez parametr wyjściowy Return. W przykładowym wywołaniu ta wartość jest przypisywana do zmiennej tymczasowej typu Int o nazwie t_ReturnValue. Dokładny opis parametrów przedstawiono poniżej:

Do parametru LADDR funkcji LED() należy przypisać numer identyfikacyjny CPU. Numer ten jest przydzielany automatycznie podczas dodania sterownika PLC do konfiguracji sprzętowej. Można go znaleźć rozwijając folder PLC tags z drzewa projektu i otwierając tabele Show all tags. Wybieramy wówczas zakładkę System constants, którą przedstawia poniższy rysunek:

W zakładce znajdują się wszystkie numery identyfikacyjne sprzętu występującego w sterowniku oraz modułów zewnętrznych w przypadku ich dołączenia.

Natomiast do parametru LED należy przypisać numer identyfikacyjny diody LED, której stan chcemy odczytać. Wszystkie wartości przedstawia kolumna Description. Liczba 3 oznacza diodę MAINT.

Funkcja zwraca wartość mówiącą o aktualnym statusie danej diody i przypisuje ją do zmiennej t_ReturnValue. Wszystkie możliwe wartości, jakie może zwrócić funkcja LED() przedstawiono poniżej:

Znając aktualny status diod LED oraz ich znaczenie należy stworzyć funkcję odpowiednio reagującą na ich stan.

Dla zainteresowanych doskonaleniem programowania PLC Wydawnictwo BTC przygotowało książkę „Podstawy programowania sterowników SIMATIC S7-1200 w języku SCL”, której autorem jest autor naszego kursu, doświadczony projektant systemów automatyki – Tomasz Gilewski.

Projekt TIA Portal

Tworzymy nowy projekt (o nazwie np. 14_LED), który konfigurujemy w ten sam sposób, jak w poprzednim odcinku.

Tworzymy nowa tablicę PLC tags o nazwie Output, co przedstawia poniższy rysunek:

W pierwszej linii kodu została wywołana funkcja LED(). Do parametrów tej funkcji została przypisana stała systemowa (Local~Common) określająca numer identyfikacyjny sterownika PLC, a do parametru LED została przypisana wartość 3 (określa diodę LED z przedniego panelu sterownika do odczytania).

Jeżeli wartość zwrócona przez funkcję LED() wynosi 4, 5 lub 6, to wyjście cyfrowe sterownika o nazwie symbolicznej StatusMAINT będzie w stanie wysokim. Realizuje to druga linia kodu.

Należy skompilować cały projekt i umieścić w pamięci sterownika.

Praca domowa

Dioda ERROR też może pulsować, jeżeli pojawił się błąd. Napisz analogiczny kod programu do odczytania statusu tej diody.

Tomasz Gilewski

Do pobrania

O autorze