1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik dwukierunkowy. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro Sterownik VersaMax Micro jest wyposażony w cztery liczniki typu, a zatem można je skonfigurować do obsługi licznika typu B i wyjścia PT do sterowania silnikiem krokowym. Schemat połączeń zewnętrznych sterownika VersaMax Micro IC200UDD020 Z przedstawionego schematu wynika, że sterownik jest przystosowany do podłączenia sygnałów z czujników pomiarowych i elementów sterujących zarówno z logiką dodatnią, jak i ujemną, na schemacie pokazane jest podłączenie według logiki 1
dodatniej tzn. uzyskanie stanu aktywnego na wejściu sterownika wymaga podania sygnału napięciowego na poziomie +24 VDC. Model sterownika IC200UDD020 VersaMax Micro posiada 8 wyjść tranzystorowych, zgrupowanych w dwa bloki po 4 wyjścia, które mogą być zasilane z różnych źródeł. W ćwiczeniu do zadawania sygnałów wejściowych sterowniki zostały wyposażone w symulatory sygnałów wejściowych. Stan aktywności wyjść sterujących będzie automatycznie odczytywany z wskaźnika stanu znajdującego się na płycie czołowej sterownika. 3. Charakterystyka bloków funkcyjnych wykorzystywanych w ćwiczeniu Funkcja matematyczna blok ADD Dodawanie liczby 26 do liczby w rejestrze R44. Do dodawania liczb wykorzystano blok ADD_INT. Służy on do dodawania liczb całkowitych. Pierwszy operand to stała równa 26, drugi liczba w rejestrze R44. Wynik operacji przesyłany jest do rejestru R50. Relacje matematyczne Blok EQ Sprawdzenie, czy liczba w rejestrze R1 to liczba 16 Blok EQ pozwala na porównanie dwóch liczb. Jeżeli parametry wejściowe spełniają relację równości, przesyłany jest sygnał potwierdzający Q. 2
Operacje na danych blok MOVE Skopiowanie słowa bitowego z rejestru R1 na wyjście, od adresu Q1 Do przemieszczania danych jako pojedynczych bitów służy funkcja MOVE. Ponieważ dane są przesyłane jako bity, nowy adres nie musi odpowiadać temu samemu typowi danych, co adres oryginalny. Skopiowanie jednego słowa na wyjście począwszy od Q1, spowoduje, że wynik zajmie szesnaście kolejnych lokacji. Liczniki i przekaźniki czasowe blok UPCTR Program sygnalizujący, że do wejścia I1 dotarło przynajmniej 10 impulsów: Licznik zliczający w górę. Służy on do zliczania impulsów od 0 do wartości zadanej. Każda zmiana sygnału I1 z 0 na 1 powoduje zwiększenie jego wartości bieżącej o 1. Podanie sygnału na I2 powoduje wyzerowanie licznika. Po zliczeniu wartości zadanej przesyłany jest sygnał do przekaźnika M1. Na ten licznik należy zarezerwować trzy kolejne rejestry. Operacje na danych blok BLKMOVE Do przesyłania zawartości pojedynczych rejestrów służy standardowo blok funkcyjny MOVE. Jednakże często w programach sterujących istnieje potrzeba przesyłania danych zgrupowanych w odpowiednie bloki. Przykładem może być konfiguracja licznika szybkich impulsów HSC, gdzie koniecznie należy zastosować blok przesyłania danych i użyć dodatkowo funkcji COMMREQ 3
Funkcja BLKMOVE służy do skopiowania grupy siedmiu stałych wartości do określonego obszaru pamięci sterownika. Gdy do bloku funkcyjnego dopływa sygnał wejściowy, stałe wartości są kopiowane w miejsce zaadresowane przez parametr Q. Doprowadzenie sygnału do bloku funkcyjnego powoduje wykonanie przemieszczenia danych do nowego obszaru, którego adres podany jest w zmiennej przypisanej do wyjścia Q. Funkcja żądanie komunikacji (COMMREQ) przeznaczona jest do komunikacji z modułami specjalistycznymi. Gdy do bloku funkcyjnego dopłynie sygnał wejściowy, realizowana jest odpowiednia komenda komunikacyjna podana w pozycji TAS. Adres początku przesyłanych danych podany jest na wejściu IN. W prezentowanym fragmencie programu sterującego przesyłany jest blok danych konfiguracyjnych odpowiedzialnych za zerowanie zawartości licznika szybkich impulsów HSC, wykonywany jednokrotnie podczas pierwszego cyklu programu sterującego. 4
4. Konfigurowanie funkcji licznika impulsów wysokiej częstotliwości W celu skonfigurowania funkcji licznika impulsów wysokiej częstotliwości i wyjścia PT wykorzystywanego do sterowania silnikiem krokowym należy uaktywnić każdą żądaną funkcję za pomocą oprogramowania konfiguracyjnego. W programie sterującym należy ponadto ustawić odpowiednie bity aktywujące daną funkcję. Poniżej przedstawiono przykładowy szczebel programu sterującego, który ustawia bit aktywności wyjścia dla licznika impulsów wysokiej częstotliwości nr 1. Łączenie funkcji licznika impulsów wysokiej częstotliwości, PWM oraz PT Funkcje licznika impulsów wysokiej częstotliwości oraz PT korzystają z tych samych punktów wejść i wyjść. Podczas konfigurowania korzystanie z tych funkcji jest określane najpierw przez wybór liczby kanałów, obsługiwanych przez sterownik. Po skonfigurowaniu liczby kanałów, działanie liczników, PWM i PTO może zostać ustawione dla każdego kanału osobno. Każdy kanał może wtedy zostać skonfigurowany jako licznik impulsów wysokiej częstotliwości, kanał PWM lub kanał PT. (Wejścia liczników impulsów wysokiej częstotliwości nie mogą być łączone na tym samym kanale wraz z wyjściami PWM lub PTO.) Kanał, który wykorzystuje wejścia licznika impulsów wysokiej częstotliwości może używać związanego z nim wyjścia (wyjść) impulsów charakterze licznika impulsów wysokiej częstotliwości lub standardowego wyjścia (wyjść). Kanał, który wykorzystuje wyjścia PWM lub PT może używać związanych z nim wejść jako wejść standardowych. 5
W przypadku wyboru licznika typu B automatycznie 3 pierwsze liczniki wykorzystywane są do jego obsługi, natomiast licznik nr 4 można skonfigurować jako wyjście PT Licznik dwukierunkowy typu B Licznik typu B wykorzystuje dwa sygnały wejściowe licznika do zliczania z funkcją sumowania lub odejmowania w zależności od kierunku obrotu A Quad B. Powiązanie fazowe pomiędzy wejściami licznika (A i B) określa czy akumulator jest inkrementowany, czy dekrementowany przy zmianie stanu każdego z wejść licznika. Zliczanie jest wykonywane w górę, jeżeli A poprzedza B. Zliczanie jest wykonywane w dół, jeżeli A jest opóźnione w stosunku do B. Licznik typu B może być wyposażony w jedno wyjście, które jest aktywowane w oparciu o wybrane wartości Preset ON i OFF. Licznik typu B jest wyposażony w rejestr strobujący, 16-bitowy akumulator oraz rejestr liczby impulsów na podstawę czasu. Z wyjątkiem rejestru liczby impulsów na podstawę czasu, pozostałe urządzenia działają tak samo, jak w liczniku typu A. 6
Dla liczników typu B wartość liczby impulsów na podstawę czasu reprezentuje względne przesunięcie przy czasie próbkowania, a nie dokładną ilość zliczeń. Przykładowo, jeżeli licznik zaczyna od wartości 10, dochodzi do 20, a później zlicza z powrotem do wartości 15, ostateczna wartość liczby impulsów na podstawę czasową wynosi 5. 5. Wykonanie ćwiczenia W ramach ćwiczenia należy opracować algorytm sterowania silnikiem krokowym. Do realizacji tego ćwiczenia nie jest wymagane specjalistyczne stanowisko dydaktyczne. Do sterownika podłączone są jedynie niezbędne urządzenia współpracujące tzn. symulator sygnałów zadających (wymagane jedynie 2 wejścia), sterownik silnika krokowego połączony bezpośrednio z silnikiem i enkoder do pomiaru położenia wału silnika. Należy opracować algorytm sterowania silnikiem krokowym realizujący poniższe funkcje: Wciśnięcie pierwszego przycisku na symulatorze ma zainicjować cykl wykonania 4 kolejnych obrotów silnika w lewo, każdy po ¼ obrotu, wykonywane w odstępach co 10 s, Wciśnięcie drugiego przycisku realizuje odpowiednio obrót silnika w prawo. Należy na bieżąco rejestrować wskazania licznika i wyciągnąć wnioski ze wskazań po zakończeniu symulacji. W algorytmie obsługi silnika krokowego należy wykorzystać bloki funkcyjne do pomiaru czasu (bloki TMR, bloki ONDTR) oraz bloki do przesyłania danych (blok BLKMOVE). Na początek w programie sterującym należy zdefiniować tablicę deklaracji zmiennych według wytycznych narzuconych przez konfigurację liczników HSC. Po napisaniu programu sterującego należy zaprogramować sterownik i zweryfikować poprawność opracowanego algorytmu sterowania. 7