Projektowanie oprogramowania dla sterowników PLC, ARTYKUŁY - ELEKTRYKA, ARTYKUŁY ELEKTRYKA - 3

[ Pobierz całość w formacie PDF ]
Opublikowano w: WEREWKA J..:
Programowanie sprzętu komputerowego dla automatyków
. Skrypt AGH Nr 1514, Kraków 1998
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.
2. Uzupełnienie zmiennych w poszczególnych warunkach:
ab ab c c abc abc
ac a b b c abc abc
ab a a bc abc abc
(
)
(
)
(
)
3. Określenie funkcji. Zestawiając wszystkie iloczyny przy eliminacji powtarzających się otrzymamy:
abc abc ab c abc
++
4. Dokonujemy minimalizację stosując jedną z metod, uzyskamy:
y= ab + ac + bc
⋅= + = +
⋅= + = +
⋅= + = +
1
1
1
y
=+
Opublikowano w: WEREWKA J..:
Programowanie sprzętu komputerowego dla automatyków
. Skrypt AGH Nr 1514 15-2
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.
6. Schemat logiczny układu przedstawia rysunek 15.1.
a
b
+
c
&
&
+
y
Rys. 15.1. Schemat logiczny przykładowego układu
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. Przekrój tych układów przedstawia rysunek 15.2.
Opublikowano w: WEREWKA J..:
Programowanie sprzętu komputerowego dla automatyków
. Skrypt AGH Nr 1514 15-3
Układy scalone
Wielkie standardy
ASIC
Application Specific
Integrated Circuits
Full Custom
Układy na zamówienie
z pełnym cyklem
projektowania
Semi Custom
Układy z
ograniczonym cyklem
projektowania
PLD
Układy programowalne
przez użytkownika
Programmable Logic Devices
FPGA
Field Programmable
Gate Array
Standard Cells
Układy
wykorzystujące
komórki standardowe
Gate Arrays
Układy na płytkach
wstępnie
przygotowanych
Rys. 15.2. Podział układów scalonych
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
Opublikowano w: WEREWKA J..:
Programowanie sprzętu komputerowego dla automatyków
. Skrypt AGH Nr 1514 15-4
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
Opublikowano w: WEREWKA J..:
Programowanie sprzętu komputerowego dla automatyków
. Skrypt AGH Nr 1514 15-5
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
W tabeli 15.1. zawarto charakterystyczne parametry [3] niektórych producentów 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.
Tab. 15.1. Podstawowe parametry wybranych sterowników PLC
Firma
Typ
I/O
Szybkość
czas dla 1000
instrukcji
RAM
Allen-Bradley
Micrologix 1000
SLC 500
PLC-5
PLC-5/250
16-32
20-960
128-3072
do 4.1K
do 2ms
0.5-8ms
<1ms
<1ms
do 1Kb
1K-24Kb
8K-100Kb
do 8Mb
GE Fanuc Automation
90 Micro
Seria 90-30
Seria 90-70
14
1K
12K
1ms
0.18ms
0.4ms
6Kb
80Kb
512Kb
PEP Modular Computers Smart I/O
8-88
3Mb
Siemens
Simatic S5-90U
Simatic S5-95U
Simatic S5-100U
Simatic S5-115U
Simatic S5-135U/155U
Simatic TI500/TI505
Simatic S7-200
Simatic S7-300
Simatic S7-400
14-208
32-480
do 448
do 2K
32.8K
8.2K
64
1024
128K
2ms
2ms
0.8ms
0.1ms
0.18ms
0.06ms
0.8ms
0.3ms
0.08ms
4Kb
20Kb
20Kb
384Kb
1664Kb
1920Kb
4Kb
48Kb
512Kb
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.
Coraz większe wymagania związane są integracją sterownika z otoczeniem. Sterowniki
wyposażone są w różne sprzęgi umożliwiające transmisję danych. W tabeli 15.2 podano typy łączy
komunikacyjnych: e - Ethernet i jego odmiany, a - ARCnet, f -FIP, c - CAN, p-Profibus, l - LONWorks, m -
Modbus, m+ - Modbus+, s - Interbus-S, d - DeviceNet, as - ASInet, fo - światłowody (fibre optics), r - fale
radiowe.
[ Pobierz całość w formacie PDF ]