[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:
|
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:
#t_ReturnValue := LED(LADDR:=_word_in_, LED:=_uint_in_);
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