W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) - języki graficzne (LD, FBD); języki tekstowe (ST, IL).

Podobne dokumenty
Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

1. JĘZYK SFC WPROWADZENIE

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Sterowniki Programowalne (SP) Wykład 11

PLC - język tekstu strukturalnego ST

Sterowniki Programowalne (SP)

Język programowania: Lista instrukcji (IL Instruction List)

PROGRAMOWALNE STEROWNIKI LOGICZNE

CoDeSys 3 programowanie w języku drabinkowym LD

Systemy wbudowane. Wprowadzenie. Nazwa. Oznaczenia. Zygmunt Kubiak. Sterowniki PLC - Wprowadzenie do programowania (1)

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Programowanie sterowników PLC wprowadzenie

Podstawy Programowania C++

Sterownik Visilogic V260

1 Podstawy c++ w pigułce.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Podstawy programowania PLC - zadania

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5

Norma IEC definiuje podział na dwie zasadnicze grupy:

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Algorytmy i struktury danych

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Opracował: Jan Front

Zapis algorytmów: schematy blokowe i pseudokod 1

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY CZERWIEC 2010

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Tworzenie prostego programu w językach ST i LD

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Algorytmika i Programowanie VBA 1 - podstawy

Ćwiczenie 1. Wprowadzenie do programu Octave

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Nazwa kwalifikacji: Projektowanie i programowanie urządzeń i systemów mechatronicznych Oznaczenie kwalifikacji: E.19 Numer zadania: 01

1 Podstawy c++ w pigułce.

Ćwiczenie 1. Wprowadzenie do programu Octave

Istnieje wiele metod przekształcania algorytmów wprogram sterujący.

Programowanie w Turbo Pascal

Podstawy programowania skrót z wykładów:

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Bloki anonimowe w PL/SQL

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik mechatronik 311[50]

Kurs Podstawowy S7. Spis treści. Dzień 1

Przetwarzanie sygnałów

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Podstawy programowania w języku C

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Modułowy programowalny przekaźnik czasowy firmy Aniro.

1. Zbiornik mleka. woda. mleko

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Standardowe bloki funkcjonalne

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2010

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Notatka Aplikacyjna NA 03006PL Maj 2016

Pętle. Dodał Administrator niedziela, 14 marzec :27

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

CoDeSys 3 programowanie w języku FBD

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Poprawność semantyczna

Notatka Aplikacyjna NA 03006PL Maj 2016

Pętle instrukcje powtórzeo

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Pętla for. Wynik działania programu:

Ćwiczenie 5. Realizacja prostych algorytmów sterowania z wykorzystaniem programu CONCEPT

LABORATORIUM 11, ZESTAW 1 SYNTEZA ASYNCHRONICZNYCH UKŁADÓW SEKWENCYJNYCH, CZ.I

Kurs Zaawansowany S7. Spis treści. Dzień 1

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Czym jest IEC ?

Wstęp do informatyki- wykład 2

STEROWANIE MASZYN I URZĄDZEŃ I. Laboratorium. 4. Przekaźniki czasowe

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Asynchroniczne statyczne układy sekwencyjne

Operacje logiczne i struktury sterujące.

1 Wprowadzenie do algorytmiki

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Instrukcje sterujące

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2010

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe

Transkrypt:

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. Język listy instrukcji IL - jest to zapis symboliczny, stanowiący ciąg kolejno ułożonych jedna pod drugą instrukcji (rozkazów). Jest to zapis bardziej zwarty operujący na skrótach literowych symbolizujących np: wejścia/wyjścia sterownika, zmienne wewnętrzne, operacje logiczne i matematyczne oraz inne bloki funkcyjne. 1

Budowa i sposób zapisu rozkazów IL Rozkaz - jest najmniejszą jednostką programu i składa się z operacji i operandu. Operacja określa rodzaj czynności, jaka w danym rozkazie ma być wykonana, natomiast operand składa się z oznaczenia i parametru. Oznaczeniem jest skrót literowy określonej zmiennej binarnej, rejestru lub innego bloku funkcyjnego, a parametrem jest adres zmiennej (zmiennych) podlegającej danej operacji w bieżącym rozkazie, wykonywanego przez sterownik programu sterującego. Użycie Listy przyporządkowującej 2

Stos - stanowi specyficzny sposób organizacji przechowywania danych. Podstawową zasadą wykorzystania stosu jest zdejmowanie (Pop) ze stosu danych w odwrotnej kolejności do ich układania (Push). Praktycznie każda operacja logiczna i blok funkcyjny w języku IL są bezpośrednio związane są z funkcją STOS-u. Stos o wymiarze 9 1 bitów 3

Rozkazy oprogramowania STEP-7, ISaGraf można podzielić na dwie zasadnicze grupy: 1. rozkazy, których wykonanie jest niezależne od aktualnej wartości pierwszego (najwyższego) bitu stosu oraz 2. rozkazy, których realizacja jest uzależniona od aktualnej wartości pierwszego bitu położonego na stosie. Warunkiem wykonania tych operacji jest to, by wartość tego bitu była równa 1. Mnemoniki rozkazów w języku IL mogą mieć inną postać niż w innych językach (np. LD lub FBD) Instrukcje typu BOOLEAN 4

Rozkazy: ładuj, iloczyn i suma logiczna 5

Rozkazy: iloczyn i suma logiczna na dwóch pierwszych bitach wierzchołka stosu 6

Rozkazy: negacja, wykrycie zbocza opadającego lub narastającego 7

Przykład : 1. LD I 0.0 2. LD I 0.1 3. A I 0.2 4. OLD 5. = Q 0.3 W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) 8

Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Sterowanie silnikiem elektrycznym z samopodtrzymaniem Silnik jest włączany jednym monostabilnym przyciskiem załączającym S1 na pulpicie sterującym i pracuje bez względu na stan przycisku S1. Stan pracy silnika sygnalizowany jest na pulpicie sterującym optycznie, poprzez użyte lampki kontrolne: H1 - włączony; H2 - wyłączony. Silnik jest dodatkowo zabezpieczony przed przeciążeniem przez użycie przekaźnika termicznego F3. Wyłączanie silnika - przycisk S2 Po naciśnięciu przycisku załączającego S1 następuje włączenie stycznika K1, którego styki robocze załączają silnik elektryczny. Gaśnie lampka kontrolna H2 a zapala się H1. Silnik pracuje i jest dodatkowo kontrolowany przez styk przekaźnika termicznego - F3. Po naciśnięciu przycisku S2 następuje wyłączenie K1 (w konsekwencji zatrzymanie silnika) i zapalenie H2. To samo nastąpi przy wcześniejszym rozwarciu styku F3. 9

10

Proces mieszania: Zrealizować układ sterowania procesem mieszania materiałów sypkich. Napięcie zasilania układów we/wy wynosi 24 VDC. Tabela przyporządkowująca sygnały we/wy projekt miesz słownik konfigurator we/wy. Schemat funkcjonalny 11

Opis działania układu Układ jest włączany przyciskiem Start i realizuje jednorazowy proces mieszania materiałów sypkich pochodzących z zbiorników A i B. Proces odbywa się w zbiorniku głównym C. Warunkiem rozpoczęcia procesu jest stan: zbiorniki A i B pełne (wejścia CZ1=1, CZ2=1) oraz zbiornik C pusty (wejście CP=0). W przypadku, gdy sterownik otrzyma od czujników sygnał braku choćby jednego materiału lub obecność w C, następuje włączenie lampki sygnalizującej awarię układu (wyjście alarm=1) oraz nie istnieje możliwość załączenia procesu mieszania. Sygnalizacja awarii wyłączy się po uzupełnieniu brakującego materiału (lub opróżnieniu zbiornika C) i wówczas układ jest gotowy do pracy po ponownym załączeniu przyciskiem Start. Układ można w każdej chwili wyłączyć za pomocą przycisku Stop. Ze względów bezpieczeństwa sterownik współpracuje z czujnikiem termicznym CT umieszczonym w silniku obracającym mieszadło. Ponadto wejście diagnostyczne WD sygnalizuje awarię, gdy M=1 silnik załączony przez sterownik. 12

Algorytm procesu 1 Proces przygotowany 4 T2>5min i not(cz1 lub CZ2) Start 5 Alarm zbiornik A lub B pusty 3 2 Napełnianie mieszalnika 3 CP Praca mieszalnika Stop 6 Alarm silnik lub mieszadło T1>20min 4 Wysyp mieszanki T2>5min i (CZ1 i CZ2) 1 Program w języku IL projekt miesz w ISaGraf. 7 1 Proces zatrzymany CT i not WD i CZ1 i CZ2 13

14

15

Język strukturalny ST Język strukturalny należy do grupy języków tekstowych. Podstawowymi elementami tego języka są wyrażenia i polecenia. Języka ST użyto do przedstawienia w postaci tekstowej zdefiniowanych w normie standardowych funkcji i bloków funkcyjnych. Wyrażenie (expression) - stanowi element języka, który z chwilą wykonania dostarcza wartość odpowiadającą jednemu z typów danych zdefiniowanych w IEC-61131. Wyrażenie składa się z operatorów i operandów. Operandem może być zmienna, stała, wywoływana funkcja lub inne wyrażenie. Obliczanie wartości wyrażenia polega na stosowaniu operatorów do operandów według kolejności odpowiadającej miejscu w tej tabeli (pozycja 1 najwyższy priorytet, pozycja 17 - najniższy). Operatory o wyższym priorytecie są wykonywane przed operatorami o priorytetach niższych. Operatory posiadające ten sam priorytet (operatory umieszczone w jednym wierszu tablicy) wykonywane są w kolejności występowania w wyrażeniu, tzn. poczynając od lewej do prawej strony. 16

Tab. 5.1. Operatory języka ST Reguły: 1. Jeżeli operator posiada dwa operandy, to operand z lewej strony jest obliczany najpierw, np. SIN(A)*COS(B) 2. Wartości wyrażeń logicznych mogą być obliczane tylko w stopniu koniecznym do określenia wyniku końcowego, np. jeżeli w trakcie obliczania wartości logicznej wyrażenia (A>B) & (C<D) okaże się, że A<=B, to tylko wyrażenie (A>B) będzie sprawdzane, ponieważ wynik i tak będzie równy O, bez względu na wynik sprawdzenia wyrażenia (C<D). Operator potęgowania ** powinien działać w ten sposób, by wynik obliczenia wyrażenia A**B był taki sam, jak wynik wyrażenia EXP(B*LN(A)). 17

Polecenia - Tab. 5.2 zawiera listę poleceń języka ST. Polecenie należy zakończyć znakiem średnika (;): Przypisanie - zastępuje wartość bieżącą zmiennej (pojedynczej lub wieloelementowej) przez wynik obliczenia wyrażenia. Składa się ono z nazwy zmiennej, operatora przypisania := oraz wyrażenia. Blok funkcyjny, funkcja - wywołanie odbywa się na drodze wprowadzenia do wyrażenia nazwy funkcji z listą argumentów umieszczoną w nawiasach. Powrót z funkcji lub bloku funkcyjnego następuje po dojściu do ich fizycznego końca albo przez polecenie RETURN, które jest zwykle wynikiem wykonania polecenia IF. Wyboru: IF oraz CASE - umożliwiają wykonanie jednego polecenia (lub grupy poleceń) w zależności od spełnienia określonego warunku. Pętla - polecenia umożliwiające powtarzanie pewnych sekwencji poleceń w pętli. Jeżeli liczba iteracji (powtórzeń) jest znana, to wykorzystuje się polecenie FOR. W przeciwnym przypadku należy użyć poleceń WHILE lub REPEAT. 18

W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) Tabela 5.2. Lista poleceń ST 19

W poleceniu IF określona grupa poleceń będzie wykonana tylko w przypadku, gdy skojarzone z poleceniem wyrażenie logiczne przyjmie wartość 1. Jeżeli warunek nie jest spełniony, to albo nie jest wykonywane żadne polecenie albo wykonana jest grupa poleceń występujących po słowie kluczowym ELSE (lub słowie ELSEIF, jeśli skojarzony z nim warunek jest spełniony). Polecenie CASE zawiera wyrażenie typu INT stanowiące wybierak (selector) oraz listę grup poleceń, z których każda posiada swoją etykietę. Wykonana będzie ta grupa poleceń, która posiada etykietę odpowiadającą obliczonej wartości wybieraka. Jeżeli wartość wybieraka nie odpowiada żadnemu z podanych zakresów, to wykonana będzie sekwencja poleceń występujących po słowie ELSE, jeśli występuje ono w poleceniu CASE, a w przypadku jego braku nie będzie wykonane żadne polecenie. Polecenie FOR oznacza, że sekwencja poleceń do słowa kluczowego END_FOR będzie powtarzana wraz z odpowiednią modyfikacją zmiennej kontrolnej pętli. FOR powoduje zmianę wartości zmiennej kontrolnej od wartości początkowej (określonej na drodze podstawienia) do końcowej (wyrażenie za TO) zgodnie z określonym przyrostem (wyrażenie po BY). Wartością domyślną dla przyrostu jest 1. Testowanie warunku końca pętli odbywa się na początku każdej iteracji. Gdy wartość początkowa jest większa niż końcowa, to sekwencja poleceń w pętli nie będzie wykonana. 20

Polecenie WHILE powoduje powtarzanie sekwencji poleceń do słowa END_WH1LE dopóki skojarzone z nim wyrażenie logiczne jest prawdziwe. Jeżeli wartość początkowa tego wyrażenia jest fałszywa, to grupa poleceń nie będzie w ogóle wykonana. Polecenie REPEAT powoduje wykonanie sekwencji poleceń do słowa UNTIL zawierającego warunek logiczny, którego prawdziwość oznacza zakończenie pętli. Tak więc, w przeciwieństwie do pętli FOR oraz WHILE, tu sprawdzanie warunku zakończenia pętli następuje na końcu, co oznacza, że pętla ta jest wykonywana co najmniej jeden raz. EXIT - umożliwia wcześniejsze opuszczenie pętli, zanim zostanie spełniony warunek końca pętli. Jeśli polecenie EXIT jest umieszczone w pętlach zagnieżdżonych, to wyjście następuje tylko z tej pętli, w której ono się znajduje, tzn. sterowanie jest przekazywane do polecenia znajdującego się za pierwszym ogranicznikiem pętli (END_FOR, END_WHILE, END_REPEAT) występującym po poleceniu EXIT. 21