Harmoniczna struktura systemów sterowania
Tryby pracy sterownika:
RUN – wykonywany jest program użytkownika
STOP – program użytkownika nie jest wykonywany
ERROR – błąd
MAINT – sterownik wymaga obsługi
Przerwanie – praca sterownika jest przerwana w
dowolnym momencie i wykonywane są instrukcje
obsługujące przerwanie.
Input filters – filtry zapobiegające zakłóceniom (np. przy zwieraniu przycisku nie zwiera się on od razu tak jak w teorii).
Sposoby zapisu sygnałów cyfrowych:
System dziesiętny (DEC)
bn10n… + b1101 + b0100, bn ∈ {0,1…,9}
System dwójkowy
bn2n… + b121 + b020, bn ∈ {0,1}
10011z=19 2#10011=19
System szesnastkowy
bn16n… + b1161 + b0160, bn ∈ {0,1…,9,A,B,C,D,E,F}
2# 1111|1001|0011 16# F | 9 | 3
Typy danych stosowanych w urządzeniach cyfrowych:
Typ danych | Zakres |
---|---|
1 Bit | Boolean |
8 Bit Byte | Intiger Sint |
Usint | |
16 bit | Uint |
Word | Int |
32 Bit | UDint |
Dword | Dint |
Adresowanie obszarów pamięci:
I – rejestr wejściowy
Q – rejestr wyjściowy
M – pamięć bitowa
L – pamięć lokalna
DB – blok danych
Układy sterowania kombinacyjnego – układ sterowania logicznego w którym stan/ stany sygnału/sygnałów wyjściowych zależą od kombinacji stanów na wejściach układów.
Układ sterowania sekwencyjnego – stany wejść/wyjść zależą nie tylko od aktualnego stanu (kombinacji stanów wejściowych), ale również od tego, jak te stany zmieniały się w czasie.
Operacje Bole’a
AND – iloczyn logiczny
y = x1 * x2 *x3 …
OR – suma logiczna
Y = x1 + x2+ x3 +…
NOT
$y = \overset{\overline{}}{x}$
Math Operations
SUB – odejmowanie
MUL – mnożenie
DIN – dzielenie
MOD – daje resztę z dzielenia 2 liczb całkowitych
NEG – odwraca bity
INC – dodaje 1 do liczby
DEC – odejmuje 1 od liczby
ABS –
SQR – potęga ^2
SQRT – pierwiastek
LN – ln(in)
EXP – e^in
Sin, cos, Asin, Atan, tan.
Function Block Diagram (FBD) to język projektowania graficznego dla programowalnego sterownika logiki, które może opisać funkcję pomiędzy zmiennymi wejściowymi i zmiennymi wyjściowymi. Funkcja jest opisana jako zestaw podstawowych bloków. Zmienne wejściowe i wyjściowe są podłączone do bloków liniami połączeń. Wejścia i wyjścia są podłączone do bloków wraz z liniami połączeń. Pojedyncze linie mogą być używane do łączenia dwóch punktów logicznym schematem:
-zmienna wejściowa i wejście bloku,
-wyjście bloku i wejście innego bloku,
-wyjście bloku i zmienna wyjściowa.
Połączenie jest zorientowane, co oznacza, że linia przenosi dane związane z lewej strony do prawej strony. Lewe i prawe końce przewodu łączącego muszą być tego samego typu.
Instrukcje konwersji:
- S_CONV dokonuje konwersji (łańcucha liczbowego na wartość liczbową) lub (wartości liczbowej na łańcuch liczbowy).
S_CONV (String Convert) zamienia łańcuch znaków na odpowiadającą mu wartość liczbową lub wartość liczbową na odpowiadający jej łańcuch znaków. W instrukcji S_CONV nie ma opcji formatowania wyjścia. S_CONV jest przez to prostsza, ale mniej elastyczna niż instrukcje STRG_VAL i VAL_STRG.
- STRG_VAL dokonuje konwersji łańcucha liczbowego na wartość liczbową z opcjami formatowania.
STRG_VAL (String to Value) przetwarza łańcuch znaków na odpowiadająca mu liczbę całkowitą lub zmiennoprzecinkową. Konwersja rozpoczyna się w łańcuchu IN od znaku określonego przez parametr P i jest kontynuowana aż do osiągnięcia końca łańcucha albo napotkania pierwszego znaku, który nie jest „+”, „-”, „.”, „,”, „e”, „E” lub cyfrą od „0” do „9”. Wynik jest zapisywany w miejscu określonym jako parametr OUT. Parametr P zwraca położenie znaku w oryginalnym łańcuchu, na którym konwersja się zakończyła. Przed rozpoczęciem wykonywania konwersji należy zainicjalizować poprawną daną typu STRING w pamięci.
- VAL_STRG dokonuje konwersji wartości liczbowej na łańcuch liczbowy z opcjami formatowania.
VAL_STRG (Value to String) przetwarza liczbę całkowitą, liczbę całkowitą bez znaku lub liczbę zmiennoprzecinkową na odpowiadający jej ciąg znaków OUT. Wartość reprezentowana przez parametr IN jest przetwarzana na łańcuch zapisywany w miejscu określonym jako parametr OUT. Zanim konwersja zostanie wykonana, parametr OUT musi zawierać wzór łańcucha. Znaki łańcucha powsta- łego w wyniku konwersji zastępują znaki łańcucha wzorcowego OUT począwszy od znaku określonego przez P, a skończywszy po tylu znakach ile wynosi wartość zapisana w parametrze SIZE. Wartość wpisana do SIZE musi być dopasowana do długości łańcucha OUT z uwzględnieniem przesunięcia o P pierwszych znaków. Ta instrukcja jest przydatna do wstawiania liczby w łańcuch tekstowy. Na przykład można wstawić liczbę „120” do łańcucha „Pump pressure = 120 psi”. Parametr PREC określa precyzję lub liczbę cyfr części ułamkowej w łańcuchu. Jeżeli wartość parametru IN jest liczbą całkowitą, to PREC określa położenie punktu dziesiętnego. Na przykład, jeżeli wartość danej wynosi 123, a PREC = 1 to wynikiem jest „12.3”. Maksymalna obsługiwana precyzja dla danych typu REAL wynosi 7 cyfr. Jeśli parametr P jest większy od bieżącej długości łańcucha OUT, to aż do pozycji P są dodawane spacje, a wynik jest dołączany do końca łańcucha. Jeśli osiągnię- ta zostaje maksymalna długość łańcucha OUT, to konwersja jest kończona.
Rejestry przesuwne
SHR – funkcja schift right – przesuwa bity w prawo
SHL – schift left – przesuwa bity w lewo
ROR – rotate right
ROL – rotate left
SFC – Sequential Function Chart – język sekwencyjny schematów funkcyjnych.
Krok (etap) – określa stan procesu lub zestaw działań sterownika PLC skojarzony z tym stanem (stan stabilny automatu)
Tranzycja – reprezentuje warunek logiczny, niezbędny do realizacji poszczególnych bloków programu (etapów programu). Spełnienie tego warunku jest podstawą przejścia do jednego lub więcej kroków następujących po tej tranzykcji.
HSC – szybkie liczniki High Speed Counters
Włączenie Enable HSC 1
Parametryzacja: Type od counting Count/Frequency
Tryb pracy: Operation mode/phase
Można zliczać do 100kHz
Single Phase
Two Phase
AB Quadrature x1
AB Quadrature x4
CV – liczba zliczonych impulsów – Counted Value
RV – Reference Value
ID 1000 – oznacza ze licznik jest 32-bitowy
PLS – Pulse Generator / output
Może pracować w trybach:
PTO – Pulse Train Output
PWM – Pulse width Modulation – modulacja szerokości impulsów
Zmiana wypełnienia pod wartością QW 1000
Reguły modelowania SFC:
2 etapy (kroki) nie mogą być bezpośrednio połączone. Muszą być zawsze rozdzielone tranzycją.
2 tranzycje nie mogą być bezpośrednio połączone, muszą być rozdzielone etapem (krokiem)
Zmiana stanu procesu (przejście do kolejnego kroku/kroków) jest realizowane przy spełnieniu następujących warunków:
Krok/kroki poprzedzające tranzycję jest aktywny
Warunek logiczny określający tranzycję musi mieć wartość true (prawdziwą)
Należy dezaktywować krok/kroki poprzedzający tranzycję, a aktywować krok/kroki bezpośrednio następujące po tranzycji.
Zasady modelowania SFC:
Realizacja kroku w procedurze sekwencyjnej
Realizacja wyboru procedury sekwencyjnej
Zakończenie realizacji wyboru procedury sekwencyjnej
Współbieżne rozpoczęcie realizacji procedur sekwencyjnych
Zakończenie współbieżnej realizacji procedur sekwencyjnych
Cykliczna realizacja procedur sekwencyjnych
Pomijanie realizacji
Mogą wywołać przerwania:
Przerwania z opóźnieniem czasowym Top ≥ 175μs
Przerwania cykliczne – co jakiś czas, domyślnie OB30
$\omega\left\lbrack \text{rpm} \right\rbrack = \frac{ID\ 1000\ \bullet 60}{0.001\ \bullet 500}$
Przerwania sprzętowe
-
- HSC (CV==RV, DIR zmiana)
Przerwania od błędów diagnostycznych
Przerwanie od błędu czasowego
- przypisanie przerwania - odłączenie przerwania