ENKODERY
Często wykorzystywanym urządzeniem peryferyjnym dla sterowników PLC są enkodery .Służą one przede wszystkim do ustalania dokładnej pozycji elementów , pomiaru odległości przy wszelkiego typu maszynach wymagających dokładnego pozycjonowania . Najbardziej rozpowszechnionymi są enkodery obrotowe w , których pomiar zależny jest od kąta obrotu .
Rozróżniane są dwa podstawowe typy enkoderów ze względu na rodzaj przedstawiania wyniku pomiaru i są to :
Enkodery inkrementalne ( przyrostowe ) i enkodery absolutne różniące się zasadniczo sposobem przedstawiania wyniku.
Enkodery inkrementalne - W tego typu enkoderach wynik pomiaru przedstawiany jest jako pojedyncze impulsy zero jedynkowe na wyjściach i dlatego zawsze określana jest ilość impulsów na obrót np. 1000 impulsów na pełen obrót (360 stopni). Oczywiście jest określany także rodzaj impulsu tzn, +5V , +24V itp.
Enkodery tego typu wymagają od sterownika obsługującego, zliczania impulsów w celu ustalenia aktualnej pozycji.
Budowa mechaniczna enkodera wygląda jak na rysunku poniżej:
Większość sterowników PLC posiada gotowe moduły programowe obsługujące enkodery inkrementalne - tutaj omówimy sposób działania tych modułów.
Podstawowe i zawsze występujące sygnały jakie otrzymuje sterownik od enkodera inkrementalnego to :
A - Sygnał prostokątny o określonym napięciu.
B - Sygnał prostokątny przesunięty względem sygnału A.
Przesunięcie sygnału B względem A służy określeniu kierunku obrotu enkodera a co za tym idzie określeniu czy sterownik ma dodawać wartość czy też odejmować.
Poniżej program w języku drabinkowym ilustrujący działanie enkodera inkrementalnego.
Wyjścia enkodera podłączono pod wejścia sterownika PLC jak poniżej :
I 0.0 - sygnał z enkodera A
I 0.1 - sygnał z enkodera B
I 0.2 - ewentualny reset ( zerowanie ) stanu licznika w sterowniku a w praktyce ustalenie pozycji zerowej enkodera.
Wejścia --|P|-- oznaczają wykrywanie zbocza narastającego - "1" przenoszone jest dalej tylko na jeden cykl programu-
W programie wykorzystano licznik CTUD ( Counter Up Down )
Wartość licznika CV (wartość aktualna) pokazuje w powyższym programie aktualne połażenie enkodera a właściwie ilość impulsów o ile został on przesunięty. I tak na przykład osiągnięcie wartości "55" dla enkodera o parametrze 360 imp/obr będzie informowało o obrocie o 55 stopni co , w zależności od budowy mechanicznej całego układu można przeliczyć na przesunięcie liniowe.
UWAGA : Powyższy przykład tylko ilustruje współdziałanie sterownika PLC z enkoderem inkrementalnym , w praktyce stosowane ( jak wspomniano wcześniej ) są gotowe moduły programowe dostarczane przez producentów sterowników. Spowodowane jest to stosunkowo wolna praca sterownika w normalnym trybie.
Przykład : Dla wypozycjonowania z dokładnością tylko do 1 mm ( co na warunki przemysłowe jest dokładnością "żadną") na długości 1m używając enkodera jedno obrotowego (1 obr = 1m) wymagana rozdzielczość enkodera wynosi 1000 imp/obr. Zakładając użycie nawet szybkiego sterownika PLC np z czasem cyklu 10 ms , minimalny czas przesunięcia o 1m wynosiłby 20s czyli osiągnięto by prędkość 3m na minutę . Łatwo policzyć , że dla osiągnięcia dokładności 0,1mm czas przesunięcia w tym przypadku wydłuża się 10 razy .
Enkodery absolutne - Tutaj wynik pomiaru przedstawiany jest nieco inaczej tzn w postaci słowa o określonej ilości bitów czyli ciągu bitów określających dokładnie położenie kątowe enkodera . Rozdzielczość enkodera określana jest za pośrednictwem ilości bitów w jakich przedstawiany jest wynik. Na przykład enkoder o rozdzielczości 8 bitów ma tarcze podzieloną na 256 części i jego rozdzielczość wynosi 1,40625 stopnia
W przypadku enkoderów absolutnych , inaczej niż w enkoderach inkrementalnych , zawsze wiadomo w jakiej pozycji się on znajduje wynika to z budowy tarczy pomiarowej . W enkoderach absolutnych wykorzystuje się zwykle dwa typy kodowania jest to naturalny kod dwójkowy oraz tzw. kod Gray'a .
Zaletą kodu Gray'a jest to , że zmiana sąsiadujących ze sobą wartości następuje poprzez zmianę tylko jednego bitu.
Poniżej rysunki tarcz dla obu typów kodowania dla wartości 4 bitowych.
Wartość dziesiętna |
Wartość w kodzie Gray'a |
Wartość dwójkowa |
|
|
0 |
0000 |
0000 |
|
|
1 |
0001 |
0001 |
|
|
2 |
0011 |
0010 |
|
|
3 |
0010 |
0011 |
|
|
4 |
0110 |
0100 |
|
|
5 |
0111 |
0101 |
|
|
6 |
0101 |
0110 |
|
|
7 |
0100 |
0111 |
|
|
8 |
1100 |
1000 |
|
|
9 |
1101 |
1001 |
|
|
10 |
1111 |
1010 |
|
|
11 |
1110 |
1011 |
|
|
12 |
1010 |
1100 |
|
|
13 |
1011 |
1101 |
|
|
14 |
1001 |
1110 |
|
|
15 |
1000 |
1111 |
|
|