STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
1. Standaryzacja metod programowania sterowników PLC
Na początkowym etapie rozwoju sterowników PLC każdy producent stosował
własny język programowania ze specyficzną listą rozkazów. Jednak wraz z wzrostem
powszechności ich stosowania pojawiła się konieczność standaryzacji metod
programowania. Prace normalizacyjne rozpoczęły się dosyć wcześnie, bo w roku
1970. Trwały jednak bardzo długo, ponieważ poszczególne języki programowania
stosowane w sterownikach różnych firm znacznie się różniły. W roku 1993
Międzynarodowa Komisja Elektroniki wydała normę IEC 1131, która w części trzeciej
zawierała charakterystykę języków programowania sterowników.
Do normy włączono kilka języków zarówno tekstowych, jaki i graficznych.
Wspólną ich cechą jest istnienie rozkazów, wyrażeń lub bloków operacji logicznych i
podobieństwo sposobu ich przedstawiania do form stosowanych w technice
przekaznikowej.
Norma IEC 1131-3 definiuje podział na dwie zasadnicze grupy:
języki tekstowe:
" język listy instrukcji (IL).
" język strukturalny (ST),
języki graficzne:
" język schematów drabinkowych (LD),
" język schematów bloków funkcyjnych (FBD),
" sekwencyjny język graficzny (SFC).
Nadal jednak postępuje proces ewolucji narzędzi i języków programowania.
Ostatnio niektórzy producenci oprogramowania rozszerzyli ofertę języków
graficznych o język diagramów przepływowych (FC).
Najpopularniejszym językiem programowania jest język schematów
drabinkowych LD
1.1. Język listy instrukcji IL
Programowanie w języku IL polega na używaniu właściwych instrukcji
programowych (tzw. mnemoników), wynikających z listy poleceń sterownika. Biorąc
Zadanie 21/2
1
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
następnie pod uwagę właściwe zasady tworzenia programu sterującego, umieszcza
się te mnemoniki w odpowiednich wierszach edytora programu (tzw. sieciach) wraz z
operandami (argumentami).
Pojedyncza linia edytowanego programu musi zawierać:
mnemonik rozkazu
operand bądz operandy
Program w metodzie IL konstruuje się na ekranie monitora za pomocą
klawiatury alfabetycznej i po stwierdzeniu jego prawidłowości przesyła do sterownika
PLC. Możliwe jest umieszczenie komentarzy objaśniających znaczenie używanych
instrukcji w tworzonym programie sterującym. Dla tej metody programowania
sterownika najczęściej nie istnieje możliwość testowania programu w trybie online.
Jest to podyktowane tym, że do tworzenia programu metodą IL używa się edytorów
tekstów, które nie pozwalają na umieszczanie informacji o aktualnym stanie
używanych operandów.
Przykład konstrukcji pojedynczej linii programu wraz z komentarzem
Wyjaśniając powyższy przykład, stwierdzamy, że mnemonik rozkazu dla timera
typu ON jest skrót TON. Operandem (argumentem) operacji są wyrażenia oznaczone
przez skróty T21 i K10. pierwszy argument instrukcji związany jest z typem timera
(operand bitowy), a drugi z typem stałej 10 , która napisana jest przy użyciu
kodowania dziesiętnego. Ponieważ układy mikroprocesorowe operują na wartościach
binarnych, wartość tej liczby zostaje zamieniona na postać zero-jedynkową, czyli
00001010.
Zadanie 21/2
2
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Oto przykładowy program PLC utworzony metodą IL:
Przykładowe instrukcje języka IL
L.p. Mnemonik OPIS
1. LD n Aaduj operand (n numer bitu)
2. LDN n Aaduj operand z negacją
5. A n Iloczyn logiczny AND
6. O n Suma logiczna OR
7. ALD Aączenie w iloczynie
8. OLD Aączenie w sumie
Instrukcja skoku pod adres etykiety
12. JMP n
n
14. RET Instrukcja powrotu z podprogramu
Język ten składa się z sekwencji instrukcji, z których każda powinna zaczynać
się od nowej linii. Instrukcja powinna zawierać nazwę operatora oraz operand, może
być poprzedzona etykietą zakończoną dwukropkiem.
1.2. Język strukturalny ST
Język strukturalny ST (Structured Text) należy do grupy języków tekstowych.
Jest on przeznaczony głównie do opisu złożonych wyrażeń, których nie można
zrealizować w językach graficznych (lub jest to bardzo utrudnione). Na rysunku 1
przedstawiono fragment zapisu w tym języku.
Język ST jest podstawowym językiem używanym do opisywania akcji w
poszczególnych krokach i warunkach struktur wyrażonych w językach SFC i FC.
Podstawowymi elementami języka są wyrażenia i polecenia. Wyrażenia dostarczają
wartości odpowiadające określonemu typowi danych. Składają się one z operatorów i
operandów. Operandem może być zmienna, stała, funkcja lub inne wyrażenie.
Zadanie 21/2
3
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Obliczenia są wykonywane przez zastosowanie operatorów do operandów
według ściśle określonej kolejności priorytetów. Podstawowymi poleceniami języka
są:
" instrukcja przypisania np. a:= b,
" RETURN,
" IF ... ELSEIF ... ELSE ... END_IF,
" CASE ... ELSE ... END_CASE,
" FOR ... TO ... DO ... END_FOR,
" WHILE ... END_WHILE,
" REPEAT ... UNTIL ... END_REPEAT,
" EXIT.
W postaci tekstowej język ten ujmuje zdefiniowane w normie standardowe
funkcje i bloki funkcyjne.
1.3. Język schematów blokowych (FBD)
Tworzenie programu sterującego PLC z wykorzystaniem języka FBD polega na
używaniu w programie sterującym właściwych tej metodzie bloków graficznych,
reprezentujących gotowe instrukcje programowe. Bloki te dostępne są w bibliotece
modułów, a zasada ich użycia polega na wywołaniu bloku i umieszczeniu go we
właściwym miejscu ekranu monitora.
Powstaje w ten sposób struktura graficzna programu sterującego. Funkcje te są
widziane w edytorze programu jako prostokąty z opisanymi zmiennymi wejściowymi i
wyjściowymi.
Przykład bloku graficznego
Zadanie 21/2
4
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Przedstawiony blok wykonuje operację iloczynu logicznego AND na dwóch
operandach bitowych I0.3 i I0.0. W języku FBD dla tego typu instrukcji nie istnieje
instrukcja odwrotna, np. AND NAND, jak to ma miejsce w metodzie IL A i AN. Tu
dla wykonania instrukcji logicznych, gdzie jeden z operandów jest zanegowany,
należy posłużyć się znakiem negacji kółkiem .
Przedstawiony blok AND może być używany w programie sterującym jako
pojedyncza instrukcja programowa, zwracająca rezultat wykonanej operacji, lub
może być użyty jako część składowa sieci instrukcji. Sieć instrukcji powstaje na
skutek użycia wielu bloków FBD połączonych liniami na ekranie monitora.
Przykład sieci FBD dla programu sterującego zawartego w BLOCK_2:
Realizacja programu w tym języku opiera
się na przepływie sygnału analogicznie do
przepływu sygnału pomiędzy elementami
systemu przetwarzania sygnału.
Przepływ sygnału następuje z wyjścia
(prawa strona) funkcji lub bloku funkcyjnego do
przyłączonego wejścia (lewa strona) następnej
funkcji lub bloku funkcyjnego.
Definicja obwodu oraz zasady obowiązujące przy wykonywaniu programu są
analogiczne jak w języku schematów drabinkowych. Nie powinny być natomiast
łączone razem wyjścia bloków funkcyjnych, należy użyć jawnie funkcji logicznej.
Wyjścia bloków funkcyjnych nie powinny być łączone.
Zadanie 21/2
5
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Na przykład realizacja sumy logicznej OR poprzez równoległe łączenie
elementów w węzeł (wired-OR) jak w języku LD, jest niedopuszczalne. Należy użyć
jawnie funkcji logicznej OR.
1.4. Sekwencyjny język graficzny SFC
Język ten jest podstawowym językiem zdefiniowanym w normie IEC 1131-3.
Opisuje on operacje, wykorzystując prostą reprezentację graficzną dla
poszczególnych kroków procesu i warunków nazywanych tranzycjami. Wyrósł on na
gruncie metod opisu automatów sekwencyjnych, do których zalicza się:
metodę polegającą na użyciu grafu przejść (każdy węzeł
grafu jest związany ze stanem automatu, natomiast łuk
grafu jest określony przez zmienną logiczną lub funkcję
kilku zmiennych);
metodę tablicy stanów (liczba kolumn rośnie wykładniczo
ze wzrostem liczby wejść np. dla 20 wejść w tablicy stanów
potrzeba więcej niż milion kolumn);
ściśle związany z fizyczną realizacją metody schematów
drabinkowych opierającą się na analogii do schematów
przekaznikowych.
Opis działania sterownika jest realizowany w postaci
sekwencji SFC (Sequential Function Chart). Proces cykliczny
jest podzielony na kolejne kroki oddzielone warunkami
logicznymi. Na rysunku obok pokazano fragment edytora
graficznego SFC. Formalizm ten może być wykorzystany przy
programowaniu sterownika w celu stworzenia odpowiedniej
struktury wewnętrznej programu.
Zadanie 21/2
6
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Zwykle do opisu poszczególnych akcji związanych z krokami i warunkami
wykorzystuje się inne języki. Język ten umożliwia równoległe przejście pomiędzy
dwoma krokami lub tranzycjami, co oznacza, że istnieje w nim możliwość
równoległego przetwarzania części programu.
Język diagramów przepływowych FC
Struktura tego języka jest zbliżona do języka SFC. Występują w nim dwa
podstawowe bloki: blok akcji i blok testu (decyzyjny). Język ten można interpretować
jako algorytm blokowy działania układu, który może być użyty do opisywania operacji
sekwencyjnych z dodatkowymi możliwościami, których nie posiada SFC. Struktura
programu składa się z bloków akcji i testów połączonych zorientowanymi liniami
(strzałkami), które przedstawiają przebieg (kierunek) realizacji programu.
Podstawowe graficzne elementy języka FC to:
" Begining of FC początek FC;
" Ending of FC - koniec FC;
" Flow links FC kierunek przejścia FC;
" FC Action - akcja FC;
" FC test - warunek decyzyjny FC;
" FC sub-program wywołanie podprogramu FC;
" FC I/O specyfic action akcja dodatkowa FC;
" FC connectors połączenie FC;
" FC comments komentarz FC.
Podobnie jak w przypadku języka SFC do
wypełnienia bloków akcji i testów wykorzystuje się inne
języki, takie jak na przykład język schematów
drabinkowych, język listy instrukcji lub język
strukturalny. Język ten nie należy do języków objętych
normą IEC 1131-3.
Zadanie 21/2
7
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
2. Charakterystyka języka schematów drabinkowych LD
(na przykładzie sterowników GE Fanuc)
Język ten umożliwia realizację zadań sterowania za pomocą standaryzowanych
symboli graficznych, wynikających z listy symboli sterownika. Uwzględniając
następnie właściwe zasady tworzenia programu sterującego umieszcza się te
symbole w odpowiednich miejscach ekranu, tworząc tym samym strukturę programu
sterującego. Różne symbole używane w programie sterującym oznaczają zarówno
operandy, jak i instrukcje.
Do połączeń operandów używane są tzw. linie łączące. W wyniku takich
połączeń otrzymujemy np.: funkcje sumy logicznej, iloczynu logicznego, itp.
Dopuszcza się również używanie zdefiniowanych bloków reprezentujących gotowe
bloki funkcyjne, np.: Timer, Counter.
Jest to tradycyjny język programowania sterowników, zapisany w formie szczebli,
wykonywany jest od góry do dołu. Program sterujący wykonywany jest szczebel po
szczeblu kolejno od lewej do prawej strony każdego szczebla.
Przepływ sygnału logicznego w każdym ze szczebli jest kontrolowany przez prosty
zestaw funkcji programistycznych, pracujących podobnie jak przekazniki i styki
mechaniczne. To czy styk prześle sygnał logiczny wzdłuż szczebla zależy od
wartości zmiennej związanej z tym stykiem w programie. Przykładowo, styk może
przesyłać sygnał logiczny, jeżeli powiązana z nim zmienna ma wartość 1. Ten sam
styk nie będzie przesyłał sygnału logicznego, jeżeli powiązana z nim zmienna ma
wartość 0.
Zadanie 21/2
8
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Jeżeli styk lub inna funkcja występująca w szczeblu nie przesyła dalej sygnału
logicznego, pozostałe elementy szczebla nie są wykonywane. Sygnał przepływa
wzdłuż lewej szyny w dół i dochodzi do następnego szczebla.
Szczebel może zawierać wiele złożonych funkcji do przemieszczania danych w
pamięci, przeprowadzania obliczeń matematycznych, czy sterowania komunikacją
pomiędzy sterownikiem a pozostałymi urządzeniami w systemie.
Elementy obwodu mogą być łączone poziomo - szeregowo (stan tego
połączenia odpowiada iloczynowi logicznemu), lub pionowo równolegle (suma
logiczna).
W przypadku języka LD wykonywanie programu polega na przepływie prądu ,
przy czym obowiązują następujące zasady:
wartość żadnego elementu obwodu nie powinna być wyznaczona dopóki nie
wyznaczono wartości wszystkich jego wejść,
wyznaczenie wartości elementu obwodu nie może być zakończone dopóki nie
wyznaczono wartości dla wszystkich jego wyjść,
wykonanie programu dla całego obwodu nie jest zakończone dopóki nie
wyznaczono wartości wyjść dla wszystkich elementów tego obwodu,
kolejne obwody powinny być wyznaczane w kolejności z góry na dół, tak jak
pojawiają się w języku drabinkowym, wyjątkiem będzie wprowadzenie
elementów kontrolnych (np. warunek skoku, powrót warunkowy lub
bezwarunkowy).
każdy blok powinien zawierać przynajmniej jedno wejście i wyjście logiczne by
umożliwić przepływ prądu przez blok.
Zadanie 21/2
9
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Podczas pisania programu należy przestrzegać następujących zasad:
1. Program wykonywany jest wg kolejności szczebli występujących w
schemacie drabinkowym, od szczebla pierwszego do ostatniego.
2. Sygnał przepływa od lewej strony szczebla (od szyny zasilającej) do
prawej.
3. Jeśli w szczeblu występują połączenia równolegle, to najpierw sprawdzana
jest linia położona najniżej.
4. W każdym szczeblu może występować maksymalnie 8 linii równoległych.
5. W każdej linii może znajdować się do 10 elementów połączonych
szeregowo.
6. Przekazniki występują zawsze po prawej strome na końcu linii.
7. W jednym szczeblu nie mogą wystąpić przekazniki uruchamiane przez
różną kombinacje styków (przez różne funkcje logiczne). Przekazniki takie
musza znajdować się w oddzielnych szczeblach drabiny.
8. Jeśli szczebel zawiera przekaznik załączany zboczem sygnału sterującego
to powinien to być jedyny przekaznik w tym szczeblu.
9. Szczebel musi zawierać przynajmniej jeden styk przed przekaznikiem,
instrukcją, blokiem funkcyjnym, funkcją lub linia pionową - aby spełnić ten
wymóg, można użyć styk otwarty ze zmienną systemową (ALW_ON).
10. Konstrukcja szczebla musi być poprawna z logicznego punktu widzenia.
11. Nie może wystąpić rozgałęzienie mające początek lub koniec wewnątrz
innego rozgałęzienia.
12. Każda funkcja i blok funkcyjny posiadają wejście uaktywniające (enable),
które jest zawsze zaznaczone na schemacie jako wejście główne. Funkcja
lub blok wykonywane są tylko wtedy, gdy do tego wejścia dopływa sygnał
(prąd).
13. W szczeblu zawierającym funkcje lub blok funkcyjny nie mogą wystąpić
rozgałęzienia rozpoczynające się od linii pionowej z wyjątkiem
przekazników.
Zadanie 21/2
10
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
14. W szczeblu zawierającym funkcje lub blok funkcyjny po prawej stronie
bloku nie mogą wystąpić żadne styki.
15. Funkcje posiadają zwykle wyjście umożliwiające przekazanie sygnału
(prądu) do elementów znajdujących się po prawej stronie funkcji. Wyjście
to znajduje się na schemacie po prawej stronie u góry i jest oznaczone
jako OK. W zależności od rodzaju funkcji, sygnał na wyjściu OK. może
pojawić się w każdym cyklu sterowania, w którym funkcja jest aktywna,
bądz tylko wtedy, gdy funkcja została wykonana poprawnie. Dla większości
funkcji wyjście to jest opcjonalne i nie musi być używane.
Używanie rejestrów, z których korzystają bloki (liczniki, czasomierze, funkcje
PID) w innych blokach może prowadzić do ich niepoprawnego działania.
2.1. Podstawowymi elementami schematu drabinkowego są:
przekazniki (relays) W skład przekaznika wchodzą:
" cewka - przekazuje stan połączenia z lewej strony na prawą
powodując jednocześnie zapamiętanie stanu połączenia z jej lewej strony
przez przypisaną jej zmienną logiczną,
" styki - są elementami przekazującymi do połączenia poziomego
po prawej stronie styku stan będący wynikiem mnożenia logicznego (AND)
stanu linii łączącej po lewej stronie styku oraz przypisanej mu wartości
logicznej. Styk nie modyfikuje wartości skojarzonej z nim zmiennej.
Możemy wyróżnić przekazniki typu latch (zatrzask) z podtrzymaniem sygnału
wejściowego sygnałem wyjściowym, przekazniki impulsowe reagujące tylko na
zmianę stanu wejściowego (przejście z 0 na 1 lub odwrotnie).
Czasomierze (Timery)
umożliwiają realizację uwarunkowań czasowych w programie
sterującym zliczając czas. Możemy wyróżnić czasomierze załączające,
sygnał na wyjściu pojawi się gdy wejście będzie w stanie wysokim i upłynie
czas zadany. W czasomierzach wyłączających sygnał na wejściu powoduje
wyzerowanie czasomierza i przejście wyjścia w stan wysoki, zanik sygnału
wejściowego rozpoczyna odliczanie zadanego czasu, po osiągnięciu którego
następuje zanik sygnału na wyjściu.
Zadanie 21/2
11
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Liczniki
Rozróżniamy liczniki zliczające w górę i liczniki zliczające w dół,
służą one do zliczania zdarzeń. Zmiana wejścia licznika z 0 na 1
powoduje zwiększenie lub zmniejszenie wartości bieżącej o jeden.
Każdy czasomierz i licznik wykorzystuje kolejne trzy słowa pamięci (rejestry) w
których przechowuje wartość bieżącą, wartość zadaną oraz słowo kontrolne.
2.1.1. Rodzaje styków
Styki są stosowane do monitorowania stanu zmiennych. Od stanu
zmiennej przypisanej stykowi oraz od typu styku zależy, czy będzie on przekazywał
sygnał. Zmienna jest ustawiona (ON) jeżeli jej wartość jest równa 1, zmienna jest nie
ustawiona (OFF) jeżeli jej wartość jest równa 0.
Styk otwarty | |
Styk taki działa jak wyłącznik, który przekazuje sygnał (zwiera styki), gdy wartość
logiczna przypisanej mu zmiennej wynosi 1.
Styk zamknięty |/|
Styk taki działa jak wyłącznik, którego styki pozostają zwarte (przekazuje sygnał),
gdy wartość logiczna przypisanej mu zmiennej wynosi 0.
Przykład
Powyżej widzimy przykładowy szczebelek z 10 elementami o nazwach
pomocniczych od E1 do E10. Przekaznik E10 ma wartość logiczną 1, jeżeli zmienne
E1, E2, E5, E6 i E9 są równe 1, a zmienne E3, E4, E7 i E8 są równe 0.
Zadanie 21/2
12
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
2.1.2. Przekazniki
Przekazniki są stosowane do sterowania wartościami zmiennych dyskretnych.
Dopływ sygnału do przekaznika musi być sterowany przez inne elementy logiczne.
Przekazniki natychmiast zmieniają wartość zmiennych, nie przesyłają one sygnału do
swojej prawej strony. Jeżeli określony stan zmiennej przypisanej przekaznikowi ma
decydować o wykonaniu pewnej części programu sterującego, należy tam
zastosować zmienną wewnętrzną lub przekaznik i styk kontynuacji. Przekazniki są
zawsze umieszczane skrajnie, po prawej stronie linii programu sterującego. Szczebel
może zawierać do ośmiu przekazników. Typ przekaznika należy dobrać stosownie
do żądanego działania programu sterującego. Stan przekazników z pamięcią jest
zapamiętywany po wyłączeniu zasilania lub po przejściu sterownika z trybu
zatrzymania (STOP) do trybu pracy (RUN). Stan przekazników bez pamięci jest
ustawiany na zero po wyłączeniu zasilania lub po przejściu sterownika z trybu
zatrzymania (STOP) do trybu pracy (RUN).
Zadanie 21/2
13
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Przekaznik o stykach otwartych ( )
Przekaznik ustawia wartość przypisanej zmiennej jeden, gdy dopłynie do niego
sygnał. Jest to przekaznik bez pamięci, nie może on być zatem zastosowany wraz ze
zmiennymi, które cechuje pamięci stanu.
Przykład
W powyższym przykładzie, przekaznik ustawia wartość przypisanej mu zmiennej na
1, jeżeli wartość E1 jest równa 1, a wartość E2 jest równa 0.
Przekaznik o stykach zamkniętych (/)
Przekaznik ten ustawia wartość przypisanej zmiennej dyskretnej na jeden, gdy nie
dopływa do niego sygnał. Jest to przekaznik bez pamięci, nie może on być zatem
zastosowany wraz ze zmiennymi , które cechuje pamięć stanu.
Przykład.
W powyższym przykładzie, przekaznik E3 ustawia wartość przypisanej mu zmiennej
na 1, jeżeli wartość E1 jest równa 0.
Przekaznik o stykach otwartych z pamięcią (M)
Podobnie jak zwykłe przekazniki o stykach otwartych, przekaznik taki ustawia
wartość przypisanej mu zmiennej na 1, gdy dopłynie do niego sygnał. Stan
przekaznika zostaje podtrzymany w przypadku zaniku zasilania sterownika. Z tego
powodu, nie może być on zatem zastosowany wraz ze zmiennymi, które nie
posiadają pamięci stanu.
Zadanie 21/2
14
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Przekaznik o stykach zamkniętych z pamięcią (/M)
Przekaznik taki ustawia wartość przypisanej mu zmiennej dyskretnej na 1, gdy nie
dopłynie do niego sygnał. Stan przekaznika zostaje podtrzymany w przypadku zaniku
zasilania. Z tego powodu, nie może być on zatem zastosowany wraz ze zmiennymi,
które nie posiadają pamięci stanu.
Przekaznik uaktywniany zboczem narastającym sygnału (P)
Jeżeli wartość zmiennej przypisanej przekaznikowi wynosi 0, w momencie dotarcia
do niego sygnału, wartość ta zostaje ustawiona na 1, do czasu wykonania tej
instrukcji w następnym cyklu. Przekazniki ustawiane zboczem sygnału mogą być
stosowane ze zmiennych z pamięcią lub bez pamięci stanu.
Przekaznik uaktywniany zboczem opadającym sygnału (N)
Jeżeli wartość zmiennej przypisanej przekaznikowi wynosi 0, w momencie, gdy
przestaje do niego dopływać sygnał, wartość ta zostaje ustawiona na 1, do czasu
wykonania tej instrukcji w następnym cyklu. Przekazniki ustawiane zboczem sygnału
mogą być stosowane ze zmiennych z pamięcią lub bez pamięci stanu.
Przykład
W powyższym przykładzie zmienna E1 zmienia wartość z 0 na 1, sygnał dopływa do
przekaznika E2 i E3, a zmienna związana z E2 zmienia wartość z 1 na 0, sygnał
przestaje dopływać do E2 i E3, przez co zmienna związana z przekaznikiem E3
przyjmuje wartość 1 na okres jednego cyklu
Zadanie 21/2
15
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
2.1.3. Bloki funkcyjne
Możemy wyróżnić następujące rodzaje bloków funkcyjnych:
- Liczniki i przekazniki czasowe
- Funkcje matematyczne
- Relacje matematyczne
- Operacje bitowe
- Operacje na danych
- Operacje tablicowe
- Funkcje konwersji
- Funkcje sterujące
Poniżej zostały przedstawione najczęściej stosowane bloki funkcyjne:
Liczniki i przekazniki czasowe blok TMR
Program sygnalizacyjny, że sygnał aktywny na wejściu I1 trwał nieprzerwanie
przynajmniej 10 sekund:
Przekaznik czasowy bez pamięci. Sygnał na wejściu I1 uaktywnia blok
funkcyjny TMR. Następuje zliczanie czasu, którego wartość przechowywana jest w
rejestrze R1. Dla każdego bloku funkcyjnego TMR należy zarezerwować trzy kolejne
rejestry. Wartość zadana wynosi 100 i jest ona podana w dziesiątych częściach
sekundy. Po osiągnięciu zadanej wartości na wyjściu przekaznika Q1 pojawi się
sygnał wysoki. Każdorazowy zanik sygnału na wejściu I1 powoduje wyzerowanie
licznika.
Zadanie 21/2
16
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Liczniki i przekazniki czasowe blok ONDTR
Program sygnalizujący, że sygnał aktywny na wejściu I1 trwał przynajmniej 10
sekund.
Przekaznik czasowy z pamięcią. Zlicza on czas gdy dopływa do nigo sygnał i
zatrzymuje liczenie po zaniku sygnału. Zerowanie wymaga drugiego sygnału.
Liczniki i przekazniki czasowe blok UPCTR
Program sygnalizujący, że do wejścia I1 dotarło przynajmniej 10 impulsów:
Licznik zliczający w górę. Służy on do zliczania impulsów od 0 do wartości zadanej.
Każda zmiana sygnału I1 z 0 na 1 powoduje zwiększenie jego wartości bieżącej o 1.
Podanie sygnału na I2 powoduje wyzerowanie licznika. Po zliczeniu wartości zadanej
przesyłany jest sygnał do przekaznika M1. Na ten licznik należy zarezerwować trzy
kolejne rejestry.
Funkcja matematyczna blok ADD
Dodawanie liczby 26 do liczby w rejestrze R44.
Do dodawania liczb wykorzystano blok ADD_INT. Służy on do dodawania liczb
całkowitych. Pierwszy operand to stała równa 26, drugi liczba w rejestrze R44.
Wynik operacji przesyłany jest do rejestru R50.
Zadanie 21/2
17
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Relacje matematyczne Blok EQ
Sprawdzenie, czy liczba w rejestrze R1 to liczba 16
Blok EQ pozwala na porównanie dwóch liczb. Jeżeli parametry wejściowe spełniają
relację równości, przesyłany jest sygnał potwierdzający Q.
Operacje na danych blok MOVE
Skopiowanie słowa bitowego z rejestru R1 na wyjście, od adresu Q1
Do przemieszczania danych jako pojedynczych bitów służy funkcja MOVE. Ponieważ
dane są przesyłane jako bity, nowy adres nie musi odpowiadać temu samemu typowi
danych, co adres oryginalny. Skopiowanie jednego słowa na wyjście począwszy od
Q1, spowoduje, że wynik zajmie szesnaście kolejnych lokacji.
3. Organizacja zmiennych w sterownikach PLC
Lokalizacja danych w pamięci sterownika GE Fanuc
Dane wykorzystywane w programie sterującym przechowywane są jako
zmienne rejestrowe lub zmienne dyskretne.
Pamięć zorientowana rejestrowo
Każdy adres w pamięci zorientowanej rejestrowo oznacza pojedyncze słowo
bitowe (o długości 16 bitów). W pamięci tego typu przechowywane są następujące
dane:
%AI wartość wejściowych zmiennych analogowych,
%AQ wartość wyjściowych zmiennych analogowych
%R rejestry służące do przechowywania danych liczbowych
Zadanie 21/2
18
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Typy zmiennych rejestrowych
Typ Opis
%R Rejestr w którym można przechowywać dane programu sterującego
(np. wyniki obliczeń). Symbolowi powinien towarzyszyć adres
rejestru (np.%R00201).
%AI Zmienna ta przechowuje wartość jednego rejestru wejścia
analogowego lub inną wartość. Po przedrostku podawany jest
adres rejestru (np.%AI0015).
%AQ Zmienna ta przechowuje wartość jednego rejestru wyjścia
analogowego lub inną wartość. Po przedrostku podawany jest
adres rejestru (np.%AQ0056).
Pamięć zorientowana bitowo
Każdy adres w pamięci oznacza pojedynczy bit, który może przyjmować
wartości 0 lub 1
Typy zmiennych dyskretnych
Typ Opis
%I Wartości wejściowych zmiennych dyskretnych. Po symbolu
podawany jest adres zmiennej w tabeli stanu wejść (np.%I00121).
Wartości wszystkich zmiennych typu %I są umieszczane w tabeli
stanu wejść, przechowywany jest w niej aktualny stan wszystkich
wejść sterownika. Do momentu przyporządkowania adresu zmiennej
moduł wejść nie przesyła żadnych danych do sterownika. Zmienne
typu %I mogą posiadać pamięć stanu.
%Q Wartości wyjściowych zmiennych dyskretnych. Po symbolu
podawany jest adres zmiennej w tabeli stanu wyjść (np.%Q00016).
Wartości wszystkich zmiennych typu %Q umieszczane są w tabeli
stanu wyjść, przechowywany jest w niej aktualny stan wszystkich
wyjść sterownika. Do momentu przyporządkowania adresu zmiennej,
Zadanie 21/2
19
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
nie są przesyłane żadne dane do modułu. Zmienne typu %Q mogą
posiadać pamięć stanu.
%M Wewnętrzne zmienne dyskretne programu sterującego. Zmienne
typu %M mogą posiadać pamięć stanu.
%T Wartość wewnętrznych dyskretnych zmiennych programu
sterującego, bez pamięci stanu. Wartości zmiennych typu %T nie są
przechowywane w przypadku utraty zasilania lub przejścia w tryb
STOP i następnie w tryb RUN Zmienne te nie mogą być
wykorzystywane w przekaznikach z pamięcią.
%S Przedrostek %S umieszczany jest przed zmiennymi systemowymi.
Umożliwiają one dostęp do danych systemowych, takich jak
informacje o błędach działania sterownika, pracy modułów
wejść/wyjść. Wśród zmiennych systemowych można wyróżnić cztery
grupy, oznaczone odpowiednio symbolami %S, %SA, %SB oraz
%SC.
- Zmienne %S, %SA, %SB i %SC mogą być przypisane dowolnym
stykom.
- Zmienne %SA, %SB i %SC mogą być przypisane przekaznikom z
pamięcią stanu.
- Zmienne %S można używać jako zmienne wejściowe funkcji i
bloków funkcyjnych.
- Zmienne %SA, %SB i %SC mogą być wykorzystane jako parametry
wejściowe lub wyjściowe bloku funkcyjnego.
%G Wartości zmiennych globalnych. Umożliwiają one dostęp do danych
wspólnie wykorzystywanych przez kilka sterowników. Zmienne typu
%G zawsze posiadają pamięć stanu i mogą być przypisywane
stykom i przekaznikom z pamięcią stanu. Nie mogą być natomiast
przypisywane do przekazników bez pamięci.
Zadanie 21/2
20
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
3.1. Nazwy zmiennych
Nazwa zmiennej może mieć długość od 1 do 7 znaków. W nazwie można
stosować litery od A do Z, cyfry od 0 do 9. Pierwszy znak musi być literą. Nazwy
zmiennych przypisuje się w tablicy deklaracji zmiennych. Używanie nazw nie jest
obowiązkowe.
%Q0004 zmienna Q4
Lampa_3 nazwa zmiennej Q4
Nazwa zmiennej nie rozróżnia małych i dużych liter chyba, że w procedurze
zdefiniowano globalną nazwę zmiennej. Wtedy nazwa globalna jest pisana
małymi literami, a nazwa lokalna dużymi
Używanie nazw zmiennych i opisów zmiennych
W programach sterujących można stosować nazwy zmiennych i opisy
zmiennych, aby uczynić program bardziej czytelnym i łatwiejszym do zrozumienia
dla użytkownika.
Zmienne z pamięcią stanu i zmienne bez pamięci stanu
Zmienne cechują się pamięcią stanu, jeśli obszar pamięci, w których
przechowywane są wartości zmiennych jest automatycznie zachowywany w
przypadku zatrzymania sterownika (przejście z trybu RUN w tryb STOP) lub w
przypadku utraty i ponownego włączenia zasilania. Pamięcią stanu cechują się
następujące dane i zmienne:
Program sterujący
Tablice błędów i dane diagnostyczne
Bity wymuszenia stanu
Zmienne rejestrowe (%R, %AI, %AQ)
Zmienne bitowe %I, %SC, %G, bity błędów i bity zarezerwowane)
Zmienne rejestrowe przechowywane w pamięci %Q i %M
Zmienne typu %Q i %M wykorzystywane jako zmienne wyjściowe bloków
funkcyjnych lub skojarzone z przekaznikami z pamięcią stanu pod warunkiem
Zadanie 21/2
21
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
że przy zmiennych tych zaznaczono opcję Ret (retentive) w tablicy
deklaracji zmiennych.
O tym, czy zmienne cechuje pamięć stanu, czy nie, decyduje rodzaj przekaznika w
programie sterującym, z którym zmienna została użyta po raz ostatni.
Następujące dane i zmienne nie dysponują pamięcią stanu:
Zmienne %T
Zmienne systemowe %S, %SA i %SB
Zmienne typu %Q i %M nie zadeklarowane jako zmienne z pamięcią
Zmienne typu %Q i %M skojarzone z przekaznikami bez pamięci stanu.
4. Przykład sterowanie poziomem wody w zbiorniku w języku LD
LHH-101
Czujnik poziomu górnego
V 101
Zbiornik
LH-101
Czujnik poziomu dolnego
wody
Zawór zasilający
Z-101 Odpływ wody
Deklaracja zmiennych użytych w programie
Zmienna Nazwa symboliczna Opis
% I0001 START Przycisk załączenia automatyki
% I0002 STOP Przycisk wyłączenia automatyki
% I0003 LH-101 Czujnik poziomu dolnego
% I0004 LHH-101 Czujnik poziomu górnego
% Q0002 Z-101 Wyjście załączenia elektrozaworu
% M0001 AUTO Przekaznik pomocniczy RS
% M0002 WODA Przekaznik pomocniczy RS
Zadanie 21/2
22
STEROWNIKI PROGRAMOWALNE PLC
Języki programowania sterowników PLC. Organizacja zmiennych w sterownikach PLC
Styki AUTO, WODA oraz przekazniki AUTO WODA są elementami wirtualnymi.
Zrzut fragmentu programu sterującego
Styki zwierne START, STOP, LH-101 i LHH-101 są stykami fizycznymi
podłączonymi do wejść sterownika.
Przekroczenie ustawionego poziomu powoduje zwarcie styków w czujniku
LHH-101
Jedynym wyjściem fizycznym jest przekaznik Z-101 przypisany do wyjścia Q2
Literatura:
1. ASTOR: GE Fanuc Automation. Sterowniki programowalne VersaMax
Micro. Podręcznik użytkownika. Warszawa, 2006.
2. Kasprzyk, Jerzy: Programowanie sterowników przemysłowych. WNT.
Warszawa, 2006.
3. Mikulczyński, Tadeusz: Automatyzacja procesów produkcyjnych. WNT.
Warszawa, 2009.
Zadanie 21/2
23
Wyszukiwarka
Podobne podstrony:
Wykład 4 PLCsterowniki programowalne plc, cz??? 3PLC mgr wyklad 11 algorytmyzadania plcPLC zadanieWykadPLC wyklad 08wykad 10 2wykad wywazanie 2manipulatory PLCSprawozdanie PLC PradelokBudowa i zasada działania programowalnych sterowników PLCPLC MTProste przykłady PLCwięcej podobnych podstron