wprowadzenie do automatyki
TRANSCRIPT
" Zautomatyzowane systemy produkcyjne
Zautomatyzowane systemy produkcyjne
Wprowadzenie do automatyki
Programowalne układy logiczne
" Zautomatyzowane systemy produkcyjne s.3-2
PLC – programowane sterowniki logiczne
Sterowniki programowalne powstały jako próba zastąpienia tradycyjnych układów
stałoprogramowych przetwarzających sygnały wejściowe w wyjściowe zgodnie z
programem określonym przez wykorzystane 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). Układy stałoprogramowe realizują zadania, które mogą
być zapisane w postaci równań logicznych.
Programowalny sterownik logiczny (ang. Programmable Logic Controller, PLC) to
wyspecjalizowane urządzenie mikroprocesorowe wyposażone w programowalną pamięć,
sterownik realizuje zadanie sterowania wykonując cyklicznie program umieszczony w
swojej pamięci.
Standard PLC opisuje norma IEC 61131 opracowana w latach dziewięćdziesiątych XXw.
przez Międzynarodową Komisję Elektrotechniki (International Electrotechnical
Commision, IEC). Norma 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”.
" Zautomatyzowane systemy produkcyjne s.3-3
Budowa PLC
Klasyfikacja ze względu na budowę
▪ sterowniki kompaktowe – mają sztywną architekturę w jednej obudowie umieszczone
są zasilacz, jednostka centralna CPU (mikroprocesor + pamięć), moduły wejść i wyjść
(zwykle cyfrowych),
▪ sterowniki modułowe – mają architekturę elastyczną, składają się z modułów, które
mogą być dowolnie łączone i konfigurowane,
▪ sterowniki kompaktowo–modułowe – sterowniki kompaktowe, które mogą być
rozbudowywane.
Klasyfikacja ze względu na możliwości
▪ przekaźniki inteligentne – najmniejsze sterowniki, które mogą obsługiwać do kilkunastu
wejść cyfrowych (rzadziej analogowych),
▪ 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 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ść.
" Zautomatyzowane systemy produkcyjne s.3-4
Rodziny sterowników największych producentów
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
" Zautomatyzowane systemy produkcyjne s.3-5
Przykłady sterowników PLC
Sterowniki Siemens: LOGO, S7-300 i panele HMI
" Zautomatyzowane systemy produkcyjne s.3-6
Architektura PLC
Zasada działania sterownika
▪ sygnały z czujników kontrolowanego obiektu (procesu) zamieniane są w modułach
wejściowych na sygnały cyfrowe akceptowane przez sterownik i zapamiętywane w
obszarze pamięci danych wejściowych,
▪ mikroprocesor przetwarza program obliczając na podstawie danych wejściowych
wartości sygnałów wyjściowych i zapisuje je w pamięci danych wyjściowych,
▪ moduły wyjściowe korzystając z danych wyjściowych generują sygnały dla urządzeń
wykonawczych.
mod
uł
wej
ść
mik
rop
roce
sor
moduł
wyj
ść
pamięć
program użytkownikaobiekt
sterownik PLC
dane
magistrala danych
obiekt
programator
(komputer)
" Zautomatyzowane systemy produkcyjne s.3-7
Cykl programowy PLC
Sterownik wykonuje działania w sposób cykliczny realizując tzw. cykl programowy
sterownika. Na cykl pracy składają się fazy:
▪ inicjalizacja (operacje niezbędne do rozpoczęcia cyklu, obliczany jest czas cyklu,
uaktualniane są tablice błędów, zerowany zegar resetujący),
▪ odczyt danych wejściowych (dane z modułów wejściowych wprowadzane są do
pamięci sterownika),
▪ wykonanie programu (realizacja programu użytkownika),
▪ zapisu danych wyjściowych (dane wyjściowe wysyłane są do modułów wyjściowych),
▪ komunikacja z urządzeniami zewnętrznymi (przetwarzane są żądania nadesłane
przez programator i wyspecjalizowane moduły),
▪ diagnostyka (kontrola konfiguracji sterownika i weryfikacja programu użytkownika).
Cykl programowy zwykle trwa od ułamka do kilkudziesięciu milisekund. W przypadku
przekroczenia dopuszczalnego czasu (zwykle od 100 do 500 ms) cykl jest przerywany i
rejestrowany jest błąd przekroczenia czasu.
" Zautomatyzowane systemy produkcyjne s.3-8
Jednostka centralna PLC
Jednostka centralna, procesor, 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. Ciąg rozkazów tworzy tzw. program.
Czynności które wykonuje procesor w trakcie realizacji pojedynczego rozkazu nazywane
są cyklem rozkazowym.
Podstawowe układy procesora
❑ układ sterowania (zarządza pracą pozostałych bloków), składniki:
▪ licznik rozkazów – rejestr (układ do przechowywania informacji) w którym
przechowywany jest adres (miejsce w pamięci) kodu następnego rozkazu,
▪ rejestr rozkazów – rejestr do którego układ sterowania przepisuje z pamięci kod
rozkazu, który powinien być wykonany w bieżącym cyklu rozkazowym,
▪ dekoder rozkazów – zamienia rozkazy na wartości sygnałów sterujących,
❑ układ wykonawczy (zajmuje się realizacją rozkazów), składniki:
▪ jednostka arytmetyczno–logiczna – wykonuje operacje arytmetyczno–logiczne,
wyniki przechowuje w akumulatorze,
▪ akumulator – rejestr procesora służący do chwilowego przechowywania wyników
ostatnio wykonanej operacji.
" Zautomatyzowane systemy produkcyjne s.3-9
Jednostka centralna PLC
Cykl rozkazowy procesora:
▪ faza pobrania rozkazu: na podstawie adresu z licznika rozkazów pobierany jest kod
rozkazu i zapamiętywany w rejestrze rozkazów; pobrany rozkaz jest dekodowany w
dekoderze rozkazów, a wartość licznika przenoszona jest na adres następnego
rozkazu,
▪ faza wykonania rozkazu: układ sterowania wysyła zdekodowany rozkaz na wejście
jednostki arytmetyczno – logicznej, wynik operacji trafia do akumulatora.
pamięć
program
użytkownika
dane
licznik rozkazów
rejestr rozkazów
dekoderrozkazów
układ sterowania
jednostka arytmetyczno-logiczna akumulator
układ wykonawczy
procesor
" Zautomatyzowane systemy produkcyjne s.3-10
Programowanie sterowników PLC
Norma IEC 61131 definiuje dwie grupy języków programowania:
Języki tekstowe
▪ język listy instrukcji IL (ang. Instruction List) – odpowiednik języka niskiego poziomu
(asemblera), którego instrukcje bazują na liście rozkazów procesora.
▪ język tekstu strukturalnego ST (ang. Structured Text) – odpowiednik języka
wysokiego poziomu, zawiera podobny zestaw instrukcji jak Pascal czy C.
Języki graficzne
▪ LD język schematów drabinkowych (ang. Ladder Diagram) oparty na schematach
układów cyfrowych realizowanych w technologii stykowo–przekaźnikowej,
▪ FBD język funkcjonalnych schematów blokowych (ang. Function Block Diagram)
oparty na schematach stosowanych do opisu układów logicznych wykorzystujących
bramki logiczne, przerzutniki, timery, liczniki.
▪ SFC język sekwencyjnego schematu funkcjonalnego (ang. Sequential Function
Chart) oparty na strukturze sieci Petriego.
" Zautomatyzowane systemy produkcyjne s.3-11
Struktura programu
Każde zadanie sterowania stanowi tzw. projekt. Program użytkowy rozwiązujący
określone zadanie może składać się z oddzielnych modułów oprogramowania
nazywanych jednostkami organizacyjnymi oprogramowania (POU, ang. Program
Organization Units). Rozbicie programu użytkownika na jednostki organizacyjne
poprawia czytelność programu i umożliwia ponowne użycie kodu (wykorzystanie
jednostki organizacyjnej w innych projektach).
Zgodnie z normą IEC 61131 jednostkami organizacyjnymi oprogramowania są:
▪ funkcje – wyznaczają wartość argumentu wyjściowego na podstawie argumentów
wejściowych, wejście jednoznacznie określa wartość wyjścia,
▪ bloki funkcjonalne – posiadają „pamięć”, wartość argumentu wyjściowego nie wynika
tylko z wartości wejść, zależy również od stanu „pamięci”,
▪ programy – podstawowe jednostki organizacyjne programu użytkowego, mają dostęp
do wejść i wyjść sterownika, mogą udostępniać te wartości innym POU, odpowiadają
„programowi głównemu” w klasycznych językach programowania.
Norma zakłada, że pojedyncza jednostka organizacyjna musi być zaprogramowana w
jednym języku programowania.
" Zautomatyzowane systemy produkcyjne s.3-12
Zmienne
Zmienne są używane przez jednostki organizacyjne programu (POU) do
przechowywania i przetwarzania danych. Każda zmienna odpowiada pewnej informacji
umieszczonej w strukturze wejść, wyjść lub w pamięci sterownika.
Zmienna prosta (skalarna, jednoelementowa) to pojedyncza wartość należąca do typu
elementarnego (liczba, znacznik czasu). Zmienne proste mogą być przedstawione
symbolicznie (poprzez nazwę) lub reprezentowane bezpośrednio poprzez określenie ich
położenia (odwołanie do wejścia/wyjścia lub komórki pamięci).
Zmienna prosta reprezentowana bezpośrednio
%<położenie><rozmiar><adres>
<położenie> określa obszar pamięci w którym jest umieszczona zmienna:
I – wejście, Q – wyjście, M – obszar danych.
<rozmiar> określa liczbę bitów, które zmienna zajmuje: X – bit, B – bajt (8 bitów),
W – słowo (16 bitów), D – podwójne słowo (32 bity), L – poczwórne słowo (64 bity).
<adres> to ciąg liczb całkowitych rozdzielonych kropkami, które określają położenie
zmiennej w danym obszarze pamięci sterownika, kolejne pola są interpretowane jako
hierarchiczny sposób adresacji, pierwsze pole od lewej oznacza poziom najwyższy
(adres zależy od urządzenia i jego konfiguracji).
" Zautomatyzowane systemy produkcyjne s.3-13
Bezpośrednie adresowanie zmiennych
1. %IX1.2 – drugi bit modułu wejściowego umieszczonego w pierwszym gnieździe
2. %IX2.3 – trzeci bit modułu wejściowego umieszczonego w drugim gnieździe
3. %IX2.5 – piąty bit modułu wejściowego umieszczonego w drugim gnieździe
4. %QX4.4 – czwarty bit modułu wyjściowego umieszczonego w czwartym gnieździe.
12345678
XBI8
12345678
XBO8
12345678
XBO824V DC
zasilacz sterownik slot I slot II slot III slot IV
moduły wejścia moduły wyjścia
12345678
XBI8
1 2 3 4
" Zautomatyzowane systemy produkcyjne s.3-14
Deklaracja zmiennych symbolicznych
VAR
<nazwa> AT<lokalizacja>: <typ> := <wartość>;
END_VAR
<nazwa> to unikalny ciąg znaków identyfikujący zmienną (litery alfabetu angielskiego,
cyfry, podkreślenie, nie może zaczynać się od cyfry),
<lokalizacja> określa położenie zmiennej zgodnie z zasadami adresowania
bezpośredniego (opcjonalna),
<typ> określa rodzaj i zakres wartości, które może przyjmować zmienna:
BOOL – zmienne boolowskie, BYTE, WORD, DWORD, LWORD – słowo 8, 16, 32 i 64-
bitowe, INT – liczby całkowite, REAL – liczby rzeczywiste,
<wartość> określa początkową wartość zmiennej (opcjonalna)
Przykład
VAR
a: BOOL := 1; (*zm. boolowska inicjowana 1*)
b AT%IX1.2: BOOL; (*zm. boolowska, I slot, 2 bit wejścia*)
x, y, z: INT; (*trzy zmienne całkowite*)
END_VAR
" Zautomatyzowane systemy produkcyjne s.3-15
Język schematów drabinkowych LD
Język LD (ang. Ladder Diagram – schemat drabinkowy) należy do grupy języków
graficznych i jest odpowiednikiem układów cyfrowych realizowanych w technologii
stykowo-przekaźnikowej.
Program w języku LD jest tworzony jako zbiór elementów połączonych w obwody.
Wykonanie programu polega na przepływie sygnału przez kolejne obwody analogicznie
do przepływu prądu w obwodzie zbudowanym z przekaźników.
Elementy obwodów w języku LD
lewa szyna prądowa – ogranicza obwód z lewej strony
prawa szyna prądowa – ogranicza obwód z prawej strony (opcjonalna)
połączenie poziome i pionowe
zestyk zwierny (normalnie otwarty) – sygnał przepływa przez element gdyskojarzona z nim zmienna ma wartość 1
zestyk rozwierny (normalnie zamknięty) – sygnał przepływa przez elementgdy skojarzona z nim zmienna ma wartość 0
cewka – stan połączenia z lewej strony cewki (0 lub 1) jest przenoszony naprawą stroną i zapamiętywany w skojarzonej zmiennej
***
***
***
" Zautomatyzowane systemy produkcyjne s.3-16
Język LD – koniunkcja
VAR
a AT%IX1.1: BOOL; (*pierwszy sygnał wejściowy*)
b AT%IX1.2: BOOL; (*drugi sygnał wejściowy*)
z AT%QX2.1: BOOL; (*sygnał wyjściowy*)
END_VAR
𝑧 = 𝑎 𝑏
( )a b z
a bz
TRUE TRUE TRUE
Żarówka zapala się po naciśnięciu przycisków a i b
" Zautomatyzowane systemy produkcyjne s.3-17
Język LD – alternatywa
VAR
a AT%IX1.1: BOOL; (*pierwszy sygnał wejściowy*)
b AT%IX1.2: BOOL; (*drugi sygnał wejściowy*)
z AT%QX2.1: BOOL; (*sygnał wyjściowy*)
END_VAR
𝑧 = 𝑎 + 𝑏
a
b
zTRUE
Żarówka zapala się po naciśnięciu
przycisku a lub b
a
b
TRUE
( )z
" Zautomatyzowane systemy produkcyjne s.3-18
Język LD – negacja
VAR
a AT%IX1.1: BOOL; (*pierwszy sygnał wejściowy*)
z AT%QX2.1: BOOL; (*sygnał wyjściowy*)
END_VAR
𝑧 = ത𝑎
( )a z
a z
Żarówka zgaśnie po naciśnięciu przycisku a
" Zautomatyzowane systemy produkcyjne s.3-19
Przykład 1. – program w języku LD
VAR
a AT%IX1.1: BOOL; b AT%IX1.2: BOOL; c AT%IX1.3: BOOL;
z AT%QX2.1: BOOL;
END_VAR
Kanoniczna post. dysjunkcyjna
cbacbacbaz ++=
Kanoniczna post. koniunkcyjna
)()()()()( cbacbacbacbacbaz ++++++++++=
a zcb
a b c
a b c
Minimalna postać dysjunkcyjna
abacz +=
a
b
c
a
b
a
c
a
b
cc
b
c
b
c z
a
a
zc
b
a zb
c
( )cbaz +=
Minimalna postać koniunkcyjna
" Zautomatyzowane systemy produkcyjne s.3-20
Przykład 2. – program w języku LD
VAR
a AT%IX1.1: BOOL; b AT%IX1.2: BOOL; c AT%IX1.3: BOOL;
z1 AT%QX2.1: BOOL; z2 AT%QX2.1: BOOL;
END_VAR
Minimalna postać dysjunkcyjna
b
z1
ca
a cb
a b c
z2cb
Minimalna postać koniunkcyjna
bcz
cabbcacbaz
=
++=
2
1
a
b
z2cb
b
c
a
b
c
z1a
c
( )( )( )( )bcz
cbacacbbaz
=
+++++=
2
1
" Zautomatyzowane systemy produkcyjne s.3-21
Język funkcjonalnych schematów blokowych FBD
Język FBD (ang. Function Block Diagram) należy do grupy języków graficznych, jest
wzorowany na opisie układów cyfrowych przy pomocy schematów logicznych.
Program w języku FBD jest tworzony jako zbiór bloków funkcyjnych połączonych w
obwody. Wykonanie programu polega na przepływie sygnału przez kolejne bloki
analogicznie do przepływu prądu (gazu, cieczy) w układzie zbudowanym z
elektronicznych (pneumatycznych, hydraulicznych) elementów logicznych.
Elementy obwodów w języku FBD
połączenie
połączenie z negacją
koniunkcja (iloczyn logiczny) sygnałów wejściowych
alternatywa (suma logiczna sygnałów wejściowych
negacja sygnału wejściowego
& AND
≥1 OR
NOT
" Zautomatyzowane systemy produkcyjne s.3-22
Przykład 1. – program w języku FBD
VAR
a AT%IX1.1: BOOL; b AT%IX1.2: BOOL; c AT%IX1.3: BOOL;
z AT%QX2.1: BOOL;
END_VAR
Kanoniczna post. dysjunkcyjna
cbacbacbaz ++=
Minimalna postać dysjunkcyjna
abacz +=
( )cbaz +=
Minimalna postać koniunkcyjna
ANDa
c
ANDa
b
ORz
ORb
c
aAND
z
ANDa
b
c
ANDa
c
ANDa
b
c
ORz
NOTb
" Zautomatyzowane systemy produkcyjne s.3-23
Przykład 2. – program w języku FBD
VAR
a AT%IX1.1: BOOL; b AT%IX1.2: BOOL; c AT%IX1.3: BOOL;
z1 AT%QX2.1: BOOL; z2 AT%QX2.1: BOOL;
END_VAR
Minimalna postać dysjunkcyjna
bcz
cabbcacbaz
=
++=
2
1
Minimalna postać koniunkcyjna
( )( )( )( )bcz
cbacacbbaz
=
+++++=
2
1
ANDa
b
c
ORz1
ANDa
c
b
ANDa
b
c
ANDb
c
z2AND
b
c
z2
ORb
c
ANDz1
ORa
b
ORa
b
c
ORb
c