System komputerowy – układ współdziałania dwóch składowych: sprzętu komputerowego oraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej. Można mówić o następujących poziomach takiego systemu: sprzęt komputerowy, system operacyjny (oprogramowanie systemowe), oprogramowanie użytkowe (aplikacje).
Ze względu na sposób podziału pracy i dostęp procesora do pamięci możemy podzielić architektury na:
SMP (Symmetric Multiprocessing) – symetryczne
ASMP (Asymmetric Multiprocessing) – asymetryczne
NUMA (Non-Uniform Memory Access) – asymetryczne
AMP (Asynchronous Multiprocessing) – asynchroniczne
MPP (Massively Parallel Processors)
Ze względu na sposób organizacji pamięci i wykonywania programu:
architektura von Neumanna
Architektura harwardzka
architektura mieszana
Architektura von Neumanna - Rodzaj architektury komputera, przedstawionej po raz pierwszy w 1945 roku przez Johna von Neumanna stworzonej wspólnie z Johnem W. Mauchly'ym i Johnem Presper Eckertem. Polega na ścisłym podziale komputera na trzy podstawowe części:
procesor (w ramach którego wydzielona bywa część sterująca oraz część arytmetyczno-logiczna)
pamięć komputera (zawierająca dane i sam program)
urządzenia wejścia/wyjścia
Architektura Harvardzka - W odróżnieniu od architektury von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów.
Klasyfikacje wg:
Flynna
liczby i rodzaju procesorów (komputery kwantowe, chemiczne, procesory skalarne i wektorowe),
ziarnistości przetwarzania,
gospodarki lub organizacji pamięci,
metod synchronizacji,
modelu komunikacji.
Klasyfikacja Flynn'a - Najstarsza klasyfikacja Flynna używała pojęć strumienia instrukcji i strumienia danych.
SISD (Single Instruction Single Data) to klasyczny system jednoprocesorowy z pojedynczymi strumieniami instrukcji i danych.
Jeśli zwielokrotnimy strumienie danych, to otrzymamy system SIMD (Single Instruction Multiple Data), w którym wiele procesorów wykonywało równocześnie tą samą instrukcję na różnych danych. Przyśpiesza to wykonywanie typowych operacji macierzowych, takich jak mnożenie czy odwracanie. Tak pracowały procesory wektorowe (np. Cray-1) i macierzowe
Według liczby procesorów: SMP (Symmetric MultiProcessing) - kilka mocnych procesorów używających wspólnej pamięci, stosowane w seryjnym sprzęcie. MPP (Massively Parallel Processing) - wiele relatywnie słabych procesorów, wyposażonych w osobne pamięci, z nałożoną siecią komunikacji.
Wg ziarnistości przetwarzania: wiele niezależnych programów (coarse-grained parallelism); programy z wieloma równoległymi watkami (np. gra w szachy); wykonywanie tych samych zestawów instrukcji na różnych danych — superkomputery numeryczne (fine-grained parallelism).
Wg gospodarki pamięci - Pamięć rozproszona (każdy procesor ma własną), zaleta: skalowalność. Pamięć wspólna, realne do ok. 128 procesorów. Często występującym konfliktom dostępu do wspólnej pamięci zapobiega się stosując przeplatanie pamięci (interleaving) — podział pamięci na moduły z osobnymi rejestrami adresowymi i buforowymi.
Wg modeli komunikacji - Wyznaczone sposobem połączenia: luźno sprzężone (looselycoupled, „duże” maszyny) vs. ściśle sprzężone (tightly-coupled, małe procesory).
Multiprocesor (inaczej system z pamięcią dzielona lub system wieloprocesorowy), np. do analizy fragmentów obrazu czy sygnału mowy (popularna architektura to blackboard). Procesory maja jedna wspólna pamięć, a działające na nich procesy dzielą przestrzeń adresowa. Głównym problemem dla multiprocesorów jest słaba skalowalność, za to względnie łatwo się je programuje.
Multikomputer (inaczej system z rozproszoną pamięcią albo system wielomaszynowy).
Prywatna, lokalna pamięć przy każdym procesorze oraz sieć połączeń do przekazywania komunikatów. Komunikacja specjalnymi operacjami send i receive.
Tranzystory bipolarne , w których prąd przepływa przez złącza półprzewodnika o różnym typie przewodnictwa (n i p). Zbudowany jest z trzech warstw półprzewodnika o typie przewodnictwa odpowiednio npn lub pnp (o nazwach emiter - E, baza - B i kolektor - C). Charakteryzuje się tym, że niewielki prąd płynący pomiędzy dwiema jego elektrodami (bazą i emiterem) steruje większym prądem płynącym między innymi elektrodami (kolektorem i emiterem).
Tranzystory unipolarne (tranzystory polowe) to takie, w których prąd płynie przez półprzewodnik o jednym typie przewodnictwa. Prąd wyjściowy jest w nich funkcją napięcia sterującego.
Układy kombinacyjne - Układy, w których stan wyjść zależy tylko od aktualnego stanu wejść.
Układy sekwencyjne - Układy, w których stan wyjść zależy nie tylko od aktualnego stanu wejść, ale także od poprzednich stanów wejść oraz kolejności ich występowania.
Układy asynchroniczne - zmiana sygnałów wejściowych X natychmiast powoduje zmianę wyjść Y. W związku z tym układy te są szybkie, ale jednocześnie podatne na zjawisko hazardu i wyścigu.
Układy synchroniczne - zmiana stanu wewnętrznego następuje wyłącznie w określonych chwilach, które wyznacza sygnał zegarowy (ang. clock).
Bramka logiczna - element konstrukcyjny maszyn i mechanizmów (dziś zazwyczaj: układ scalony, choć podobne funkcje można zrealizować również za pomocą innych rozwiązań technicznych, np. hydrauliki czy pneumatyki), realizujący fizycznie pewną prostą funkcję logiczną, której argumenty (zmienne logiczne) oraz sama funkcja mogą przybierać jedną z dwóch wartości, np. 0 lub 1 (zob. algebra Boole'a). Bramką logiczną nazywamy prosty obwód elektroniczny realizujący funkcję logiczną. Pewien zakres napięcia odpowiada stanowi logicznemu 0, a inny zakres stanowi logicznemu 1.
Czas propagacji (Td) - określa czas opóźnienia odpowiedzi układu na sygnał sterujący i jest podstawową miarą szybkości działania układu cyfrowego.
Bramki
Bramka buforująca – BUF [X=>Y][0=>0][1=>1]
Bramka negacji – NOT, INV [X=>Y][0=>1][1=>0]
Bramka OR – LUB
Bramka AND – I
Bramka NOR – zanegowane LUB
Bramka NAND – zanegowane I
Bramka XOR – ekstra LUB
Bramka XNOR - ekstra zanegowane LUB
System funkcjonalnie pełny – zbiór bramek logicznych, który pozwala zrealizować dowolną funkcję logiczną. Przykłady systemów funkcjonalnie pełnych: OR, AND, NOT OR, NOT AND, NOT NOR NAND
Układy komutacyjne:
Multiplekser (w skrócie MUX) – układ kombinacyjny, najczęściej cyfrowy, służący do wyboru przez wejście adresowe aj jednego z kilku dostępnych sygnałów wejściowych xi i przekazania go na wyjście y. Można wykorzystać go do zamiany wielu wejść na jedno, które następnie może być demultiplekserowane. Poszczególne wejścia są przełączane kolejno.
Demultiplekser – układ kombinacyjny, posiadający jedno wejście x, n wejść adresowych oraz k wyjść (zazwyczaj k=2^n), którego działanie polega na przekazaniu sygnału z wejścia x na jedno z wyjść yi.
Komutator – element przełączający.
Programowalne struktury logiczne
Rodzaje układów PLD:
SPLD (ang. Simple Programmable Logic Device)
PAL (Programmable Array Logic) - programowalna matryca AND, stała matryca OR
PLA (Programmable Logic Array) - programowalna matryca AND, programowalna matryca OR
FPGA (ang. Field Programmable Gate Array) – bezpośrednio programowalna macierz bramek, mp Altera, Xilinx. Może być wielokrotnie przeprogramowany po tym jak został już wytworzony, zakupiony i zamontowany w urządzeniu docelowym.
Aby zdefiniować zachowanie układu FPGA używa się języka opisu sprzętu takiego jak Verilog czy VHDL.
Przerzutnik – układ cyfrowy (logiczny), którego funkcją jest pamiętanie jednego bitu informacji.
Licznik jest układem cyfrowym służącym do zliczania i pamiętania liczby impulsów wejściowych, zbudowanym z przerzutników synchronicznych. Pojemność licznika – liczba stanów jakie może przyjąć licznik.
Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
Jedną z podstawowych cech procesora jest długość (liczba bitów) słowa, na którym wykonywane są podstawowe operacje obliczeniowe. Jeśli słowo ma 64 bity, mówimy, że procesor jest 64-bitowy. Innym ważnym parametrem określającym procesor jest szybkość z jaką wykonuje on rozkazy. Przy danej architekturze procesora, szybkość ta w znacznym stopniu zależy od czasu trwania pojedynczego taktu zegara.
Standardowa architektura CPU
Zadaniem układu sterowania jest:
• koordynacja pracy bloków procesora
• wystawianie sygnałów sterujących na szynę sterującą
Zadaniem układu wykonawczego jest realizacja operacji określonych przez sygnały sterujące
W skład układu wykonawczego wchodzi:
• jednostka arytmetyczno-logiczna ALU
• akumulator
• rejestr przejściowy
• rejestr wskaźników (rejestr stanu)
Cykl wykonania rozkazu odbywa się w krokach:
pobranie kodu rozkazu z pamięci programu do rejestru rozkazów
Aktualizacja wskaźnika rozkazu by wskazywał następną instrukcję
Dekodowanie rozkazu
Jeśli trzeba pobiera 16bitowy argument rozkazu z pamięci
Jeśli trzeba to aktualizuje wskaźnika rozkazu by wskazywał za argument
Pobranie argumentu
Zapis obliczonej wartości do wskazanego rejestru docelowego
Rozkaz mov memory, register:
Pobranie rozkazu z pamięci (1 cykl zegara)
Aktualizacja wskaźnika rozkazu (1 cykl zegara)
Dekodowanie rozkazy by zobaczyć co robi (1 cykl zegara)
Pobranie argumentu z pamięci
(0/1/2 cykli zegara – Acc, Reg, Mem)
Aktualizacja wskaźnika rozkazu (1 cykl zegara)
Obliczenie adresu argumentu (0/1 cykli zegara)
Pobranie wartości do zapisu (1 cykl zegara)
Zapis pobranej wartości w lokalizacji docelowej
(1/2/3 cykle zegara – Acc, Reg, Mem)
Skok warunkowy jump działa następująco:
Pobranie rozkazu z pamięci (1 cykl zegara)
Aktualizacja wskaźnika rozkazu (1 cykl zegara)
Dekodowanie rozkazy by zobaczyć co robi (1 cykl zegara)
Pobranie adresu docelowego z pamięci (1/2 cykli zegara)
Aktualizacja wskaźnika rozkazu (1 cykl zegara)
Test flag 'less than' i 'quality' CPU (1 cykl zegara)
Jeśli wartość flagi jest odpowiednia do skoku to CPU kopiuje 16bitową stałą do wskaźnika rozkazu (0/1 cykli zegara)
Cykl maszynowy obejmuje kilka cykli zegarowych i może mieć różne długości zależnie od rodzajów wykonywanych operacji.
Cykl rozkazowy obejmuje od jednego do kilku cykli maszynowych, zależnie od rodzaju rozkazu.
System przerwań jest układem umożliwiającym procesorowi zawieszenie wykonywania bieżącego programu i skok do wykonywania specjalnego podprogramu (programu obsługi przerwania) na skutek pojawienia się zewnętrznego sygnału przerwania.
Rodzaje przerwań Programowe – generowane przez warunki będące wynikami wykonywania rozkazów (np. przepełnienie arytmetyczne, dzielenie przez zero) Zegarowe – generowane przez wewnętrzny zegar procesora (umożliwiają wykonanie określonych funkcji) Wejścia – wyjścia – generowane przez urządzenia zewnętrzne. Uszkodzenie sprzętu – generowane przez uszkodzenia, np. defekt zasilania, błąd parzystości pamięci.
Hierarchia pamięci
Metody wykrywania błędów pamięci
Bit parzystości. 0 – nieparzysta liczba jedynek w słowie informacyjnym. 1 – parzysta liczba jedynek w słowie informacyjnym.
Suma kontrolna – słowa informacyjne traktuje się jak liczby i dodaje,a wynik stanowi słowo kontrolne. Przy odczytywaniu informacji ponawia się obliczenia i porównuje z przesłanym wynikiem.
Kody o podwójnej długości słowa – słowo składa się z dwóch części, część pierwsza jest słowem informacyjnym, część drugą stanowią np. zanegowane bity słowa informacyjnego.
Kod Hamminga – w słowie oprócz bitów informacyjnych umieszczone są bity kontrolujące odpowiednie grupy bitów informacyjnych. W każdej grupie utworzonej z bitu kontrolującego i bitów kontrolowanych liczba jedynek jest parzysta. Kod Hamminga pozwala zlokalizować błędne bity.
Pamięć podręczna - Można przyjąć, że rozkazy i dane używane w krótkim odstępie czasu są zwykle przechowywane w pamięci blisko siebie (zasada lokalności). W pamięci podręcznej przechowywany jest blok programu z pamięci głównej. W czasie wykonywania programu procesor szuka rozkazów i danych w pamięci podręcznej. Jeśli słowo zostaje znalezione, sygnalizowane jest tzw. „trafienie” i słowo przesyłane jest do procesora. Jeśli słowo nie zostaje znalezione, jest ono pobierane z pamięci głównej, a pamięć podręczna jest uaktualniana blokiem zawierającym to słowo.
MMX są rozkazami wykonującymi jedną instrukcję na wielu danych naraz (SIMD – Single Instruction Multiple Data). Wprowadzone przez Intela w 1996 roku wraz z procesorami Pentium P5. AMD wprowadził podobne rozkazy dla swoich procesorów pod nazwą 3dNow! MMX dodaje osiem 64bitowych rejestrów (MM0..MM7). Rozkazy MMX opierają się na koncepcji spakowanych danych, tzn przetwarzaniu dwóch 32bitowych lub czterech 16 bitowych danych naraz. Następcami MMX są SSE (Streaming SIMD Extensions) oraz SSE2 czy SSE4 w procesorach Intel Core i7 z dłuższymi rejestrami i nowymi rozkazami.
Systemy wbudowane są zaszyte (wbudowane) wewnątrz urządzeń użytkowych, maszyn pojazdów itp. I wyposażone w dedykowane oprogramowanie realizujące żądane funkcje.
Cechy:
układ mikroprocesorowy sprzężony konstrukcyjne,
dedykowany programowo do określonego urządzenia
bogaty zestaw funkcji,
nie istnieje możliwość jego sprzętowego wydzielenia,
wysokie wymagania niezawodności,
niska cena w porównaniu do układu macierzystego.
Klasyfikacja:
Ze względu na strukturę logiczną
Systemy proste „simplex”
Systemy proste z procesorem wejścia/wyjścia
Systemy MASTER – SLAVE
Systemy z pełną redundancją
Systemy sieciowe
Systemy proste „simplex”
Systemy proste z procesorem w/w
Systemy master-slave
Systemy podwójne
Funkcje komputerowego systemu sterowania (KSS) obejmują zarówno te, które realizowane są przez klasyczne układy sterowania:
przetwarzanie zmiennych procesowych na decyzje,
wypracowanie decyzji i oddziaływanie na proces, jak również inne dodatkowe stanowiące specyfikę KSS:
zbieranie wartości zmiennych procesowych,
analizę i dokumentacje przebiegu procesu,
realizacje łączności: operator – proces,
testowanie poprawności funkcjonowania własnych układów.
Otoczenie KSS = automatyzowany proces + zespół operatorów procesu
Zdolność wypracowania decyzji: cecha każdego systemu automatyki
Sterowanie procesem – wypracowanie decyzji i jej realizacja
Zmienne sterujące (sterowania) – zmienne procesowe, poprzez które system sterowania lub operator może zmieniać stan procesu
Stan procesu – wartości liczbowe pewnego minimalnego zbioru zmiennych procesowych, których znajomość w chwili to oraz znajomość wymuszeń w okresie od to do t (to<t) pozwala określić stan procesu w chwili t.
Klasyfikacja KSS
Ze względu na powiązania z procesem
Systemy monitorowania - tylko zbieranie danych w celu wspomagania działania operatora procesu (MS - Monitoring Systems)
Systemy sterowania automatycznego:
Systemy sterowania bezpośredniego (DDC – Direct Digital Control)
Systemy sterowania nadrzędnego (SPC – SuPervisory Control)
Systemy wbudowane (ES – Embedded Systems)
System czasu rzeczywistego (ang. Real Time System – RTS) jest systemem, który współpracuje z zewnętrznym procesem oraz musi zapewnić wymagany czas reakcji na zewnętrzne zdrzenia.
Poprawność RTS zależy od spełnienia warunków logicznych i czasowych:
Warunki logiczne - odpowiedź na zdarzenie przy uwzględnieniu stanu systemu musi być prawidłowa.
Warunki czasowe - odpowiedź musi nadejść we właściwym czasie.
Najczęściej RTS dzielimy na dwa rodzaje:
Rygorystyczne (ang. Hard Real Time System)
Łagodne (ang. Soft Real Time System)
RTS współdziała z otoczeniem. Jego zachowanie zależy od:
stanu obiektu
czasu
zdarzeń generowanych przez otoczenie
Rygorystyczne ograniczenie czasowe (ang. Hard Deadline) to takie ograniczenie które zawsze pozostaje spełnione. Jeśli choć raz zostało przekroczone uważa się, że nie zostało spełnione. Wymaga się aby istniała procedura walidacyjna pozwalająca na sprawdzenie czy warunek ten został spełniony.
Rygorystyczny system czasu rzeczywistego (ang. Hard Real Time System) to system w którym wymaga się spełnienia rygorystycznych ograniczeń czasowych.
Przykłady:
System sterowania elektrownią atomową
System sterowania rakietą
System sterowania zapłonem samochodowym
Łagodne ograniczenie czasowe (ang. Soft Deadline) to takie ograniczenie czasowe które czasami może być przekroczone (wg kategorii prawdopodobieństwa – np. ograniczenie spełnione jest w 99% przypadków lub wg funkcji użyteczności – podaje ocenę korzyści w zależności od czasu uzyskania odpowiedzi).
Łagodny system czasu rzeczywistego (ang. Soft RealTime System) to system w którym wymaga się
spełnienia łagodnych ograniczeń czasowych.
Przykłady:
Multimedia
Sterowanie telefonem komórkowym
Centrala telefoniczna
Wymagania dla RTS
Ciągłość działania – system RTS powinien pracować bez przerwy lub wtedy gdy się tego od niego wymaga
Zależność od otoczenia – system musi reagować na zdarzenia i dane powstające e zewnętrznym systemie.
Przewidywalność – zdarzenia generowane przez otoczenie pojawiają się w przypadkowych momentach czasu. Może dojść do ich spiętrzenia. Mimo to system musi reagować zgodnie z wymaganiami (deterministycznie).
Punktualność – reakcja na zdarzenia winna następować zgodnie z wymaganiami czasowymi tzn. nie może nastąpić zbyt późno. W związku ze specyficznymi wymaganiami implementacja systemów RTS stanowi oddzielną klasę problemów.
Wymagania RTOS
1. Musi umożliwiać wykonywanie procesów wielowątkowych
2. Wątki muszą posiadać priorytety.
3. Musi być stosowana wywłaszczająca strategia szeregowania.
4. Musi wspierać mechanizm przewidywalnej synchronizacji wątków.
5. Musi istnieć dziedziczenie priorytetów.
6. System musi być deterministyczny.
7. Musi być pozbawiony błędów
8. Musi być dobrze udokumentowany.
Mikrokontrolerem nazywamy układ scalony z wyspecjalizowanym mikroprocesorem, spełniający dwa kryteria:
jest zdolny do autonomicznej pracy
został zaprojektowany do pracy w systemach kontrolnopomiarowych
Cechy mikrokontrolera:
-zamknięcie magistrali danych i adresowej wewnątrz układu scalonego
-stała struktura pamięci ROM/RAM
-stałość programu sterującego
-dostęp do rejestrów procesora i układów we/wy przez mechanizm adresowania pamięci RAM
-rejestrowa struktura jednostki centralnej
-bogaty zestaw urządzeń we/wy
-rozbudowane układy przerwań
-różnorodne tryby i środki redukcji poboru mocy
-rozbudowane mechanizmy kontroli i detekcji nieprawidłowych stanów mikrokontrolera
-umieszczenie w jednej strukturze układów cyfrowych i analogowych
Przykładowa struktura mapy pamięci mikrokontrolera
Najczęściej spotykane wbudowane urządzenia peryferyjne:
-układy licznikowe/czasowe
-licznik nadzorcy – watchdog
-przetworniki A/C
-sterowniki komunikacji szeregowej (UART, SPI, 1-Wire, I2C,USB)
Innymi spotykanymi wbudowanymi urządzeniami peryferyjnymi są:
interfejs równoległy
przetworniki C/A
interfejs wyświetlacza LCD
interfejs klawiatury
PWM (ang. Puls Width Modulation)
kontroler CRT (monitora ekranowego)
System przerwań
Przerwania dzieli się na cztery kategorie zdarzeń:
sytuacje wyjątkowe (ang. exception interrupts) (np.dzielenie przez zero)
maskowalne przerwania sprzętowe (ang. eventinterrupts) (generowane przez urz. peryferyjne)
przerwania programowe (ang. software interrupts)(wywoływane w programie przez rozkaz przerwania)
pułapki (ang. traps) (do śledzenia wykonywaniaprogramu w trakcie jego testowania)
Systemy uruchomieniowe - pozwalają użytkownikowi na sprawdzenie wydajności oprogramowania
i przetestowanie poprawności działania prototypowej aplikacji. Zawierają bogate peryferia, złącza
rozszerzające oraz interfejsy.
Wyróżniamy:
- Systemy wykorzystujące program monitora
- Systemy wykorzystujące emulację układową (tzw. emulatory)
Mikrosystemy kontrolerów
Koncepcja scalonego, kompletnego mikrosystemu kontrolera o elastycznej strukturze opiera się na
następujących założeniach:
oprócz procesora i układów peryferyjnych mikrokontroler posiada wbudowane układy PLD (ang.
Programmable Logic Device),
zastosowanie układu DSP, pamięci, urządzeń peryferyjnych o cechach zdefiniowanych przez
projektanta zwiększa możliwości zastosowania mikrosystemu.
Struktury mikrosystemów
Ze względu na sposób korzystania z zewnętrznych pamięci możemy wyróżnić mikrokontrolery:
udostępniające szyny systemowe poprzez wyprowadzenia portów (pamięci zewnętrzne podłącza się do odpowiednich portów, które nie mogą być wykorzystywane do przesyłania sygnałów sterujących),
udostępniające bezpośrednio szyny systemowe (podłączenia pamięci bezpośrednio do odpowiednich wyprowadzeń układu scalonego),
mikrokontrolery zamknięte (embedded) (nie udostępniają swoich szyn, tylko korzystają z pamięci wewnętrznej).
Środki wspomagające uruchamianie systemów uC
Symulator mikrokontrolera
Analizator stanów logicznych
Systemy uruchomieniowe
- Systemy wykorzystujące program monitora
- Systemy wykorzystujące emulację układową (tzw. emulatory)
PLC Programowalne sterowniki logiczne (ang. Programmable Loggic Controller) – uniwersalne urządzenie mikroprocesorowe przeznaczone do sterowania pracą maszyny lub urządzenia technologicznego.
Cechy:
Sterownik PLC musi zostać dopasowany do określonego obiektu sterowania poprzez
wprowadzenie do jego pamięci zadanego algorytmu działania obiektu.
Cechą charakterystyczną sterowników PLC odróżniającą ten sterownik od innych sterowników komputerowych jest cykliczny obieg pamięci programu.
Algorytm jest zapisywany w dedykowanym sterownikowi języku programowania. Istnieje możliwość zmiany algorytmu przez zmianę zawartości pamięci programu.
Sterownik wyposaża się w odpowiednią liczbę układów wejściowych zbierających informacje o stanie
obiektu i żądaniach obsługi oraz odpowiednią liczbę i rodzaj układów wyjściowych połączonych z
elementami wykonawczymi, sygnalizacyjnymi lub transmisji danych.
Zastosowania pojedynczych sterowników PLC: maszyny,obrabiarki, sterowanie urządzeniami na niewielkim obszarze.
Języki programowania PLC zwykle mniej lub bardziej dokładną implementacją zaleceń normy IEC 61131-3, która to norma definiuje następujące warianty:
LD (Ladder Diagram) logika drabinkowa - schemat zbliżony do klasycznego rysunku technicznego elektrycznego;
FBD (Function Block Diagram) - diagram bloków funkcyjnych, sekwencja linii zawierających bloki funkcyjne;
ST (Structured Text) tekst strukturalny - język zbliżony do Pascala;
IL (Instruction List) lista instrukcji - rodzaj asemblera;
SFC (Sequential Function Chart) sekwencyjny ciąg bloków - sekwencja bloków programowych z warunkami przejścia.
Wybrane elementy języka drabinkowego:
Styki - element przekazujący na prawą stronę styku stan będący wynikiem mnożenia logicznego AND
stanu linii po lewej stronie styku oraz przypisanej mu wartości logicznej (zmiennej wejściowej,
wyjściowej lub pamięciowej).
Cewki - przekazuje stan połączeń z lewej strony na prawą bez zmian, powodując jednoczesne
zapamiętanie stanu przez przypisaną jej zmienną logiczną.
timer'y
liczniki
Cykl pracy PLC składa się z następujących etapów:
odczyt wejść, wykonanie programu, obsługa żądań komunikacji, wykonanie diagnostyki CPU, zapis wyjść.
Schemat logiczny PLC
Koprocesor, jednostka zmiennoprzecinkowa (FPU, ang. Floating Point Unit) to układ scalony wspomagający procesor w obliczeniach zmiennoprzecinkowych. W większości współczesnych konstrukcji, koprocesor arytmetyczny, a także jednostki obsługujące bardziej skomplikowane obliczenia (np. instrukcje wektorowe) są zintegrowane z procesorem w jednym układzie.
Posiada:
osiem 80bits registers
Status register
Control register
Tag register
Instrukcje koprocesora
Przenoszenie danych
ładowanie stałych
Instrukcje arytmetyczne
Porównanie
Operacje trygonometryczne