funkcjonalne bloki zegarem

Transkrypt

funkcjonalne bloki zegarem
PLC, Programowalne sterowniki logiczne
PLC, Programowalny sterownik logiczny (ang. Programmable Logic Controller)
to wyspecjalizowane urządzenie mikroprocesorowe wyposażone w programowalną pamięć,
sterownik realizuje zadanie sterowania wykonując cyklicznie program umieszczony w swojej
pamięci.
Norma IEC 61131 poświęcona sterownikom PLC, opracowana w latach dziewięćdziesiątych
XXw. przez Międzynarodową Komisję Elektrotechniki (IEC, ang. International Electrotechnical
Commision), definiuje sterownik programowalny jako:
„cyfrowy system elektroniczny do stosowania w środowisku przemysłowym, który posługuje się
pamięcią programowalną do przechowywania zorientowanych na użytkownika instrukcji w celu
sterowania przez cyfrowe lub analogowe wejścia i wyjścia szeroką gamą maszyn i procesów”.
Norma IEC 61131 powstała w odpowiedzi na potrzebę wprowadzenia pewnych standardów zwłaszcza w
zakresie metod programowania sterowników (ze względu na dużą różnorodność rozwiązań stosowanych
przez producentów sterowników). Kolejne części normy zawierają:
 część 1 – informacje ogólne: definicje pojęć i własności funkcjonalne PLC,
 część 2 – wymagania sprzętowe oraz badania, testy i warunki użytkowania,
 część 3 – metody programowania (omówione języki graficzne i tekstowe),
 część 4 – wytyczne wspomagające proces projektowania, eksploatacji i konserwacji,
 część 5 – zbiór zasad dotyczących komunikacji pomiędzy sterownikami różnych rodzin oraz pomiędzy
sterownikami i innymi urządzeniami.
"
Sterowniki programowalne f.1/1
PLC, koncepcja
Sterowniki programowalne powstały jako próba zastąpienia układów stałoprogramowych
przetwarzających sygnały wejściowe w wyjściowe zgodnie z programem określonym przez
wykorzystane przez nie elementy oraz połączenia pomiędzy nimi (np. układy cyfrowe w
realizacji stykowo – przekaźnikowej, układy zbudowane z elementów przełączających
pneumatycznych i hydraulicznych czy układy wykonane w technologii półprzewodnikowej).
Cyfrowe układy stałoprogramowe realizują zadania, które mogą być zapisane w postaci układów
równań logicznych. Układy kombinacyjne realizują zadania:
y1=f1(x1, x2, …, xm)
…
yn=fn(x1, x2, …, xm)
a układy sekwencyjne zadania:
Q1=δ1(q1, q2, …, qp, x1, x2, …, xm)
…
Qp=δp(q1, q2, …, qp, x1, x2, …, xm)
y1= λ1(q1, q2, …, qp, x1, x2, …, xm)
…
yn= λn(q1, q2, …, qp, x1, x2, …, xm)
gdzie: xi, yi – sygnały wejściowe i wyjściowe; qi, Qi – aktualny i następny stan i-tego elementu
pamięci; δi, λi – funkcje przejść i wyjść (funkcje wyjść w postaci dla układów Mealy’ego).
"
Sterowniki programowalne f.1/2
PLC, koncepcja
Wybraną operację logiczną można zrealizować wykorzystując odpowiednią bramkę logiczną lub w oparciu o
układ, który może realizować różne operacje a rodzaj aktualnie wykonywanej operacji zależy od sygnałów
podanych na wejście układu.
y
iop ia ib
ia ib iop a b
0 0 0 ab
&
0 0 1 ab
0 1 0 ab
≥1
&
y
0 1 1 ab
≥1
≥1
1 0 0 a+b
≥1
&
1 0 1 a+b
≥1
1 1 0 a+b
1 1 1 a+b
Rys. 1. Układ realizujący różne dwuargumentowe operacje logiczne na
sygnałach a i b w zależności od wartości sygnałów sterujących ia,ib i iop.
Wykorzystując powyższy układ, wartość przykładowego wyrażenia:
y  x1 x 2  x3
można wyznaczyć (przyjmując, że wynik dotychczasowych obliczeń przechowywany jest w y):
- wprowadzając do elementu y wartość sygnału x1,
- podając na wejście układu sygnały: a = y, b = x2, iop = 0, ia = 0, ib= 1,
- podając na wejście układu sygnały: a = y, b = x3, iop = 1, ia = 1, ib= 1.
"
Sterowniki programowalne f.1/3
PLC, koncepcja
Przepisywanie wyniku pośredniego do argumentu kolejnej operacji można zautomatyzować budując układ z
przerzutnikiem sr. Przerzutnik będzie zapamiętywał wynik ostatnio wykonanej operacji a kolejna operacja
będzie mogła wynik ten modyfikować.
OR ORN AND ANDN a
&
≥1
s
&
y
SR
r
&
≥1
&
s r Q
q→Q s r
0 0 q
0→0 0 –
1 0 1
0→1 1 0
0 1 0
1→0 0 1
1 1 –
1→1 – 0
y + 0 = y, y ∙0 = 0
y + 1 = 1, y ∙1 = y
Rys. 2. Układ realizujący operacje na argumentach y i a (y wynik poprzednio wykonanej operacji):
y AND a, y AND NOT a (ANDN), y OR a i y OR NOT a (ORN).
Wykorzystując układ, wartość przykładowego wyrażenia:
y  x1 x 2  x3
można wyznaczyć podając na wejście układu sygnały:
- OR = 1, ORN = AND = ANDN = 0, a = x1,
wykonanie operacji OR x1 prowadzi do zapamiętania
- ANDN = 1, OR = ORN = AND = 0, a = x2,
pierwszego argumentu obliczanego wyrażenia
- OR = 1, ORN = AND = ANDN = 0, a = x3.
"
Sterowniki programowalne f.1/4
PLC, koncepcja
Pracę układu można w pełni zautomatyzować zakładając, że zadanie podane w formie wyrażenia logicznego,
zostanie rozpisane w postaci zbioru pojedynczych operacji, które należy kolejno wykonać:
y  x1 x 2  x3
OR x1
ANDN x2
OR x3
Układ uzupełniony o dodatkowy moduł, który cyklicznie:
 pobiera pojedynczą operację,
 tłumaczy operację na zbiór sygnałów sterujących (OR, ORN, AND, ANDN, a),
 podaje sygnały sterujące na wejście układu,
można nazwać prostym procesorem.
Procesor ten potrafi wykonać cztery operacje logiczne: OR, OR NOT, AND i AND NOT. Lista
elementarnych operacji, które może wykonać procesor nazywana jest listą rozkazów – lista rozkazów
omawianego procesora składa się więc z czterech rozkazów.
Procesor realizuje przykładowy program składający się z rozkazów: OR x1, ANDN x2, OR x3. Rozkazy
tłumaczone są na wartości sygnałów sterujących, np.:
rozkaz „OR x1” tłumaczony jest na OR = 1, ORN = 0, AND = 0, ANDN = 0, a = x1.
Przerzutnik sr znajdujący się na wyjściu układu pełni funkcję akumulatora, w którym przechowywane są
wyniki obliczeń pośrednich.
"
Sterowniki programowalne f.1/5
Architektura sterownika – procesor
Procesor, jednostka centralna, CPU (ang. Central Processing Unit) to cyfrowy synchroniczny układ
sekwencyjny, którego zadaniem jest pobieranie, interpretowanie i wykonywanie rozkazów znajdujących się w
pamięci. Rozkazy są poleceniami wykonania np. operacji logicznej. Ciąg rozkazów tworzy tzw. program.
Czynności które wykonuje procesor w trakcie realizacji pojedynczego rozkazu nazywane są cyklem
rozkazowym.
Podstawowymi układami procesora są:
układ sterowania, zarządza pracą pozostałych bloków procesora, w skład układu sterowania wchodzą:
licznik rozkazów – rejestr (tzn. układ zbudowany z zespołu przerzutników służący do przechowywania
informacji) w którym przechowywany jest adres, pod który w pamięci umieszczony jest kod
następnego rozkazu,
rejestr rozkazów – rejestr do którego układ sterowania przepisuje z pamięci kod rozkazu, który
powinien być wykonanym w bieżącym cyklu rozkazowym,
dekoder rozkazów – zamienia kody rozkazów w wartości sygnałów sterujących,
układ wykonawczy, układ ten zajmuje się realizacją rozkazów, w jego skład wchodzą:
jednostka arytmetyczno–logiczna – wykonuje operacje arytmetyczno–logiczne, wyniki operacji
zapamiętywane są zwykle w akumulatorze,
akumulator – rejestr procesora służący np. do chwilowego przechowywania wyników ostatnio
wykonanej operacji.
"
Sterowniki programowalne f.1/6
Architektura sterownika – procesor
układ sterowania
zegar
licznik
rozkazów
rejestr
rozkazów
dekoder
rozkazów
pamięć
…
OR x1
ANDN x2
OR x3
układ wykonawczy
…
jednostka
arytmetyczno-logiczna
akumulator
Rys. 3 Schemat blokowy procesora.
Cykl rozkazowy procesora składa się z dwóch faz: fazy pobrania i fazy wykonania rozkazu.
W fazie pobrania rozkazu na podstawie adresu zapamiętanego w liczniku rozkazów pobierany jest z pamięci
kod rozkazu, który powinien być wykonany w aktualnym cyklu rozkazowym. Kod rozkazu zapamiętywany jest
w rejestrze rozkazów a wartość licznika rozkazów modyfikowana jest w taki sposób aby zawierał on adres
następnego rozkazu w pamięci. Następnie rozkaz jest dekodowany w dekoderze rozkazów, w wyniku czego
powstaje ciąg sygnałów sterujących realizujących ten rozkaz,
W fazie wykonania rozkazu układ sterowania wysyła wyznaczone wartości sygnałów sterujących na wejście
jednostki arytmetyczno – logicznej, wynik wykonanej operacji trafia do akumulatora.
"
Sterowniki programowalne f.1/7
PLC – architektura
pamięć
program użytkownika
dane
moduł wyjść
mikroprocesor to procesor
zminiaturyzowany do
pojedynczego układu scalonego
sterownik PLC
mikroprocesor
obiekt
programator,
komputer
moduł wejść
Programator lub komputer
jest wykorzystywany do
programowania i testowania
sterownika.
obiekt
magistrala sterownika
Rys. 4. Schemat blokowy sterownika PLC
Zasada działania sterownika
 sygnały z czujników, urządzeń pomiarowych kontrolowanego obiektu (procesu) zamieniane są w
modułach wejściowych na sygnały cyfrowe akceptowane przez sterownik i zapamiętywane w obszarze
pamięci nazywanej pamięcią danych wejściowych,
 mikroprocesor przetwarza program użytkownika obliczając na podstawie danych wejściowych wartości
sygnałów wyjściowych, wartości te zapamiętywane są w pamięci danych wyjściowych,
 moduły wyjściowe korzystając z danych wyjściowych generują sygnały dla urządzeń wykonawczych.
"
Sterowniki programowalne f.1/8
PLC – architektura
CPU
wejścia
zasilanie
wyjścia
Rys. 5. Sterownik a) kompaktowy i b) modułowy.
"
zasilacz
Sterowniki PLC budowane są jako:
 sterowniki kompaktowe – mają tzw. „sztywną architekturę”: w jednej obudowie umieszczone są zasilacz,
jednostka centralna CPU (w sterownikach przyjmuje się, że CPU to mikroprocesor + pamięć), moduły
wejść i wyjść (zwykle cyfrowych),
 sterowniki modułowe – mają „architekturę elastyczną”: składają się z modułów, moduły montowane są
na płytach (nazywanych kasetami) lub szynach montażowych,
 sterowniki kompaktowo–modułowe – sterowniki kompaktowe, które mogą być rozbudowywane.
W zależności od możliwości sterowników wyróżnia się:
 przekaźniki inteligentne – najmniejsze sterowniki, które mogą obsługiwać do kilkunastu wejść
cyfrowych (mogą być również wyposażone w wejścia analogowe),
 sterowniki małe - stosowane w przypadku prostych zadań, do sterowania pojedynczymi urządzeniami,
mają zwykle kilkadziesiąt wejść/wyjść, na ogół są sterownikami kompaktowymi,
 sterowniki średnie i sterowniki duże – wykorzystywane w przypadku złożonych zadań, są sterownikami
modułowymi, mają kilkaset (sterowniki średnie), kilkaset tysięcy (sterowniki duże) wejść/wyjść.
a)
b)
moduł
specjalizowany
CPU
moduły wejść i wyjść
cyfrowych
moduły wejść i wyjść
analogowych
Sterowniki programowalne f.1/9
PLC – producenci
Sterowniki
Producent
Przekaźniki
inteligentne
Siemens
Logo
SIMATIC S7-200
SIMATIC S7-300
SIMATIC S7-400
Zelio
Nano
Micro
Twido
Premium
Compact
Momentum
Quantum
90-30
VersaMax
PACSystems RX3i
90-70
PACSystems RX7i
MELSEC FX1
FX2
MELSEC QnAS
MELSEC QnA
MELSEC System Q
CPM1, CPM2,
CQM1H
C200H-alpha
CJ1, CS1
CVM1
MicroLogix
SLC500
FlexLogix
ControlLogix
PLC-5
Schneider
Electric
małe
GE Fanuc
VersaMax-Nano VersaMax-Micro
Mitsubishi
Electric
ALPHA
Omron
Rockwell
Automation
Pico
(Allen-Bradley)
średnie
duże
Rys.6. Rodziny sterowników największych producentów.
Źródło: Jerzy Kasprzyk, Programowanie sterowników przemysłowych, WNT, Warszawa 2006
"
Sterowniki programowalne f.1/10
PLC – cykl programowy
Sterownik wykonuje działania w sposób cykliczny – działania te tworzą tzw. cykl programowy sterownika.
Na cykl pracy składają się fazy:
1. inicjalizacji cyklu (wykonywane są operacje niezbędne do rozpoczęcia cyklu, obliczany jest czas cyklu,
uaktualniane są tablice błędów, zerowany zegar resetujący),
2. odczytu danych wejściowych (dane wejściowe z modułów wejściowych wprowadzane są do pamięci
sterownika),
3. wykonania programu użytkownika (realizowany jest przebieg programu),
4. zapisu danych wyjściowych (dane wyjściowe wysyłane są do modułów wyjściowych),
5. komunikacji z urządzeniami zewnętrznymi (przetwarzane są żądania nadesłane przez programator i
wyspecjalizowane moduły),
6. diagnostyki (sprawdzana jest konfiguracja sterownika i weryfikowany jest program użytkownika).
Wykonanie części faz cyklu uzależnione jest od trybu pracy sterownika. Podstawowymi trybami pracy są:
 tryb RUN – tryb w którym wykonywane są wszystkie fazy cyklu programowego,
 tryb STOP – tryb zatrzymania sterownika (zwykle pomijane są fazy 2. i 4., zawsze pomijana jest
faza 3.), tryb ten przeznaczony jest do programowania i konfigurowania sterownika.
Cykl programowy zwykle trwa od ułamków do kilkudziesięciu ms. W przypadku przekroczenia
dopuszczalnego czasu trwania cyklu (zwykle od 100 do 500 ms) cykl jest przerywany i rejestrowany jest błąd
przekroczenia czasu cyklu.
"
Sterowniki programowalne f.1/11
PLC – metody programowania (norma IEC 61131-3)
Część 3 normy IEC 61131 omawia metody programowania sterowników PLC. Norma definiuje dwie grupy
języków programowania:
języki tekstowe
 język listy instrukcji IL (ang. Instruction List) – jest odpowiednikiem języka niskiego poziomu jakim
jest asembler, którego instrukcje bazują na liście rozkazów procesora, w skład zbioru instrukcji IL
wchodzą operacje logiczne, arytmetyczne, operacje relacji (porównań), oraz funkcje przerzutników,
timerów, itp.
 język tekstu strukturalnego ST (ang. Structured Text) – jest odpowiednikiem języka wysokiego
poziomu, zawiera podobny zestaw instrukcji jak Pascal czy C.
języki graficzne
 język schematów drabinkowych LD (ang. Ladder Diagram) – jest odpowiednikiem schematów
(obwodowych, drabinkowych) układów cyfrowych realizowanych w technologii stykowo –
przekaźnikowej, dodatkowo język pozwala na wykorzystywanie funkcji realizujących operacje
arytmetyczne, logiczne, porównania oraz bloków funkcjonalnych realizujących zadania przerzutników,
timerów, liczników.
 język funkcjonalnych schematów blokowych FBD (ang. Function Block Diagram) – jest
odpowiednikiem schematów stosowanych do opisu układów logicznych wykorzystujących bramki
logiczne, przerzutniki, timery, liczniki.
Norma definiuje także język sekwencyjnego schematu funkcjonalnego SFC (ang. Sequential Function
Chart) – jest to właściwie graficzna metoda projektowania zadań sterowania sekwencyjnego w oparciu o tzw.
graf sekwencji.
"
Sterowniki programowalne f.1/12
PLC – metody programowania (norma IEC 61131-3)
Każde zadanie sterowania stanowi tzw. projekt. Program użytkowy rozwiązujący określone zadanie
projektowe może składać się z oddzielnych modułów oprogramowania. Moduły te nazywane jednostkami
organizacyjnymi oprogramowania (POU, ang. Program Organization Units). Rozbicie programu
użytkownika na jednostki organizacyjne poprawia czytelność programu, umożliwia przenoszenie jednostek
organizacyjnych pomiędzy różnymi projektami.
Jednostkami organizacyjnymi oprogramowania zgodnie z normą są:
 funkcje – na podstawie argumentów wejściowych wyznaczana jest wartość argumentu wyjściowego
(argumenty wejściowe jednoznacznie wyznaczają wartość argumentu wyjściowego),
 bloki funkcjonalne – posiadają „pamięć”, wartość argumentu wyjściowego nie wynika wyłącznie z
wartości argumentów wejściowych, zależy również od stanu „pamięci”,
 programy – podstawowe jednostki organizacyjne programu użytkowego, odpowiadają „programowi
głównemu” w klasycznych językach programowania, programy mają dostęp do danych z modułów
wejściowych i wyjściowych sterownika.
Norma zakłada, że pojedyncza jednostka organizacyjna musi być zaprogramowana tylko w jednym języku
programowania.
Jednostki organizacyjne wykorzystują do przechowywania informacji (danych) zmienne. Zmienne
przechowują wartości danych wejściowych i wyjściowych oraz wartości danych pomocniczych.
Przechowywane wartości mogą być wartościami różnych typów. Norma definiuje typy elementarne,
przedstawia także sposoby definiowania nowych typów danych tzw. typów pochodnych.
"
Sterowniki programowalne f.1/13
PLC – metody programowania (norma IEC 61131-3)
Wybrane typy elementarne
Opis
BOOL
dane boolowskie, o rozmiarze 1 bitu, mogą przyjmować wartości TRUE
i FALSE (1 i 0, prawda i fałsz)
BYTE, WORD, DWORD, LWORD
dane o rozmiarze odpowiednio: 8, 16, 32, 64 bitów, tzw. bajt, słowo,
podwójne i poczwórne słowo
SINT, INT, DINT, LINT
dane reprezentujące liczby całkowite, typy różnią się zakresem wartości
REAL, LREAL
dane reprezentujące liczby rzeczywiste, typy różnią się zakresem
TIME
dane odpowiadają czasowi trwania, wykorzystywane np. przez timery
STRING
dane przeznaczone do przechowywania ciągów znaków
Rys.7. Wybrane elementarne typy danych.
Zmienne reprezentujące dane z modułów wejściowych i wyjściowych muszą odwoływać się do obszarów
pamięci w których dane te są przechowywane. Norma wprowadza szereg symboli określających położenie i
rozmiar zmiennej:
I, Q, M – zmienna ulokowana w obszarze: danych wejściowych, wyjściowych, w pamięci,
X, B, W, D, L – zmienna o rozmiarze jednego: bitu, bajtu, słowa, podwójnego i poczwórnego słowa,
Dodatkowo: położenie (tzn. adres zmiennej) poprzedzane jest znakiem %, a brak symbolu oznaczającego
rozmiar oznacza, że zmienna ma rozmiar 1 bitu, np.:
%IX2 lub %I2 – 2 bit wejścia, %Q1 – 1 bit wyjścia.
"
Sterowniki programowalne f.1/14
PLC – język listy instrukcji IL
Język listy instrukcji IL jest odpowiednikiem języka niskiego poziomu jakim jest asembler. Asembler do
wykonywania rozkazów wykorzystuje akumulator procesora: rezultat operacji arytmetyczno–logicznej trafia
do akumulatora, następna operacja może korzystać z wyników operacji poprzedniej korzystając z danych
zapisanych w akumulatorze. Język IL wykorzystuje tzw. wynik bieżący (CR, ang. Current Result), który jest
odpowiednikiem akumulatora.
Pojedyncza instrukcja języka IL składa się z operatora i argumentu (nazywanego także operandem). Norma
zwiera wykaz dozwolonych operatorów instrukcji. Argumentami instrukcji są dane, których wartości są
podawane wprost lub są wartościami zmiennych.
.
Wybrane operatory IL Opis
LD
LD x – zapisuje (tzn. ładuje, ang. LoaD) wartość argumentu x do CR
ST
ST x – przepisuje (tzn. składuje, ang. STore) wartość CR do argumentu x
AND
AND x – wyznacza wartość iloczynu logiczny CR and x, a wynik umieszcza w CR
OR
OR x – wyznacza wartość sumy logicznej CR or x, a wynik umieszcza w CR
Rys.8. Wybrane operatory języka IL (w opisie przyjęto, że operandem instrukcji jest zmienna o nazwie x).
Operatory AND i OR mogą występować również w wersji ANDN i ORN
argument instrukcji przed wykonaniem operacji logicznej jest w tym
przypadku wcześniej negowany.
Do budowy zagnieżdżonych wyrażeń wykorzystywane są:
AND(, ANDN(, OR(, ORN( oraz ).
"
LD x1
AND( x2
 y = x1∙ (x2+x3)
OR x3
)
ST y
Sterowniki programowalne f.1/15
PLC – język listy instrukcji IL
moduł wejściowy
%I1
%I2
%I3
…
moduł wyjściowy
%Q1
…
pamięć danych
mikroprocesor
dane
wejściowe
adres
stan
%I1
1
%I2
1
%I3
1
…
…
jednostka
arytmetyczno
logiczna
dane
wyjściowe
adres
stan
%Q1
0
…
…
akumulator
1
licznik rozkazów
001
rejestr rozkazów
ANDN %I2
pamięć programu
program
adres
rozkaz
000 LD %I1
001 ANDN %I2
002 OR( %I1
003 AND %I3
004 )
005 ST %Q1 …
…
…
Rys. 9. Realizacja programu w języku IL: %Q1 = %I1 ∙ %I2 + %I1 ∙ %I3.
LD %I1
ANDN %I2
OR( %I1
AND %I3
)
ST %Q1
"
do CR (na rys. akumulator) trafia stan pierwszego bitu z wejścia, tzn. 1
operacja „CR AND %I2” (1 AND 1) daje nową wartość CR = 0
wykonywana jest operacja OR, ale jej argument należy najpierw wyliczyć, do
pomocniczego rejestru (CR1) trafia stan pierwszego bitu z wejścia, tzn. 1
operacja „CR1 AND %I3” (1 AND 1) daje nową wartość CR1 = 1
można dokończyć obliczanie operacji OR, obliczony argument ma wartość CR1=1,
więc operacja „CR OR CR1” (0 OR 1) daje nową wartość CR = 1,
wartość „1” jest przepisywana do pierwszego bitu z wyjścia.
Sterowniki programowalne f.1/16
PLC – język funkcjonalnych schematów blokowych FBD
Język funkcjonalnych schematów blokowych FBD pozwala na zapis programu w postaci powiązanych ze
sobą liniami przepływu sygnałów, bloków operacji logicznych – jest wzorowany na schematach logicznych.
Obok bloków operacji logicznych w języku można wykorzystywać również bloki funkcjonalne
przerzutników, timerów, liczników.
Wybrane
Opis
bloki FBD
wartość zmiennej wyjściowej bloku jest iloczynem logicznym (AND) zmiennych
&
wejściowych
≥1
wartość zmiennej wyjściowej bloku jest sumą logiczną (OR) zmiennych wejściowych
zmienna wyjściowa jest równa negacji (NOT) zmiennej wejściowej
SR
RS
wartość zmiennej wyjściowej przerzutnika z wejściem wpisującym S (Set) i zerującym R
(Reset) zależy od wartości zmiennych wejściowych,
jeśli S = 1 i R = 0 to wyjście = 1; jeśli S = 0 i R = 1 to wyjście = 0;
jeśli S =0 i R = 0 to wartość na wyjściu nie zmienia się;
przerzutnik z dominującym wejściem wpisującym (SR) dla S = 1 i R = 1 ma wyjście = 1;
przerzutnik z dominującym wejściem zerującym (RS) dla S = 1 i R = 1 ma wyjście = 0
Rys. 10. Wybrane bloki funkcjonalne języka FBD.
Wejścia i wyjścia bloków realizujących operacje logiczne mogą być negowane poprzez wprowadzanie
symbolu „○” na odpowiednich wejściach czy wyjściu.
"
Sterowniki programowalne f.1/17
PLC – przykładowe zadanie
Przykład 1. Układ steruje dwiema zwrotnicami z1 i z2 urządzenia sortującego kierującego produkowane
detale do jednego z trzech pojemników.
Przed przesunięciem detalu do odpowiedniego pojemnika, badane są przy pomocy odpowiednich czujników
trzy cechy (a, b, c) każdego z nich. Każdy z czujników sygnalizuje zbadaną przez siebie cechę jedną z dwóch
wartości (1 – wartość prawidłowa, 0 – wartość nieprawidłowa). Sygnały z czujników monitorujących cechy
a, b i c odbierane są kolejno na pierwszym, drugim i trzecim wejściu modułu wejść cyfrowych.
Detale o conajmniej dwóch nieprawidłowych cechach kierowane są do pojemnika I (z1 = 1, z2 = 1), detale o
wszystkich prawidłowych cechach do pojemnika II (z1 = 0, z2 = 1), a pozostałe detale do pojemnika III
(z1 = 0, z2 = 0). Sygnałami sterującymi położeniami zwrotnic są odpowiednio sygnał z pierwszego i drugiego
wyjścia modułu wyjść cyfrowych.
a)
b)
c)
a b c
bc
bc
z1 = 1
z2 = 1
a
00 01 11 10
a
00 01 11 10
pojemnik III
z1 = 0
z2 = 0
0
1 1 0 1
0
1 1 0 1
1
1
0
0
0
1
1
0
1
0
pojemnik I pojemnik II
z1  b c  a b  a c
z2  z1  a b c
Rys. 11. Ilustracja zadania a) schemat urządzenia sortującego, c) i d) tablice Karnaugha zwrotnicy z 1 i z2.
Zgodnie z normą, dostęp do danych z czujników umożliwiają zmienne o adresach:
%I1 (cecha a), %I2 (cecha b) i %I3 (cecha c).
Stan sygnałów wyjściowych zależy od stanu zmiennych %Q1 (zwrotnica z1) i %Q2 (zwrotnica z2).
"
Sterowniki programowalne f.1/18
PLC – język funkcjonalnych schematów blokowych FBD
z2  z1  a b c
z1  b c  a b  a c
&
%I2
%I3
&
%I2
%I3
&
%I1
%I2
&
%I1
%I2
&
%I1
%I3
&
%I1
%I3
≥1
≥1
%Q1
%Q1
%I1
%I2
%I3
&
≥1
%Q2
%I1
%I2
%I3
&
%Q1
≥1
%Q2
Rys. 12. Dwa równoważne programy sterowania zwrotnicami układ z przykładu 1. w języku FBD.
"
Sterowniki programowalne f.1/19
PLC – język schematów drabinkowych LD
Język schematów drabinkowych LD jest odpowiednikiem schematów (obwodowych, drabinkowych) układów
cyfrowych realizowanych w technologii stykowo – przekaźnikowej, dodatkowo język pozwala na
wykorzystywanie funkcji realizujących operacje arytmetyczne, logiczne, porównania oraz bloków
funkcjonalnych realizujących zadania przerzutników, timerów, liczników.
Schemat drabinkowy jest ograniczony z lewej i prawej strony „szynami prądowymi” (prawa szyna zwykle
nie jest rysowana). Lewa i prawa szyna połączone są „szczeblami”. Każdy szczebel odpowiada odrębnemu
obwodowi prądowemu, w którym przepływ prądu zależy od stanu elementów tego obwodu. Podstawowymi
elementami schematów są: zestyki zwierne i rozwierne oraz cewki.
Wybrane
elementy LD
Opis
zestyk zwierny (normalnie otwarty) – przepływ prądu przez element zależy od stanu
skojarzonej z nim zmiennej, prąd przepływa przez element jeżeli zmienna ma wartość 1
zestyk rozwierny (normalnie zamknięty) – przepływ prądu przez element zależy od stanu
skojarzonej z nim zmiennej, prąd przepływa przez element jeżeli zmienna ma wartość 0
cewka – jeżeli linia z lewej strony cewki jest „pod prądem” to skojarzona z cewką
zmiennna otrzymuje wartość 1, w przeciwnym przypadku wartość 0
Rys. 13. Wybrane elementy języka LD.
"
Sterowniki programowalne f.1/20
PLC – język schematów drabinkowych LD
Połączenie szeregowe kilku zestyków odpowiada koniunkcji zmiennych skojarzonych z tymi zestykami,
połączenie równoległe odpowiada alternatywie odpowiednich zmiennych.
Kolejne szczeble drabiny języka LD przetwarzane są od góry do dołu, a pojedynczy szczebel od strony lewej
do prawej.
a)
b)
%I2
%I3
z1  b c  a b  a c
b
a
a
c
b
c
z2  z1  a b c
a
%I2
%I1
%I3
%I1
%I2
%Q1
z1
b
c
Z1
%I1
%I3
%Q2
Z2
%Q1
Rys. 14. Układ sterowania zwrotnicami z przykładu 1. a) w postaci schematu obwodowego układu w
technologii stykowo – przekaźnikowej, b) w języku LD.
"
Sterowniki programowalne f.1/21