Wstęp
Podczas nauki programowania sterownika PLC najbardziej ekscytującym momentem jest wgranie programu na fizyczny sterownik i sprawdzenie jego działania. Nic tak nie cieszy, jak naciśnięcie przycisku i obserwowanie reakcji diody. Między programem a wgraniem jest jeszcze jeden istotny krok, podłączenie sterownika. Niby nic takiego, przecież każdy poradzi sobie z podłączeniem typowego s7-1200. Jeżeli posiadany model jest przystosowany tylko do napięcia 24VDC, łączy się wszystkie L+ do 24V, wszystkie M do 0V. Jest to poprawne podejście, w większości przypadków. Sterownik do działania wymaga zasilania tylko na dwóch wejściach: L+ i M.
O "L" i o "M"
Pozostałe L-ki i M-ki nie są takie oczywiste. 3L+ i 3M są odpowiedzialne za zasilanie samych wyjść sterownika. Bez nich sterownik będzie działał, ale nie będzie sterował niczym. Osobne zasilanie (producent wymaga 24VDC) jest po to, żeby móc oddzielić układ sterujący od wykonawczego, kwestia zakłóceń.
Złącze 2M jest wykorzystywane jako punkt odniesienia dla wejścia analogowego. Bez jego podłączenia sterownik będzie mierzył rozmiar buta zamiast napięcia z zakresu 0-10V.
Złącze 1M pozwala na zmianę zachowania wejść sterownika. W jaki sposób? Pozwala na zamianę wejść typu dren na wejścia typu źródło. Czyli zamiast tworzyć ścieżkę sygnałową: 24VDC –> przycisk –> wejście sterownika, tworzy się ścieżkę: wejście sterownika -> przycisk -> 0VDC.
Zamiast podawać napięcie na wejście sterownika, zawiera się napięcie z wejścia do 0VDC. Jest to skuteczniejsze, jeżeli chodzi o zakłócenia, ponieważ niezależnie od jakości zasilania i wartości, 0V to zawsze 0V. Jak wprowadzić taką zmianę? Do złącza 1M podłącza się zamiast 0V DC, 24VDC. Jest to bezpieczny zabieg opisany w S7-1200 Easy Book sekcja A.2. Chcąc wprowadzić taką zmianę dla wyjść sterownika, trzeba się zagłębić w dokumentację konkretnego modelu, bo przeważnie wyjścia działają w tylko jeden określony sposób. A co jeśli takie podejście kogoś nie interesuje i woli dalej korzystać ze standardowej logiki 24V? Po co takiej osobie wiedza o możliwościach zmiany? Odpowiedź jest prosta, standardowa logika nie zawsze się sprawdza.
Enkoder
Przykładowym urządzeniem wymuszającym od użytkownika zmianę typu wejść może być enkoder. O enkoderach wiele zostało już napisane np. https://www.ebmia.pl/wiedza/porady/automatyka-porady/enkoder/ . W dużym skrócie enkoder to urządzenie pozwalające na określenie pozycji obiektu poprzez ściśle określony sygnał. Artykuł jest oparty o enkoder PIB3806-100-G5-24C. Jest to enkoder typu open collector i po podłączeniu do sterownika w sposób standardowy, nie działa. Dlaczego?
Na powyższym rysunku przedstawiono uproszczone połączenie enkodera z jedną fazą, jednym źródłem impulsów. Wiedząc, że jeśli 1M jest połączone z 0VDC, to wejścia mają domyślnie 0VDC i są aktywowane sygnałem 24VDC. W pokazanym przypadku enkoder po wykryciu nowej pozycji daje impuls na wbudowany tranzystor. Tranzystor się „otwiera” i sygnał 0VDC z wejścia I0.0 jest przekazywany do 0VDC. Czyli nic się nie dzieje. Jak rozwiązać problem? Trzeba wymienić enkoder albo 1M podłączyć do 24VDC.
W tym przypadku enkoder po wykryciu zmiany pozycji da impuls i otworzy tranzystor. Sygnał z wejścia sterownika I0.0 (teraz 24VDC) zostanie podłączony do 0VDC. Na wejściu sterownika będzie 0VDC. Impuls zostanie wykryty. Po impulsie tranzystor zostanie zamknięty i na wejściu sterownika znowu pojawi się 24VDC. Na poniższym rysunku znajduje się przykładowe podłączenie enkodera typu TTL. Enkoder po wykryciu zmiany pozycji, użyje impulsu do otwarcia tranzystora i poda sygnał 24VDC na wejście sterownika I0.0.
Wymiana enkodera może być konieczna, jeśli zastosowany sterownik nie posiada wejść typu źródło albo nie pozwala na taką konfigurację. Wówczas trzeba policzyć, co jest droższe i wymienić enkoder, lub urządzenia wejściowe, lub kupić osobny moduł wejść cyfrowych.
Niezależnie od rodzaju enkodera inkrementalnego (impulsowego) TTL albo OpenCollector, liczba podłączonych sygnałów zależy od wymaganej dokładności. Enkoder ma dwa wejścia zasilające i 3 wyjścia sygnałowe. Wyjścia A i B dają impuls, jeżeli enkoder wykryje zmianę pozycji. Są przesunięte względem siebie o 90°, żeby móc wykrywać kierunek obrotów. Jeżeli enkoder jest wymagany do pomiaru prędkości obrotowej, sygnał A wystarczy. Jeżeli ma mierzyć położenie, to sygnały A i B są wymagane. Trzecie wyjście Z, jest wykorzystywane do wykrywania pełnego obrotu. Jest aktywne tylko dla jednej pozycji i można je wykorzystać do zliczania obrotów lub kalibracji elementu sterowanego.
Na powyższym rysunku pokazano podłączenie enkodera TTL do sterownika. Dla OpenCollector wystarczy 1M połączyć z 24VDC. Kolory przewodów nie są istotne, bo zależą od producenta i zawsze trzeba sprawdzać ich przypisanie do funkcji.
Program
Podłączony enkoder należy uwzględnić w programie. Do enkoderów można szukać specjalnych modułów, wykorzystać szybkie wejścia, wykorzystać zwykłe wejścia.
Szybkie wejścia
Na początek trzeba włączyć szybkie liczniki sterownika (jeżeli sterownik takie posiada). W ustawieniach w zakładce General -> Hight speed counters (HSC) należy wybrać jeden z dostępnych liczników np. HSC1 i w zakładce General -> Enable zaznaczyć pole Enable this hight speed counter.
Następnie będąc dalej w zakładce HSC1, trzeba wybrać parametry zliczania. Type of counting: Counting – zwykłe zliczanie, Period – okres między impulsami, Frequency – częstotliwość impulsów i Motion Control – sterowanie urządzeniami motion control (układy wykonawcze, silniki itp.). Do testów wystarczy opcja Count. Dalej trzeba wybrać Operating phase. Do enkodera impulsowego TTL lub OpenCollector wystarczy wybór A/B counter, czyli zliczanie wykorzystujące oba sygnały A i B. Initial counting direction określa początkowy kierunek zliczania.
Jeżeli zastosowano inne wejścia niż I0.0 i I0.1, można je dostosować w zakładce Hardware Input.
Szybkie liczniki zliczają szybko i dlatego trzeba dostosować wejścia cyfrowe, które są domyślnie dostosowane do obsługi przycisków. Dla przycisków nie jest wymagany krótki czas reakcji, wymagana jest niezawodność i zabezpieczenie przed zakłóceniami. W zakładce DI 8/ DQ6 -> Digital inputs są opcje związane z obsługą sygnałów wejściowych sterownika. Domyślnie jest ustawiony czas Input filters na wartość np. 6,4ms. Jest to okres, podczas którego sterownik analizuje, czy przycisk został wciśnięty, czy nie. Dobrze jest ten czas zmniejszyć do 1,6us (mikrosekundy). W przeciwnym wypadku odrobinę szybsze obroty enkodera sterownik będzie gubił impulsy. Dlatego w Channel0 i Channel1 trzeba ustawić czas np. 1,6us, lub mniejszy, jeżeli impulsy będą gubione.
Program jest gotowy. Wystarczy odczytać zliczoną wartość impulsów. Adres zależy od sterownika i ustawień. W oknie TIA Portal Device configuration -> Device overview trzeba znaleźć pozycje HSC. Jak widać na poniższym zdjęciu, adresy zaczynają się od 1000.
Odczyt realizuje się poprzez adres %ID1000. Można to sprawdzić w watchtable poprzez dodanie pola z takim adresem. Nazwa Name nie ma znaczenia.
Gotowy program wgrywamy na sterownik jako Hardware and Software i obserwujemy działanie. Na wejściach sterownika będą widoczne impulsy z enkodera. Jeżeli tak nie jest, trzeba sprawdzić połączenia elektryczne i typ enkodera.
Comments