Sterowniki PLC.doc

(124 KB) Pobierz
Sterowniki PLC (Programmable Logic Controller) są to takie sterowniki, których sposób działania w postaci programu jest pamięt

Sterowniki PLC (Programmable Logic Controller) są to takie sterowniki, których sposób działania w postaci programu jest pamiętany w sterowniku. Jedne z pierwszych prawdziwych sterowań programowalnych ze specjalnym do tego zakresu dobranym rozwiązaniem sprzętowym (hardware) zostały zaoferowane przez Firmę Siemens w 1975 roku. Był to system sterowania SIMATIC S 3. W latach 1978/79 został zastąpiony przez system SIMATIC S 5, produkowany do dziś, choć jest już oferowany system SIMATIC S 7. W porównaniu układów automatyki przekaźnikowej (stykowej) ze sterownikami PLC - zwykłe układy automatyki przemysłowej, zbudowane są w oparciu o połączone układem styków okablowane elementy przełączne takie jak: stycznik, przekaźnik, człony czasowe itp. wbudowane do szafy sterowniczej. Okablowanie spełnia tu rolę programu, który jest wykonywany w trakcie pracy urządzenia nim sterowanego. Przy zastosowaniu sterownika PLC odpowiadający funkcji sterowania algorytm, realizowany jest programowo przez wyposażony w mikroprocesor sterownik

Zasada działania sterowników PLC:Podstawową zasadą pracy sterowników jest praca cykliczna, w której sterownik wykonuje kolejno po sobie pojedyncze rozkazy programu w takiej kolejności, w jakiej są one zapisane w programie. Na początku każdego cyklu program odczytuje "obraz" stanu wejść sterownika i zapisuje ich stany (obraz wejść procesu). Po wykonaniu wszystkich rozkazów i określeniu (wyliczeniu) aktualnego dla danej sytuacji stanu wyjść, sterownik wpisuje stany wyjść do pamięci będącej obrazem wyjść procesu a system operacyjny wysterowywuje odpowiednie wyjścia sterujące elementami wykonawczymi. Tak więc wszystkie połączenia sygnałowe spotykają się w układach (modułach) wejściowych sterownika, a program śledzi ich obraz i reaguje zmianą stanów wyjść w zależności od algorytmu.

15. Projektowanie oprogramowania dla sterowników PLC

Wiele systemów jest sterowanych za pomocą prostych algorytmów tylko poprzez wejścia

binarne (0 - 1). Wyjściami tych systemów też są przeważnie sygnały binarne. Do sterowania takich

układów projektowane są proste układy elektroniczne. Coraz większe zastosowanie znajdują

elektroniczne układy typu ASIC, umożliwiające zaprogramowanie złożonych algorytmów.

Mikrokomputery nazywane sterownikami programowalnymi lub programowalnymi sterownikami

logicznymi PLC (Programmable Logic Controllers) stosowane są do sterowania systemów, dla

których nie istnieje potrzeba archiwizacji i wizualizacji danych.

15.1. Zastosowanie modeli automatowych w projektowaniu systemów cyfrowych

Do opisu

układów przełączających stosujemy metody algebry Boole’a. Rozpatrzmy funkcję

y= f(x1, x2, ... xn), której argumenty i wartość należą do zbioru { 0, 1}. Funkcje takie nazywamy

funkcjami przełączającymi. Funkcję określoną na zbiorze symboli nazywamy funkcją kombinacyjną.

Funkcje kombinacyjne opisują automat bez pamięci.

Etapy syntezy automatu bez pamięci:

1. Podanie zbioru warunków.

2. Uzupełnienie zmiennych w poszczególnych warunkach.

3. Określenie funkcji przełączających dla poszczególnych warunków.

4. Minimalizacja formalna funkcji.

5. Deminimalizacja techniczna, końcowa postać funkcji.

6. Schemat logiczny struktury.

Przykład 15.1.

W systemie zainstalowane są 3 sygnalizatory dwupołożeniowe. Mamy uzyskać sygnał w dwóch

przypadkach:

1) gdy wszystkie zbiorniki osiągną określony poziom,

2) gdy co najmniej dwa dowolne osiągną określony poziom.

Rozwiązanie:

1. Zbiór warunków

Sygnał wyjściowy ma być ustawiony dla następujących warunków:

abc, ab, ac, bc.

5. Minimalizacja techniczna. Tworzymy taki zapis, by każdy układ sumujący lub mnożący miał dwa

wejścia. Istnieją trzy rozwiązania jednym z nich jest y= c(a+b) +bc.

 

Układy kombinacyjne mają ograniczone możliwości, gdyż wiele układów wymaga

uwzględnienia stanu systemu. Dla takich układów stosuje się automaty z pamięcią.

Rozpowszechnienie znalazły automaty Meale'go i Moore'a.

Automat Meale'go:

S(t+1)=

α

( X(t), S(t) )

Y(t)=

λ

( X(t), S(t) )

Automat Moore'a:

S(t+1)=

α

( X(t), S(t) )

Y(t+1)=

λ

( S(t) )

S jest wektorem stanu automatu, X - wektorem wejść, a Y - wektorem wyjść. Zmiana stanu i wyjść

obu automatów ( wyznaczane są przez funkcje

α

i

β

) dokonywana jest w dyskretnych chwilach

czasu.

Techniki projektowania systemów cyfrowych opisane są w wielu podręcznikach, np. [4].

15.2. Sprzętowa realizacja sterowania logicznego

Istnieją rozwinięte techniki szybkiego wytwarzania układów elektronicznych, realizujących określony

program sformułowany przez użytkownika [4]. Program ten jest odwzorowywany w na pewien

uniwersalny moduł elektroniczny.

Określenie ASIC (ang. Application Specific Integrated Circuit) stosuje się ogólnie do wszelkich

układów, projektowanych i konstruowanych specjalnie do zastosowania w jakiejś konkretnej aplikacji.

Koncepcja takich układów pojawiła się wraz z rozwojem technologii VLSI, która pozwala

użytkownikom modyfikować (przykroić) powstający projekt układu scalonego odpowiednio do potrzeb.

Złożoność układu ASIC może się mieścić w szerokim zakresie, od prostej logiki interfejsu aż do

pełnego procesora DSP, RISC, sieci neuronowej czy kontrolera z rozmytą logiką.

Technologia ASIC

Osiągnięte postępy w procesie wytwarzania układów wielkiej skali integracji umożliwiły opracowanie

dwóch zasadniczych technologii ASIC, a mianowacie CMOS i BiCMOS, w których osiągnięto

szerokość ścieżki 0.5

µ

m. W procesie CMOS można wytwarzać układy ASIC zawierające 250000

bramek lub więcej (generalnie bramkę określa się jako pojedynczą bramkę NAND). Z drugiej strony

tablice bramek BiCMOS (zawierające układy bipolarne i CMOS) umożliwiają większą szybkość

działania kosztem bardziej złożonego procesu wytwarzania i mniejszej gęstości upakowania.

Układy ASIC w technologii CMOS są oferowane w postaci macierzy standardowych komórek i

bramek. Wraz ze standardowymi komórkami rdzenie procesorów mogą być łączone z rozmaitymi

blokami pamięci i modułami logicznymi, zapewniając wielką elastyczność. Jednak koszt wytworzenia

prototypu jest znacznie wyższy. Z drugiej strony na macierzach bramek można również projektować

bloki pamięciowe i logiczne. Układ ASIC w technologii CMOS 0.8

µ

m może zawierać do 250000

bramek. W technologii CMOS 0.5

µ

m możliwe jest upakowanie do 600000 użytecznych bramek na

jednej strukturze.

Układ ASIC w technologii BiCMOS zawiera zarówno tranzystory CMOS jak i tranzystory

bipolarne wykorzystując technologię "sea of gates". Robocza częstotliwość przyrządów BiCMOS jest

stosunkowo wysoka (100 MHz) ze względu na (drive) pojemność tranzystorów bipolarnych. Jednak

gęstość upakowania jest mniejsza, przykładowo BiCMOS ASIC może zawierać tylko do 150000

bramek. W technologii BiCMOS 0.5

µ

m można otrzymać układ scalony, zawierający do 300000

użytecznych bramek.

Cyfrowo-analogowe układy ASIC (mixed-signal ASIC) zawierają na tej samej strukturze

zarówno elementy analogowe, jak i cyfrowe, i są ostatnio oferowane przez kilku producentów. Układy

takie dają większe możliwości połączenia w całość złożonego systemu. Te utworzone na poziomie

struktury układu scalonego systemy mogą realizować mieszane zadania analogowo - cyfrowe, które

przedtem mogły być realizowane dopiero na poziomie płytek drukowanych. Elementy analogowe

obejmują wzmacniacze operacyjne, komparatory, przetworniki A/C i C/A, wzmacniacze próbkujące

(sample-and-hold), wzorce napięcia oraz aktywne filtry RC. Elementy logiczne obejmują bramki,

liczniki, rejestry, mikrosekwentery, programowalne macierze logiczne PLA, pamięci RAM i ROM.

Elementy pośredniczące obejmują 8-mio i 16-to bitowe, równoległe porty wejścia/wyjścia oraz

synchroniczne porty szeregowe i układy UART.

Rdzenie RISC i DSP są oferowane przez kilku wytwórców i pozwalają projektować

zindywidualizowane, zaawansowane procesory według metodologii ASIC. Na pojedynczym układzie

scalonym użytkownik może składać jak z klocków kompletne moduły z rdzeni procesorów DSP, RISC,

pamięci oraz modułów logicznych, korzystając z narzędzi CAD. Przykładowo Texas Instruments

oferuje rdzenie DSP w układach rodzin C1x, C2x, C3x i C5x w postaci elementów ASIC. Każdy rdzeń

zaopatrzony jest w schemat, symulacyjny wykres czasowy, schematy rozmieszczenia elementów na

strukturze, oraz w zbiór przebiegów testowych.

Projektowanie układów ASIC

Proces projektowania układu ASIC składa się z trzech zasadniczych etapów:

a) projektu logicznego i symulacji,

b) rozmieszczenia elementów, poprowadzenia i sprawdzenia połączeń, oraz

c) opracowania maski rozkładu i wyprodukowanie prototypu.

Końcowy użytkownik może włączyć się do procesu projektowania wg. różnych schematów,

zwanych "semistandard", „semicustom" oraz "full-custom", zależnie od wymagań konkretnego

zastosowania. W schemacie "semistandard" użytkownik przekazuje swoje propozycje projektowe

producentowi ASIC. Producent modyfikuje projekt układu scalonego zgodnie z przyjętymi

uzgodnieniami.

15.3. Sterowniki programowalne - PLC

W systemach sterowania stosowany jest różny sprzęt komputerowy. Zwykle najniższy poziom struktury

sterowania bazuje na sterownikach programowalnych. W krajach wysoko uprzemysłowionych

programowalne sterowniki logiczne PLC (Programmable Logic Controllers) są podstawowym środkiem

sterowania i automatyzacji wszelkiego typu maszyn i urządzeń technologicznych o binarnej strukturze

funkcjonowania, takich jak obrabiarki, prasy, wtryskarki tworzyw sztucznych, linie zgrzewania,

urządzenia do transportu technologicznego, urządzenia malarskie i galwanizerskie, urządzenia

mieszająco-dozujące, sortujące, ważące itp. Stosuje się je także do automatyzacji całych procesów

technologicznych w hutnictwie, energetyce, przemyśle spożywczym, chemicznym, materiałów

budowlanych itp.

Rozwój systemów programowalnych sterowników logicznych rozpoczął się na początku lat

siedemdziesiątych i trwa do dziś. Na świecie istnieje ponad 100 liczących się firm produkujących kilkaset

modeli sterowników PLC. Największe znaczenie w produkcji i zastosowaniu mają USA, Niemcy, Japonia

i Francja. Większość firm produkuje sterowniki we wszystkich klasach wielkości, z bogatym

wyposażeniem wspomagającym programowanie, testowanie i uruchamianie systemów. Istotnym

zagadnieniem jest szybkie uzyskiwanie prawidłowo działających programów.

Sterowniki spełniają szereg dodatkowych wymagań, których nie spełniają komputery biurowe.

Obostrzone wymagania dotyczą zakresu temperatury pracy, wilgotności, odporności na drgania i

wstrząsy, zapylenie, itp.

Zasada działania sterowników programowalnych

Programowalne sterowniki logiczne, najogólniej definiując, mają strukturę komputerów uniwersalnych,

lecz zorientowane są na procesy sterowania logicznego. Wynikają stąd dwie podstawowe ich

właściwości: programowanie zadań odbywa się z wykorzystaniem specjalnych języków zorientowanych

na zapis funkcji logicznych, a ich budowa jest dostosowana do bezpośredniego połączenia ze

sterowanym obiektem. Wykonywanie programu sterowania polega na szeregowo-cyklicznym

przetwarzaniu rozkazów programu. Kolejne rozkazy są wykonywane szeregowo jeden po drugim, a po

wykonaniu wszystkich cykl jest powtarzany, niezależnie od przebiegu sterowanego procesu

technologicznego. Cykl powtarzania programu jest na tyle szybki, że sterowany obiekt reaguje na

związki logiczne pomiędzy jego wejściami a wyjściami, wynikające z algorytmu jego pracy, tak jakby były

one realizowane równolegle w czasie rzeczywistym.

Bloki układów wejścia/wyjścia służą do elektrycznego dopasowania sygnałów dwustanowych,

pochodzących ze sterowanego obiektu i wysyłanych przez sterownik do obiektu sterowanego. Bloki te

realizują również separację galwaniczną sterownika od obiektu sterowanego, zmniejszając zagrożenie

przed uszkodzeniem i przed zakłóceniami elektrycznymi systemu sterowania. Układy wejścia/wyjścia

umożliwiają bezpośrednie podłączenie sterownika do obiektu sterowanego.

Parametry sterowników programowalnych

Jedną z charakterystycznych cech sterowników jest liczba wejść i wyjść cyfrowych. W

większości zastosowań wystarcza niewielka liczba takich wejść i wyjść. Ponieważ program typowego

sterownika polega na cyklicznym wykonaniu tego samego ciągu instrukcji, dlatego szybkość sterownika

programowalnego określana jest przez czas wykonania tysiąca instrukcji. Proste programy sterownika

nie zajmują zbyt dużo miejsca w pamięci, dlatego typowe sterowniki wyposażane są w mniejszą pamięć

RAM niż komputery osobiste.

Sterowniki mogą być przeznaczone nie tylko do wykonywania prostych operacji. Tabela 15.2

podaje różne rodzaje operacji, które mogą być realizowane przez sterowniki: r - zadania czasu

rzeczywistego, m - wielozadaniowość, II - moduły do obliczeń równoległych, f - obliczenia

zmiennoprzecinkowe, pid - sterowanie typu PID, fz - logika fuzzy.

Programowanie sterowników nie musi być realizowane na poziomie bliskim maszynie. Świadczy

o tym coraz bogatsze oprogramowanie oferowane dla sterowników programowalnych. W tab. 15.2

podawane są następujące typy oprogramowania: tr - pakiety treningowe, pc - oprogramowanie

komputerów osobistych (PC), iec- zgodność z IEC1131 dla wszystkich wariantów, f - bloki funkcyjne, i -

schematy drabinkowe, l - lista instrukcji, s - schematy przebiegu sekwencji instrukcji, h - programator

przenośny.

Metody programowania sterowników

Dla języków programowania sterowników PLC opracowano standardy IEC (International

Electrotecnical Comission). Istnieje pięć podstawowych metod konstrukcji oprogramowania

sterowników w standardzie IEC 1131-3. Przykładem takiego zaawansowanego systemu jest pakiet

ISaGRAF, który uruchamiany jest pod Windows, natomiast aplikacje programowe uruchamiane są

na rodzinie sterowników PLC typu PEP 9000 w środowisku systemu operacyjnego czasu

rzeczywistego OS9. Funkcje pakietu są dostępne w dwóch trybach pracy, normalnym służącym do

konstruowania programu oraz drugim, służącym do kontroli działania programu. Program posiada

procedury testujące oraz możliwości podglądu wykonania programu w trybie symulacyjnym i na

systemie docelowym.

ISaGRAPH posiada pięć języków programowania zgodnych ze standardem IEC 1131-3, z których

można korzystać na raz w jednym programie. Są to:

- sekwencyjne schematy funkcyjne (SFC - Sequential Function Chart),

- bloki funkcyjne (FBD - Function Block Diagramm ),

- schematy drabinkowe (LD - Ladder Diagram ),

- lista instrukcji (IL - Instruction List),

- tekst strukturalny (ST - Structured Text ).

 

15.4. ISaGRAF Środowisko programowe sterowników

15.4.1. Opis własności środowiska ISaGRAF

ISaGRAF WDS jest bazującym na Windows, zintegrowanym środowiskiem programowym CASE

(Computer Aided Software Engineering) [1, 2, 5]. Cechuje go zgodność z IEC1131-3, nowym

międzynarodowym standardem językowym PLC. Aplikacje programowe uruchamiane są na rodzinie

kontrolerów PEP 9000 pod środowiskiem czasu rzeczywistego OS-9/68K. ISaGRAF WDS jest osadzony

w środowisku OS-9 jako w systemie nośnym. Wykonanie programu odbywa się przez wczytanie wejść,

wykonanie kodu oraz ustawienie wyjść. Po każdym takim cyklu wykonywane są inne zadania należące

do OS-9. Pod systemem RTOS-9 ISaGRAF kernel (ISaKER) jest wykonywany równolegle z innymi

zadaniami komunikacyjnymi (ISATST). Struktura ta umożliwia klientowi uruchomić więcej niż jedną

aplikację ISaGRAFu oraz swoje własne zadanie OS-9 w tle.

Oprogramowanie posiada procedury testujące, funkcje symulacyjne i podglądu wykonania

zadania w systemie docelowym. Podgląd w programie umożliwiają te same okna, które służą do edycji

ale ze statusem procesu. Funkcje programu są dostępne w dwóch trybach pracy: normalnym, służącym

do konstruowania projektu i symulacyjnym, służącym do kontroli działania programu.

W trybie normalnym można wyróżnić składowe:

• edytory graficzne dla języków: schemat sekwencji funkcji (SFC - Sequential Function Chart),

schemat bloku funkcji (FBD - Function Block Diagram), schemat drabinkowy (LD - Ladder Diagram);

• edytory tekstowe dla języków: lista instrukcji (IL - Instruction List), tekst strukturalny (ST - Structured

Text), kodu C (opcjonalny);

• dodatkowe edytory dla deklaracji zmiennych, definicji, konfiguracji wejścia/wyjścia.

• zarządzanie projektem;

• zarządzanie bibliotekami: kart wejścia/wyjścia, procedur użytkownika w C, konwersji funkcji;

• zarządzaniem archiwizacją projektów i bibliotek;

• informacja (help).

W oknie środowiska, ISaGRAF Projects Management, podawany jest wykaz dostępnych

programów użytkownika. Wybieramy jeden z nich lub tworzymy nowy. Ukazuje się ISaGRAF Project, w

którym przedstawiony jest układ programu. W oknie podane są opcje służące do:

• wprowadzania poszczególnych elementów językowych lub segmentów w zależności od potrzeb

użytkownika,

• definiowania zmiennych binarnych, analogowych, czasowych oraz komunikatowych, ich adresów i

możliwych stanów,

• ustawiania list zmiennych, szczególnie przydatnych w dużych projektach,

• tablic konwersji zmiennych,

• ustawiania konfiguracji kart podpiętych do programowanego urządzenia,

• weryfikacji poprawności programu,

• kompilacji do postaci wykonywalnych,

• symulacji programu.

Jeżeli program został napisany zgodnie z zasadami programowania w dostępnych językach,

przeprowadzana jest weryfikacja i kompilacja programu. Po uruchamieniu symulacji ukazuje się okno

Debuggera oraz okno Kernela przedstawiające stan wejść/wyjść, które można dowolnie zmieniać.

Możliwe jest również otwarcie okien dowolnych zmiennych zarówno lokalnych jak i globalnych, a także

można stale obserwować dowolną zmienną, jak również nadawać jej żądane wartości. Możemy ponadto

obserwować przebieg procesu w edytorach poszczególnych języków. W tym przypadku nie jest możliwa

żadna zmiana wewnątrz struktury programu. Mając do dyspozycji sterownik możemy załadować

program, dokonując wcześniej połączenia za pośrednictwem opcji Debug. Okno dialogowe informuje o

trybie pracy i aktualnej aplikacji znajdującej się w sterowniku. Przed załadowaniem nowej aplikacji,

należy zatrzymać wykonanie aplikacji poprzednio załadowanej. Po umieszczeniu nowego programu za

pomocą opcji Download podawany jest komunikat o aktywności aplikacji i status pracy RUN. W czasie

pracy można obserwować wartości zmiennych lub uruchomić przygotowaną wcześniej wizualizację

procesu.

15.4.2. Symulacja wykonania aplikacji

Symulator kernela umożliwia symulację pracy sterownika. Karty wejścia/wyjścia są graficznie

uwidocznione w oknie systemu Windows. W tym przypadku karty wejścia/wyjścia definiowane są jako

karty wirtualne (virtual board). Oprócz okna zmiennych wirtualnych wejść/wyjść możliwy jest też podgląd

wszystkich zmiennych wewnętrznych lokalnych i globalnych za pośrednictwem okien: zmiennych

binarnych, zmiennych analogowych, zmiennych czasowych, komunikatów, bloków funkcyjnych.

Symulator kernela zawsze pracuje z aktualną aplikacją. Ważne jest, aby przed użyciem symulatora

wybrać opcję przygotuj program do symulacji (prepare code for simulation).

Symulator pracy sterownika znacznie ułatwia sprawdzenie poprawności działania programu

użytkownika. Wygodna, graficzna obsługa wejść/wyjść daje możliwość przetestowania wszelkich

możliwych sytuacji stanu systemu, co jest utrudnione na urządzeniach rzeczywistych.

Wizualizacja graficzna tworzona przez użytkownika za pomocą opcji "Graphics" umożliwia

przedstawienie projektu w sposób obrazowy i przejrzysty. Użytkownik ma do wyboru następujące

elementy tworzące kompletny obraz:

• tło rysunkowe - stworzony np. pod PaintBrusch plik formatu BMP pomaga we wzrokowym

usytuowaniu i przejrzystości zastosowanych elementów,

• binarna ikona graficzna - obrazuje stany logiczne prawdy i fałszu. Stosuje się do tego celu

standardowe ikony systemu Windows,

• pole graficzne - element w kształcie prostokąta, wypełniany dowolnym kolorem w dowolnym kierunku.

Obrazuje stopień wypełnienia lub wykorzystania zmiennej w deklarowanych granicach,

• pole numeryczne - zmienna jest przedstawiana za pomocą cyfr dziesiętnych.

Tablice konwersji stanowią wygodny dla użytkownika blok służący, do przeliczania poziomu

sygnałów elektrycznych (przychodzących z karty zewnętrznej) na wielkości fizyczne. W zależności od

ilości punktów charakterystycznych, zostają automatycznie stworzone wykresy funkcji zależności.

Blok kontroli aplikacji stanowi rozbudowaną częścią programu, służącą do pełnej kontroli

aplikacji uruchomionej na urządzeniu wykonawczym. Do dyspozycji mamy te same okna, które służą do

projektowania, jednak bez możliwości zmian. Umożliwia to pełny podgląd: zmiennych wszystkich

dostępnych typów, wykonania programu w dowolnej jego części w dowolnym języku, stanu wejść/wyjść

poszczególnych modułów. Celem tego bloku jest zarządzanie aplikacją, p...

Zgłoś jeśli naruszono regulamin