Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów blokowych FBD, tekstowe: lista instrukcji IL, tekst strukturalny ST, grafów: graf funkcji sekwencyjnych SFC, graf przepływowy FC. Każdy program w sterowniku PLC, bez względu na jego postać, wykonywany jest cyklicznie. - obsługa wejść - polega na odczytaniu aktualnych Cykl programowy stanów na wejściach sterownika i wpisaniu ich do rejestrów wejściowych; - proces wykonania części logicznej programu sterującego (analiza programu); - proces komunikacji poprzez port komunikacyjny z programatorem lub modułami zewnętrznymi oraz przeprowadzana jest samodiagnostyka; - obsługa wyjść - polega na uaktualnieniu stanu wyjść, gdyż efektem wykonania programu jest zmiana wartości rejestrów wyjściowych, którym przypisuje się fizyczne wyjścia sterownika. 1
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 wyróżnia następujące elementy organizacyjne oprogramowania (dostarczane przez producentów lub programowane przez użytkownika): Program uporządkowany zbiór instrukcji, funkcji i bloków funkcyjnych, realizujący określony cel i wykonywany w określonym przedziale czasowym cykl programu Instrukcja podstawowy element programowania, zawiera rozkaz, który wykonuje jednostka CPU sterownika PLC. Funkcja element organizacyjny programu, który z chwilą wykonania dostarcza jeden element danych. Blok funkcyjny z chwilą wykonania może dostarczać jedną lub wiele wartości, posiada wewnętrzne zmienne zawierające informację o stanie bloku, wywołanie bloku z tymi samymi argumentami wejściowymi niekoniecznie musi prowadzić do tych samych wartości wyjściowych. 2
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Zaleca się podział programu na podprogramy funkcjonalne: - przetwarzane cyklicznie w sposób ciągły - uruchomienie - zachowanie się przerwań i błędów W obiektach często występują te same zadania sterownicze, korzysta się często z tych samych algorytmów i wtedy celowe jest podejście strukturalne: - podział programu użytkownika na zadania - zastosowanie architektury blokowej z zastosowaniem bloków funkcji i bloków danych. 3
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Typy danych określa zbiór wartości, jakie mogą przyjmować dane, jak również zbiór operacji na nich wykonywalny W systemach programowania PLC wartości danych mogą być przedstawione w postaci: - liczbowej, - ciągu znaków, - czasowej. Słowo kluczowe Liczba bitów Typ danej BOOL 1 Logiczna BYTE 8 Bajt WORD 16 Słowo DWORD 32 Podwójne słowo SINT 8 Całkowita 8 - bitowa INT 16 Całkowita 16 - bitowa USINT 8 Całkowita 8 bitowa bez znaku UINT 16 Całkowita 16 bitowa bez znaku REAL 32 Liczba rzeczywista TIME 8/16/32 Reprezentacja czasu DATE 32 Data STRING 32 Ciąg znaków o zmiennej długości 4
1. Funkcje standardowe (wspólne dla różnych języków): Styk normalnie otwarty. Przewodzi sygnał (jest zamknięty, bit stanu=1), gdy wartość logiczna kontrolowanego wejścia równa się 1 (styki fizycznego łącznika są zamknięte). Styk normalnie zamknięty. Przewodzi sygnał (jest zamknięty, bit stanu=1), gdy wartość logiczna kontrolowanego wejścia równa się 0 (styki fizycznego łącznika są rozwarte). Najczęściej odwzorowują wejścia dwustanowe sterownika Cewka - przekaźnik ustawia wartość przypisanej zmiennej na "1", gdy podany zostanie stan wysoki na jego wejście (wynik operacji logicznych z jego lewej strony jest równy 1). Jest to przekaźnik o stykach otwartych. Najczęściej odwzorowuje wyjście dwustanowe sterownika. 5
2. Funkcje logiczne Operacje AND i OR Schemat układu Podłączenie elementów do PLC 6
Funkcje logiczne: XOR Funkcje logiczne: NOT Układ z warunkiem pomiędzy obwodami drabinki 7
Odpytanie stanu wejść na stan 1 i 0 Uwaga: Cewka K1 zawsze załączona, gdy S1 uruchomiony, a S2 nie jest uruchomiony. 8
Realizacja układu start stop z samopodtrzymaniem a) z pierwszeństwem wyłączenia b) z pierwszeństwem załączenia 9
3. Funkcje konwersji typu 4. Funkcje arytmetyczne Funkcje konwersji typu Przedstawienie graficzne funkcji matematycznej jednej zmiennej 10
Funkcje podstawowe 1 ABS ANY_NUM Wartość bezwzględna 2 SQRT ANY_REAL Pierwiastek kwadratowy Funkcje logarytmiczne 3 LN ANY_REAL Logarytm naturalny 4 LOG ANY_REAL Logarytm dziesiętny 5 EXP ANY_REAL Funkcja ekspotencjalna Funkcje trygonometryczne 6 SIN ANY_REAL Sinus kąta w radianach 7 COS ANY_REAL Cosinus kąta w radianach 8 TAG ANY_REAL Tangens kąta w radianach 9 ASIN ANY_REAL Wartość arcus sinus 10 ACOS ANY_REAL Wartość arcus cosinus Funkcje matematyczne 11
Przedstawienie graficzne funkcji arytmetycznej o zmiennej liczbie wejść Funkcje arytmetyczne o zmiennej liczbie wejść ADD + OUT := IN1+IN2+ MUL * OUT := IN1*IN2*. Funkcje arytmetyczne o stałej liczbie wejść SUB - OUT := IN1-IN2 DIV / OUT := IN1/IN2 MOD OUT := IN1 modulo IN2 EXPT OUT :=EXP(IN2*LN(IN1)) MOVE := OUT:=IN Funkcje arytmetyczne 12
5. Funkcje przesuwania bitów Przedstawienie graficzne funkcji przesuwania bitów 1 SHL Przesuń bity w argumencie IN o N pozycji w lewo wprowadzając 0 na pozycję bitów z prawej strony 2 SHR Przesuń bity w argumencie IN o N pozycji w prawo wprowadzając 0 na pozycję bitów z lewej strony 3 ROR Przesuń cyklicznie w prawo N bitów w argumencie IN (rotacja bity z prawej strony przechodzą na lewą) 4 ROL Przesuń cyklicznie w lewo N bitów w argumencie IN (rotacja bity z lewej strony przechodzą na prawą) Funkcje przesuwania bitów 13
6. Funkcje wyboru i porównania max, min, ogranicznik, multiplekser, porównania: sekwencje malejące i rosnące, sekwencje nie malejące i nie rosnące, różne wejścia. 7. Funkcje na łańcuchach znaków 14
Blok funkcyjny z chwilą wykonania może dostarczać jedną lub wiele wartości, posiada wewnętrzne zmienne zawierające informację o stanie bloku, wywołanie bloku z tymi samymi argumentami wejściowymi niekoniecznie musi prowadzić do tych samych wartości wyjściowych. 1. Elementy bistabilne przerzutniki RS, cewki SET, RESET. Przekaźnik ustawialny "SET". Przekaźnik ustawia na "1" kilka przypisanych mu zmiennych dyskretnych, których liczbę określa parametr "N". Zmienna S_BIT określa adres początkowy tych zmiennych. Jest to przekaźnik z pamięcią, gdyż jego stan jest podtrzymywany w przypadku wyłączenia zasilania sterownika. Wartość "1" jest utrzymywana do momentu, aż sygnał podany zostanie do przekaźnika "RESET". Przekaźnik ustawialny "RESET" przystosowany do współpracy z przekaźnikiem "SET". Gdy do przekaźnika podany zostanie sygnał wartość przypisanej mu zmiennej S_BIT oraz kilka kolejnych zmiennych dyskretnych określonych parametrem "N" ustawiona zostanie na "0". Jest to przekaźnik z pamięcią. 15
2. Elementy detekcji zbocza jest to najkrótszy impuls, jaki może wygenerować sterownik, większość rozkazów pracuje z detekcją zbocza narastającego Styk zwierny na czas jednego cyklu pracy sterownika, gdy sygnał podany do tego styku zmienia wartość z "0" na "1". (styk impulsowy) Styk zwierny na czas jednego cyklu pracy sterownika, gdy sygnał podany do tego styku zmienia wartość z "1" na "0". (styk impulsowy) 16
3. Układy czasowe (czasówka, czasomierz, zegar, timer) celem stosowania tych bloków jest uzależnienie pewnych zdarzeń od czasu, uruchomienie zmiana 0 na 1, zatrzymanie zmiana 1 na 0, typy czasomierzy: generator impulsu TP o zadanym czasie trwania w chwili, gdy na IN pojawi się zmiana 0 na 1, 17
czasomierz załączający z opóźnieniem TON przyjmuje wartość 1 z opóźnieniem określonym na wejściu TP w stosunku do 1 na wejściu IN i pozostaje w tym stanie dopóki wejście IN nie przyjmie wartości 0, 18
czasomierz wyłączający z opóźnieniem TOF przyjmuje wartość 1 z chwilą pojawienia się 1 na IN, a zostaje wyłączony z opóźnieniem zadanym na wejściu PT po zmianie 1 na 0 na IN, 19
Układy czasowe (Timer) Realizacja generatora impulsów 20
4. Układy liczenia zliczanie impulsów, możliwość zerowania, zakres zależny sprzętowo Licznik dodający CTU Licznik odejmujący CTD Licznik odejmująco - - dodający CTUD 21