plc, programowalne sterowniki logiczne plc, programowalny...
TRANSCRIPT
" Sterowniki programowalne f.1/1
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/2
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/3
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.
Wykorzystując powyższy układ, wartość przykładowego wyrażenia:
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.
iop ia ib y
0 0 0 a b
0 0 1 a b
0 1 0 a b
0 1 1 a b
1 0 0 a + b
1 0 1 a + b
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.
&
&
≥1
≥1 ≥1
≥1
&
ia ib iop a b
y
321 xxxy
≥1
" Sterowniki programowalne f.1/4
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ć.
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:
można wyznaczyć podając na wejście układu sygnały:
- OR = 1, ORN = AND = ANDN = 0, a = x1,
- ANDN = 1, OR = ORN = AND = 0, a = x2,
- OR = 1, ORN = AND = ANDN = 0, a = x3.
PLC, koncepcja
≥1&
&
&
&≥1
OR ORN AND ANDN a
SR
s
r
y
s r Q
0 0 q
1 0 1
0 1 0
1 1 –
q→Q s r
0→0 0 –
0→1 1 0
1→0 0 1
1→1 – 0
321 xxxy
wykonanie operacji OR x1 prowadzi do zapamiętania
pierwszego argumentu obliczanego wyrażenia
y + 0 = y, y ∙0 = 0
y + 1 = 1, y ∙1 = y
" Sterowniki programowalne f.1/5
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ć:
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.
321 xxxy
OR x1
ANDN x2
OR x3
" Sterowniki programowalne f.1/6
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/7
Architektura sterownika – procesor
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.
…
OR x1
ANDN x2
OR x3…
pamięć
zeg
ar
licznik rozkazów
rejestr rozkazów
układ sterowania
jednostka arytmetyczno-logiczna
dekoderrozkazów
układ wykonawczy
akumulator
" Sterowniki programowalne f.1/8
PLC – architektura
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.
mo
du
ł w
ejść
mik
rop
roce
sor
mo
du
ł w
yjść
pamięć
program użytkownikaobiekt
sterownik PLC
dane
magistrala sterownika
obiekt
programator,
komputerProgramator lub komputer
jest wykorzystywany do
programowania i testowania
sterownika.
mikroprocesor to procesor
zminiaturyzowany do
pojedynczego układu scalonego
" Sterowniki programowalne f.1/9
PLC – architektura
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)
Rys. 5. Sterownik a) kompaktowy i b) modułowy.
CPUzasilanie
wejścia
wyjścia
CPUza
sila
cz
moduły wejść i wyjśćcyfrowych
moduły wejść i wyjśćanalogowych
moduł specjalizowany
" Sterowniki programowalne f.1/10
PLC – producenci
Rys.6. Rodziny sterowników największych producentów.
Źródło: Jerzy Kasprzyk, Programowanie sterowników przemysłowych, WNT, Warszawa 2006
ProducentPrzekaźniki
inteligentne
Sterowniki
małe średnie duże
Siemens Logo SIMATIC S7-200 SIMATIC S7-300 SIMATIC S7-400
Schneider
ElectricZelio
Nano
Micro
Twido
Premium
Compact
Momentum
Quantum
GE Fanuc VersaMax-Nano VersaMax-Micro
90-30
VersaMax
PACSystems RX3i
90-70
PACSystems RX7i
Mitsubishi
ElectricALPHA
MELSEC FX1
FX2MELSEC QnAS
MELSEC QnA
MELSEC System Q
OmronCPM1, CPM2,
CQM1H
C200H-alpha
CJ1, CS1CVM1
Rockwell
Automation
(Allen-Bradley)
Pico MicroLogix
SLC500
FlexLogix
ControlLogix
PLC-5
" Sterowniki programowalne f.1/11
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/12
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/13
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/14
PLC – metody programowania (norma IEC 61131-3)
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.
Wybrane typy elementarne Opis
BOOLdane boolowskie, o rozmiarze 1 bitu, mogą przyjmować wartości TRUE
i FALSE (1 i 0, prawda i fałsz)
BYTE, WORD, DWORD, LWORDdane 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
" Sterowniki programowalne f.1/15
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.
.
Rys.8. Wybrane operatory języka IL (w opisie przyjęto, że operandem instrukcji jest zmienna o nazwie x).
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
LD x1
AND( x2
OR x3
)
ST y
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 ).
y = x1∙ (x2+x3)
" Sterowniki programowalne f.1/16
Rys. 9. Realizacja programu w języku IL: %Q1 = %I1 ∙ %I2 + %I1 ∙ %I3.
do CR (na rys. akumulator) trafia stan pierwszego bitu z wejścia, tzn. 1
PLC – język listy instrukcji IL
pamięć programupamięć danych
program
adres rozkaz
000 LD %I1
001 ANDN %I2
002 OR( %I1
003 AND %I3
004 )
005 ST %Q1 …
… …
dane
wejściowe
adres stan
%I1 1
%I2 1
%I3 1
… …
dane
wyjściowe
adres stan
%Q1 0
… …
moduł wejściowy
%I1
%I2
%I3
…
moduł wyjściowy
%Q1
…
jednostka arytmetyczno
logiczna
mikroprocesor
rejestr rozkazówANDN %I2
licznik rozkazów001
akumulator1
LD %I1
ANDN %I2
OR( %I1
AND %I3
)
ST %Q1
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 „CR AND %I2” (1 AND 1) daje nową wartość CR = 0
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,
operacja „CR1 AND %I3” (1 AND 1) daje nową wartość CR1 = 1
wartość „1” jest przepisywana do pierwszego bitu z wyjścia.
" Sterowniki programowalne f.1/17
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.
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.
Wybranebloki FBD
Opis
wartość zmiennej wyjściowej bloku jest iloczynem logicznym (AND) zmiennychwejściowych
wartość zmiennej wyjściowej bloku jest sumą logiczną (OR) zmiennych wejściowych
zmienna wyjściowa jest równa negacji (NOT) zmiennej wejściowej
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
&
≥1
SR
RS
" Sterowniki programowalne f.1/18
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)
Rys. 11. Ilustracja zadania a) schemat urządzenia sortującego, c) i d) tablice Karnaugha zwrotnicy z1 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).
z1 = 0
z1 = 1a b c
pojemnik III
pojemnik I
z2 = 0
pojemnik II
z2 = 1bc
a 00 01 11 10
0 1 1 0 1
1 1 0 0 0
bc
a 00 01 11 10
0 1 1 0 1
1 1 0 1 0
cabacbz 1 cbazz 12
" Sterowniki programowalne f.1/19
PLC – język funkcjonalnych schematów blokowych FBD
Rys. 12. Dwa równoważne programy sterowania zwrotnicami układ z przykładu 1. w języku FBD.
cabacbz 1cbazz 12
≥1&%I1%I2%I3
%Q1
&%I2
%I3
&%I1
%I3
&%I1
%I2
≥1
%Q1
%Q2
&%I2
%I3
≥1
&%I1
%I3
&%I1
%I2
≥1
&%I1%I2%I3 %Q2
%Q1
" Sterowniki programowalne f.1/20
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.
Rys. 13. Wybrane elementy języka LD.
Wybrane
elementy LDOpis
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
" Sterowniki programowalne f.1/21
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)
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.
PLC – język schematów drabinkowych LD
cabacbz 1cbazz 12
%I2 %I3
%I1 %I2
%I1 %I3
%Q1
%I1 %Q2%I2 %I3
%Q1
c
b
c
Z1
b
a az1
Z2
c
b
a