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

Norma IEC-61131-3 definiuje typy języków: • graficzne: schematów

  • Upload
    lelien

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

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).

1

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 zwar-ty operujący na skrótach literowych symbolizujących np: wejścia/wyjścia ste-rownika, zmienne wewnętrzne, operacje logiczne i matematyczne oraz inne bloki funkcyjne.

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).

2

Budowa i sposób zapisu rozkazów IL

Rozkaz - jest najmniejszą jednostką programu i składa się z operacji i ope-randu. Operacja określa rodzaj czynności, jaka w danym rozkazie ma być wykonana, natomiast operand składa się z oznaczenia i parametru. Ozna-czeniem jest skrót literowy określonej zmiennej binarnej, rejestru lub innego bloku funkcyjnego, a parametrem jest adres zmiennej (zmiennych) podlega-jącej danej operacji w bieżącym rozkazie, wykonywanego przez sterownik programu sterującego.

Użycie „Listy przyporządkowującej”

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).

3

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

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).

4

Rozkazy oprogramowania STEP-7, ISaGraf można podzielić na dwie za-sadnicze grupy: 1. rozkazy, których wykonanie jest niezależne od aktualnej wartości pierw-

szego (najwyższego) bitu stosu oraz 2. rozkazy, których realizacja jest uzależniona od aktualnej wartości pierw-

szego 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ęzy-kach (np. LD lub FBD)

Instrukcje typu BOOLEAN

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).

5

Rozkazy: ładuj, iloczyn i suma logiczna

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).

6

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

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).

7

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

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).

8

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)

- języki graficzne (LD, FBD); języki tekstowe (ST, IL).

9

Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym

Sterowanie silnikiem elektrycznym z sa-

mopodtrzymaniem 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 sy-gnalizowany jest na pulpicie sterują-cym optycznie, poprzez użyte lampki kontrolne: H1 - włączony; H2 - wyłą-czony. Silnik jest dodatkowo zabez-pieczony 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 za-pala 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 konse-kwencji zatrzymanie silnika) i zapalenie H2. To samo nastąpi przy wcześniejszym rozwarciu styku F3.

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).

10

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).

11

Proces mieszania: Schemat funkcjonalny

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.

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).

12

Opis działania układu

Układ jest włączany przyciskiem Start i realizuje jednorazowy proces mieszania mate-riałów sypkich pochodzących z zbiorników A i B. Proces odbywa się w zbiorniku głów-nym 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 mate-riał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.

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).

13

T2>5min i (CZ1 i CZ2)

Algorytm procesu

Program w języku IL – projekt „miesz” w ISaGraf.

1

1

Start

Napełnianie mieszalnika 2

Proces przygotowany

3

CP

Praca mieszalnika

T1>20min

4 Wysyp mieszanki

Alarm – silnik lub mieszadło

Proces zatrzymany

4

5

CT i not WD i CZ1 i CZ2

Alarm – zbiornik A lub B pusty

3

Stop

1

T2>5min i not(CZ1 lub CZ2)

6

7

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).

14

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).

15

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).

16

Język strukturalny ST Język strukturalny należy do grupy języków tekstowych. Podstawowymi ele-mentami 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 operan-dów według kolejności odpowiadającej miejscu w tej tabeli (pozycja 1 – naj-wyższy priorytet, pozycja 17 - najniższy). Operatory o wyższym priorytecie są wykonywane przed operatorami o priorytetach niższych. Operatory posia-dają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.

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).

17

Tab. 5.1. Operatory języka ST

Reguły:

1. Jeżeli operator posiada dwa ope-

randy, 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śle-

nia 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 spraw-

dzenia 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)).

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).

18

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 wieloelemen-towej) przez wynik obliczenia wyrażenia. Składa się ono z nazwy zmiennej, operato-ra przypisania := oraz wyrażenia.

Blok funkcyjny, funkcja - wywołanie odbywa się na drodze wprowadzenia do wy-raż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 pole-ceń) 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.

W 5_2 Typy języków programowania sterowników PLC (zdefiniowa-

ne w IEC-61131)

- języki graficzne (LD, FBD); języki tekstowe (ST, IL).

19

Tabela 5.2. Lista poleceń ST

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).

20

• W poleceniu IF określona grupa poleceń będzie wykonana tylko w przy-padku, 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 klu-czowym ELSE (lub słowie ELSEIF, jeśli skojarzony z nim warunek jest spełniony).

• Polecenie CASE zawiera wyrażenie typu INT stanowiące wybierak (se-lector) 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ęk-sza niż końcowa, to sekwencja poleceń w pętli nie będzie wykonana.

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).

21

• 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 za-koń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łnio-ny 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.