21
" 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.

PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

Embed Size (px)

Citation preview

Page 1: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 2: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 3: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 4: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 5: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 6: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 7: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 8: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 9: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 10: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 11: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 12: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 13: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 14: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 15: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 16: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

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

Page 17: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 18: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 19: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 20: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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

Page 21: PLC, Programowalne sterowniki logiczne PLC, Programowalny ...staff.uz.zgora.pl/ipajak/materials/ar-z/wyklad02.pdf · International Electrotechnical Commision), ... faza 3.), tryb

" 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