wykład 3
Transkrypt
wykład 3
Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Norma IEC 61131 (1993r.) składa się z pięciu części: 1. Informacje ogólne – definicje pojęć, charakterystyka funkcji: przetwarzanie cykliczne, obraz procesu, podział zadań, urządzenia do połączenia z operatorem, itp., słownik pojęć. 2. Sprzęt i wymagania testowe – wymogi (elektryczne, mechaniczne i funkcyjne) dla aparatury, definiowane są wymogi odnośnie: temperatury, wilgotności, zasilania, odporności na zakłócenia, przedziały robocze dla sygnałów cyfrowych i testy mechaniczne. 3. Języki programowania – ujednolica koncepcje programowania pod kątem metod dostępnych w wielu sterownikach PLC różnych producentów; definiuje grupy języków programowania: tekstowe (lista instrukcji IL, tekst strukturalny ST) graficzne (diagram drabinkowy LD, bloków funkcyjnych FBD) grafów: sekwencyjna sieć działań SFC, graf przepływowy FC 4. Wytyczne użytkownika – podano informacje potrzebne dla poszczególnych etapów projektu: analiza systemu, faza specyfikacji i wyboru urządzeń, wykonania aplikacji i obsługi urządzeń 5. Wymiana informacji – opis komunikacji pomiędzy PLC od różnych producentów i komunikacji z innymi urządzeniami; uzupełnienie do normy ISO/IEC 9506- ½. W3-1 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Norma IEC-1131-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. W3 - 2 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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. W3 - 3 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki A B C D E F STARTUP Czyści obszar pamięci I Inicjalizuje wyjścia z ostatnimi wartościami lub zastępczymi wartościami Wykonuje startowe OB Kopiuje stan fizycznych wejść do pamięci I Zapisuje zdarzenia przerwań do kolejki oczekującej na wykonanie w trybie RUN Uaktywnia zapis zawartości pamięci Q do fizycznych wyjść ① ② ③ ④ RUN Zapisuje zawartość pamięci Q do wyjść fizycznych Kopiuje stan fizycznych wejść do pamięci I Wykonuje cykliczne OB Wykonuje autodiagnostykę ⑤ Obsługuje przerwania w dowolnej części cyklu programu Cykl pracy sterownika PLC w trybie RUN W3 - 4 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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. W3 - 5 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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 BOOL BYTE WORD DWORD SINT INT USINT UINT REAL TIME DATE STRING Liczba bitów 1 8 16 32 8 16 8 16 32 8/16/32 32 32 Typ danej Logiczna Bajt Słowo Podwójne słowo Całkowita 8 - bitowa Całkowita 16 - bitowa Całkowita 8 – bitowa bez znaku Całkowita 16 – bitowa bez znaku Liczba rzeczywista Reprezentacja czasu Data Ciąg znaków o zmiennej długości W3 - 6 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 1. Funkcje standardowe (wspólne dla różnych języków): Styk normalnie otwarty. Przewodzi sygnał Styk normalnie zamknięty. Przewodzi (jest zamknięty, bit stanu=1), gdy wartość sygnał (jest zamknięty, bit stanu=1), gdy logiczna kontrolowanego wejścia równa wartość logiczna kontrolowanego się 1 (styki fizycznego łącznika są wejścia równa się 0 (styki fizycznego zamknięte). łą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. W3 - 7 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 2. Funkcje logiczne Operacje AND i OR Schemat układu Podłączenie elementów do PLC W3 - 8 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Funkcje logiczne: XOR Funkcje logiczne: NOT Układ z warunkiem pomiędzy obwodami drabinki W3 - 9 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Odpytanie stanu wejść na stan 1 i 0 Uwaga: Cewka K1 zawsze załączona, gdy S1 uruchomiony, a S2 nie jest uruchomiony. W3 - 10 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Realizacja układu start – stop z samopodtrzymaniem a) z pierwszeństwem wyłączenia b) z pierwszeństwem załączenia W3 - 11 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 3. Funkcje konwersji typu 4. Funkcje arytmetyczne 5. Funkcje 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ą) 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 W3 - 12 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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ą. W3 - 13 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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) W3 - 14 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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”, W3 - 15 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki • 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, W3 - 16 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki • 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, W3 - 17 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki Układy czasowe (Timer) Realizacja generatora impulsów na bazie 2 timerów TON W3 - 18 Programowanie przy użyciu instrukcji podstawowych: funkcje logiczne, układy czasowe, liczniki 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 W3 - 19