Instrukcja obsługi Część 1 HARDWARE + SOFTWARE wieloosiowy sterownik ruchu 3Motion 4S2A wersja 02.2017 1 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
SPIS TREŚCI SPIS TREŚCI... 2 1. Wstęp... 4 1.1. Wymogi bezpieczeństwa... 4 1.2. Informacje ogólne... 5 1.2.1. Profile ruchu.... 5 1.2.2. Interpolacja liniowa i kołowa.... 6 1.2.3. Tryb wygładzania trajektorii ruchu.... 6 1.2.4. Obsługa G-kodów.... 7 1.2.5. Komunikacja przy pomocy biblioteki DLL.... 7 1.2.6. Typy danych.... 7 2. HARDWARE... 8 2.1. Dane techniczne... 8 2.2. Budowa zewnętrzna... 8 2.2.1. Złącza.... 8 2.2.2. Diody sygnalizacyjne... 11 3. SOFTWARE... 12 3.1. program narzędziowy 3MotionManager... 12 3.1.1. Zasady tworzenia programu z bloków funkcyjnych.... 12 3.1.2. Ekran główny... 14 3.1.3. Edycja diagramu bloków funkcyjnych... 18 3.1.4. Komendy tekstowe.... 20 3.2. Rejestry R specjalne i użytkownika.... 21 3.2.1. Wartości rejestrów... 21 3.2.2. Nazwa rejestru.... 21 3.2.3. Wartość minimalna i maksymalna rejestru.... 22 3.2.4. Wartość domyślna rejestru.... 22 3.2.5. Rejestry trwałe (Retentive).... 22 3.2.6. Komentarze do rejestrów.... 22 3.3. Markery M specjalne i użytkownika.... 22 3.3.1. Wartości markerów M.... 23 3.3.2. Nazwa Markera.... 23 3.3.3. Wartość domyślna markera.... 24 3.3.4. Markery trwałe (Retentive)... 24 3.3.5. Komentarze do markerów.... 24 3.4. Konfiguracja i zastosowanie wejść fizycznych.... 24 3.4.1. Wejścia cyfrowe.... 24 2 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.4.2. Wejścia analogowe... 26 3.4.3. Wejścia enkoderowe.... 27 3.5. Konfiguracja i zastosowanie wyjść fizycznych.... 30 3.5.1. Wyjścia cyfrowe.... 30 3.5.2. Wyjścia analogowe... 31 3.5.3. Wyjścia krok/kierunek... 32 3.6. Komunikacja ze sterownikiem... 33 3.6.1. Konfiguracja portów USB, Ethernet i RS-485.... 33 3.6.2. Połączenie ze sterownikiem.... 34 3.6.3. Kompilacja programu.... 35 3.6.4. Wysyłanie, pobierania i kasowanie programu sterującego.... 35 3.6.5. Tryby pracy sterownika i symulacji.... 36 3.7. Tryb monitoringu i symulacji.... 38 3.7.1. Wymuszanie stanu wejść/wyjść sterownika... 38 3.7.2. Emulator (symulator) sterownika 3Motion i urządzenia (środowiska pracy).... 39 3.7.3. Wyświetlanie wykresów przy pomocy funkcji SCOPE.... 39 4. STEROWANIE NAPĘDAMI I G-KODY.... 42 4.1. Konfigurowanie osi z napędami.... 42 4.2. Poruszanie napędami.... 45 4.2.1. Ruch z zadaną prędkością... 45 4.2.2. Ruch bez interpolacji... 45 4.2.3. Ruch z interpolacją liniową.... 45 4.2.4. Ruch z interpolacją kołową... 45 4.2.5. Obsługa G-kodów... 45 4.2.6. Konfiguracja bloków funkcyjnych do obsługi G-kodów... 51 3 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
1. Wstęp 1.1. Wymogi bezpieczeństwa UWAGA: Poniższe wymogi bezpieczeństwa nie zawierają wszystkich informacji dotyczących działania urządzenia. Należy się zapoznać z niniejszą instrukcją obsługi w całości! UWAGA: Wszelkich podłączeń i zmian należy dokonywać przy odłączonym napięciu zasilającym. UWAGA: Instalacja oraz programowanie urządzenia wymagają posiadania odpowiednich umiejętności, dlatego mogą być dokonywane tylko przez wykwalifikowany personel po zapoznaniu się z całą instrukcją obsługi. UWAGA: W przypadku, gdy urządzenie ulegnie uszkodzeniu, należy skontaktować się ze sprzedawcą lub osobą odpowiedzialną za instalację. UWAGA: Nieprawidłowo podłączone urządzenie może ulec uszkodzeniu. UWAGA: Odpowiedzialność za prawidłową instalację urządzenia spoczywa na osobie montującej. Należy się upewnić czy spełnione zostają wszystkie wytyczne i normy obowiązujące w danym kraju. UWAGA: Wyładowania elektrostatyczne mogą uszkodzić urządzenie. Należy stosować odpowiednie zabezpieczenie. UWAGA: Urządzenie należy zabezpieczyć przed dostaniem się do jego wnętrza jakichkolwiek zabrudzeń, kawałków metalu oraz cieczy UWAGA: Urządzenie należy wykorzystywać zgodnie z jego przeznaczeniem opisanym w niniejszej instrukcji Uwaga: Należy zapoznać się dokładnie z instrukcją obsługi sterownika i sposobem tworzenia programu przed jego przesłaniem do sterownika. Nieumiejętne skonfigurowanie sterownika i jego programu może spowodować jego nieprawidłowe lub niezamierzone działanie i przyczynić się do niebezpiecznego wypadku. UWAGA: Wysłanie komendy tekstowej do sterownika może spowodować uruchomienie jakiegoś urządzenia (w tym napędu) podłączonego bezpośrednio lub pośrednio do sterownika co może grozić niebezpiecznym wypadkiem!!! UWAGA: Wszelkie nieautoryzowane przeróbki, modyfikacje oraz próby naprawy powodują utratę gwarancji. UWAGA: Firma Mutliprojekt Automatyka Sp. z o.o. dołożyła wszelkich starań, aby sterownik 3Motion pracował prawidłowo, jednakże nie odpowiadamy za ewentualne szkody wynikłe z nieprawidłowej pracy urządzenia. Działanie każdego urządzenia, w którym zastosowano sterownik musi zostać dokładnie sprawdzone przed oddaniem go do użytkowania. UWAGA: Za prawidłowe działanie urządzenia, w którym zastosowano sterownik 3Motion i spełnienie przez nie wszystkich obowiązujących norm odpowiada osoba, firma lub instytucja zajmująca się budową urządzenia. UWAGA: Załączenie trybu RUN powoduje uruchomienie programu sterownika!!! Przed włączeniem trybu RUN upewnij się czy zostały spełnione wszystkie wymogi bezpieczeństwa!!! 4 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
1.2. Informacje ogólne Sterownik 3Motion 4S2A jest przeznaczony do sterowania urządzeniami automatyki przemysłowej ze szczególnym uwzględnieniem tych, które wykorzystują napędy. Wbudowane funkcje do kontroli ruchu umożliwiają generowanie trajektorii ruchu i synchronizację napędów. Sterownik jest programowany przy pomocy bloków funkcyjnych z elementami języka drabinkowego. Dedykowane bloki funkcyjne ułatwiają konfiguracje systemu i jego programowanie. Wejścia oraz wyjścia sterownika są przystosowane do bezpośredniej współpracy z wieloma typami napędów poprzez wykorzystanie sygnałów krok/kierunek (STEP/DIR) oraz sygnałów analogowych +/-10V. Jako sprzężenie zwrotne mogą być zastosowane działające w różnych trybach standardowe enkodery A/B-fazowe. Dodatkowo sterownik posiada wejścia i wyjścia cyfrowe i analogowe. Program narzędziowy umożliwia przeprowadzenie symulacji działania sterownika ale i symulacji urządzenia, które jest do sterownika podłączone. Dotyczy to np. smulacji działania zaworów i siłowników pneumatycznych, czujników czy silników. Istnieje możliwość zbudowania przy pomocy bloków funkcyjnych modelu praktycznie każdego urządzenia. 1.2.1. Profile ruchu. Sterownik generuje przebiegi pozycji, prędkości i przyspieszenia ruchu uwzględniając zryw (pierwsza pochodna przyspieszenia) sterowanych napędów. Rys. 1.2.1.1. pokazuje przebiegi prędkości i przyspieszenia podczas ruchu osi sterowanych przez sterownik 3Motion. Prędkość ruchu zmienia się zgodnie z przebiegiem tzw. S-rampy. Oznacza to, że w poszczególnych fazach ruchu uwzględniona jest zmiana prędkości z przyspieszeniem które narasta liniowo (uwzględniono zryw). Ruch jednego napędu odbywa się w 3 etapach, z których pierwszy i ostatni są podzielone na 3 fazy zgodnie z opisem w tabeli 1.2.1.1. Rys. 1.2.1.1. Profil ruchu napędów sterowanych przez sterownik 3Motion: tgα = aacc, tgβ1 = j1, tgβ2 = j2. 5 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 1.2.1.1. Faz ruchu. Etap Zakres czasowy I rozpędzanie II ruch jednostajny III hamowanie 0 < < < < < < Faza 1 2 3 4 5 6 7 Prędkość Wzrasta parabolicznie Wzrasta liniowo Wzrasta parabolicznie stała Maleje parabolicznie Maleje liniowo Maleje parabolicznie Przyspieszenie Dodatnie wzrasta liniowo Dodatnie stałe Dodatnie maleje liniowo = = zero Ujemne wzrasta liniowo Ujemne stałe 0 = Ujemne maleje liniowo + zryw dodatni zero ujemny zero ujemny zero dodatni j(t) = = 0 0 0 1.2.2. Interpolacja liniowa i kołowa. Sterownik 3Motion pozwala na sterowanie ruchem napędów z interpolacją liniową oraz kołową (rys. 1.2.2.1.). Typ ruchu zależy od zastosowanych komend lub programu zapisanego w G-kodach, co zostało dokładniej opisane w dalszej części instrukcji. a) b) c) Rys. 1.2.2.1. Ruch napędów a) bez interpolacji, b) z interpolacją liniową, c) z interpolacją kołową. 1.2.3. Tryb wygładzania trajektorii ruchu. Sterownik 3Motion posiada możliwość wygładzania trajektorii przejścia między poszczególnymi fazami ruchu, co wpływa korzystnie na zachowanie się napędów a co za tym idzie całego urządzenia. Standardowe sterowniki przy przejściu między ruchami z interpolacją liniową i kołową zmieniają prędkość w sposób skokowy co wywołuje drgania w całym układzie (napęd + przeniesienie napędu + masy poruszane). Wpływa to niekorzystnie na zachowanie się urządzenia i jakość końcowych produktów. Zastosowanie systemu wygładzania trajektorii przejścia pozwala znacznie zredukować drgania urządzenia i zwiększyć prędkość jego działania. System ten polega na wstawianiu łuków między poszczególne fazy ruchu w taki sposób aby łuki te były styczne do wcześniej wykonywanego ruchu i ruchu następującego po nim, a jednocześnie aby ich promienie oraz przyspieszenie były dostosowane do możliwości urządzenia przy zachowaniu wymaganej maksymalnej odchyłki e między trajektorią zadaną a rzeczywistą (rys. 1.2.3.1.). Taki sposób sterowania napędami wpływa korzystnie na: - szybkość pracy - jakość produktów końcowych - zużycie elementów mechanicznych - komfort i higienę pracy z urządzeniem (mniejszy hałas i wibracje). 6 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 1.2.3.1. Wygładzanie trajektorii ruchu. Optymalizacja programu zapisanego w G-kodach może być wywołana przy pomocy bloku funkcyjnego nr 172 (GC_OPT). 1.2.4. Obsługa G-kodów. System zapisu trajektorii ruchu narzędzia, sekwencji jego wymiany oraz innych czynności, które ma wykonywać urządzenie przy pomocy G-kodów jest aktualnie najbardziej popularnym standardem światowym. G-kody mogą być generowane przez większość programów CAD służących do rysowania brył 3D oraz rysunków 2D (najczęściej konieczne jest dokupienie programu CAM służącego do generowania G-kodów). Sterownik 3Motion obsługuje G-kody zgodnie ze specyfikacja zawartą w rozdziale 4.2.5. Program G-kodów jest przesyłany do sterownika przy pomocy odpowiednich komend poprzez łącze USB. Komendy te wstawiają linie kodu do pamięci operacyjnej sterownika. Program zapisany w G-kodach jest sekwencyjnie wykonywany przez sterownik po odpowiednim jego skonfigurowaniu. Szczegóły obsługi G-kodów i karty pamięci SD zostały opisane w dalszej części instrukcji. 1.2.5. Komunikacja przy pomocy biblioteki DLL. Do komunikacji z urządzeniem można wykorzystać darmowe biblioteki DLL. Funkcje zawarte w bibliotekach DLL zawierają obsługę większości komend tekstowych Dodatek A. 1.2.6. Typy danych. Sterownik 3Motion posiada trzy typy zmiennych. Informacje o tych typach zamieszczono w tabeli 1.2.6.1. Tabela 1.2.6.1. Typy zmiennych sterownika 3Motion nazwa Oznaczenie Opis typu Zakres zmienności zalecany możliwy do uzyskania Boolean B Logiczny 0, 1 0, 1 X, Y, M Integer I Całkowity 2 147483648 2147483 647 2 147483648 2147483 647 R Real R Rzeczywisty 2 147 483 648 2 147 483 647-1,7 10E308... 1,7 10E308 R urządzenia W tabeli 1.2.6.1. Określono dwa zakresy zmienności ( sugerowany i możliwy do uzyskania ). Rejestry są typu rzeczywistego, którego zakres 'możliwy do uzyskania' jest większy niż dla typu całkowitego. Jeżeli rejestr ma być wykorzystywany do operacji na liczbach typu całkowitego, to powinno się stosować 'zakres zalecany', w celu uniknięcia błędów konwersji. 7 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
2. HARDWARE 2.1. Dane techniczne Tabela 2.1.1. Parametry techniczne sterownika 3Motion. Parametr Wartość i uwagi Napięcie i prąd zasilania / power supply 24 VDC (400 ma) Temperatura pracy / working temperature 5..40 o C Wilgotność otoczenia / humidity 10..90% Stopień ochrony IP / IP protection IP44 Wymiary [mm] / dimentions [mm] 190 x 112 x 36 Masa / weight 300 g Port USB 1 x USB 2.0, złącze typu mini USB w systemie jako port COM Port Ethernet 1 x złącze RJ45 (w wersji 4S2A opcja nieaktywna) Port RS-485 1 Wejścia cyfrowe / digital inputs 14, 0V-stan niski, 24V-stan wysoki. Polaryzacja dowolna Wszystkie wejścia posiadają zabezpieczenie przeciwprzepięciowe i przeciwzakłóceniowe. Wyjścia cyfrowe / digital outputs Wejścia analogowe / analog inputs Wyjścia analogowe do napędów / analog outputs dedicated to drives Wejścia enkoderowe / encoder inputs Wyjścia typu krok/kierunek / STEP/DIR outputs Liczba bloków funkcyjnych programu sterownika / Numer of program function blocks Rejestry użytkownika / user registers Rejestry specjalne / special registers Markery użytkownika Markery specjalne Karta SD 10, zakres napięć 0V..30V. Polaryzacja dowolna Wszystkie wyjścia posiadają zabezpieczenie przeciwprzepięciowe i przeciwzakłóceniowe 2, zakres napięć +-10V 2, zakres napięć +-10V (domyślnie wyłączone, gdy nie używane) 3 wejść enkoderowych, fazy: A, B, Z 4 pary różnicowe do 2000 R1 R3000 R3001 R5000 M1 M1000 M1001 M2000 MicroSD 2.2. Budowa zewnętrzna 2.2.1. Złącza. Sterownik 3Motion posiada następujące typy złącz: - zasilanie - wejścia enkoderowe - komunikajcyjne (USB, RS-485, Ethernet) - wejścia i wyjścia cyfrowe - wejścia i wyjścia analogowe - wyjścia różnicowe krok/kierunek - złącze na karte SD 8 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 2.2.1.1. Widok złącz sterownika 3Motion z oznaczeniami i numeracją zgodną z tabelą nr 2.2.1.1. W tabeli 2.2.1.1. zamieszczono parametry, opis i wygląd złącz. Tabela 2.2.1.1. Opis złącz sterownika 3Motion Symbol zmienna w programie opis Oznaczenie konektora wg rys. 2.2.1.1. ENC1 R3501 RJ45 - Wejście enkoderowe nr 1 ENC1 ENC2 R3511 RJ45 - Wejście enkoderowe nr 2 ENC2 ENC3 R3521 RJ45 - Wejście enkoderowe nr 3 ENC3 Grupa wejścia enkoderowa Typ konektora RJ45 S/S - Sink/Source X1 X1 Wejście binarne nr 1 X2 X2 Wejście binarne nr 2 X3 X3 Wejście binarne nr 3 X4 X4 Wejście binarne nr 4 X5 X5 Wejście binarne nr 5 X6 X6 Wejście binarne nr 6 X7 X7 Wejście binarne nr 7 S/S - Sink/Source X8 X8 Wejście binarne nr 8 X9 X9 Wejście binarne nr 9 X10 X10 Wejście binarne nr 10 X11 X11 Wejście binarne nr 11 X12 X12 Wejście binarne nr 12 X13 X13 Wejście binarne nr 13 X14 X14 Wejście binarne nr 14 AGND - Masa wejścia analogowego AI1 R3401 Wejście analogowe nr 1 AI2 R3402 Wejście analogowe nr 2 D+ - RS-485 D- - GND - +24V - Zasilanie 24VDC + -24V - Zasilanie 24VDC - 1 wejścia cyfrowe 2 wejścia cyfrowe 3 wejścia analogowe złącza komunikacyjne zasilanie 24VDC złącze 8-pinowe wyciągane 9 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 2.2.1.1. C.D. Symbol zmienna w programie ETH - Port Ethernetowy opis Oznaczenie konektora wg rys. 2.2.1.1. ETH Grupa złącza komunikacyjne Typ konektora RJ45 SD - Karta pamięci micro SD do przechowywania programu sterownika i ustawień początkowych. slot na kartę micro SD SD karty pamięci USB - Port USB USB złącza komunikacyjne Mini USB Tabela 2.2.1.1. C.D. Symbol zmienna w programie opis COM1 - Zasilanie wyjść binarnych grupa 1 Y1 Y1 Wyjście cyfrowe nr 1 Y2 Y2 Wyjście cyfrowe nr 2 Y3 Y3 Wyjście cyfrowe nr 3 Y4 Y4 Wyjście cyfrowe nr 4 Y5 Y5 Wyjście cyfrowe nr 5 Y6 Y6 Wyjście cyfrowe nr 6 Y7 Y7 Wyjście cyfrowe nr 7 COM2 - Zasilanie wyjść binarnych grupa 2 Y8 Y8 Wyjście cyfrowe nr 8 Y9 Y9 Wyjście cyfrowe nr 9 Y10 Y10 Wyjście cyfrowe nr 10 AGND1 - Masa wyjścia analogowego nr 1 AO1 R3421 Wyjście analogowe nr 1 AGND2 - Masa wyjścia analogowego nr 2 AO2 R3422 Wyjście analogowe nr 2 Oznaczenie konektora wg rys. 2.2.1.1. Grupa 4 wyjścia cyfrowe 5 wyjścia cyfrowe wyjścia analogowe Typ konektora złącze 8-pinowe wyciągane Tabela 2.2.1.1. C.D. Symbol zmienna w programie STEP1+ - + wyjścia krok 1 opis Oznaczenie konektora wg rys. 2.2.1.1. Grupa Typ konektora STEP1- - - wyjścia krok 1 DIR1+ - + wyjścia kierunek 1 DIR1- - - wyjścia kierunek 1 STEP2+ - + wyjścia krok 2 STEP2- - - wyjścia krok 2 6 złącze 8-pinowe wyciągane DIR2+ - + wyjścia kierunek 2 DIR2- - - wyjścia kierunek 2 STEP3+ - + wyjścia krok 3 STEP3- - - wyjścia krok 3 Wyjścia krok/kierunek DIR3+ - + wyjścia kierunek 3 DIR3- - - wyjścia kierunek 3 STEP4+ - + wyjścia krok 4 7 STEP4- - - wyjścia krok 4 DIR4+ - + wyjścia kierunek 4 DIR4- - - wyjścia kierunek 4 10 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
2.2.2. Diody sygnalizacyjne Tabela 2.2.2.1. Diody sygnalizacyjne sterownika 3Motion nazwa kolor sposób świecenia opis świecenia POWER czerwona światło ciągłe Podłączono zasilania +24VDC zgaszona Nie podłączono zasilania +24VDC, zasilanie nieprawidłowe lub awaria układu RUN czerwona puls co 250 ms Sterownik w trybie RUN zgaszona Błąd sterownika puls co 2 s Sterownik w trybie STOP od X1 do X14 czerwony* światło ciągłe Stan wysoki na danym wejścu cyfrowym X1 do X14 zgaszona Stan niski na danym wejścu cyfrowym X1 do X14 od Y1 do Y10 czerwony światło ciągłe Stan wysoki na danym wyjścu cyfrowym Y1 do Y14 (wyjście załączone) zgaszona Stan niski na danym wyjścu cyfrowym Y1 do Y14 (wyjście wyłączone) Tx dla RS-485 czerwona światło przerywane Sygnalizacja odbierania danych dla portu RS-485 Rx dla RS-485 czerwona światło przerywane Sygnalizacja wysyłania danych dla portu RS-485 Tx dla USB czerwona światło przerywane Sygnalizacja odbierania danych dla portu USB Rx dla USB czerwona światło przerywane Sygnalizacja wysyłania danych dla portu USB * UWAGA: w trybie monitoringu przy załączonych wymuszeniach wejść z programu sterującego (świecący się na czerwono przycisk FORCE w status monitorze) stan diody sygnalizuje napięcie na wejściu fizycznym, które może nieodpowiadać stanowi danego wejścia w programie 11 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3. SOFTWARE 3.1. program narzędziowy 3MotionManager Program narzędziowy służy do: - konfigurowania sterownika 3Motion, - tworzenia, wysłania lub pobierania programu sterującego, - monitorowania pracy sterownika, - wysyłania komend tekstowych do sterownika, - symulowania działania sterownika i urządzenia, do którego jest podłączony sterownik, - wymuszania stanu niektórych wejść i wyjść. Programowanie sterownika należy zacząć od wstawienia bloku sterownika 3MOTION na diagram na kartcie SIM. Po dokonaniu tej czynności ukażą się karty programu sterownika startup, control oraz PLC. 3.1.1. Zasady tworzenia programu z bloków funkcyjnych. Bloki funkcyjne. Bloki funkcyjne są graficzną reprezentacją funkcji, którą realizują. Opis działania każdej funkcji związanej z danym blokiem jest dostępny w dodatku B. Na rys. 3.1.1.1. pokazano przykład bloku funkcyjnego z opisem jego elementów. Rys. 3.1.1.1. Wygląd przykładowego bloku funkcyjnego wraz z opisem. Nazwa bloku może być zmieniana przez użytkownika we właściwościach bloku. Gdy nazwa nie jest nadana obszar ten nie jest wyświetlany. Ikona bloku może być zlikwidowana aby zmniejszyć obszar przez niego zajmowany. Wejścia i wyjścia są oznaczone odpowiednim kolorem i literą w zależności od typu sygnału, który można do nich podłączyć. Nazwy wejść i wyjść można zmieniać tylko w przypadku bloków reprezentujących grupę. Ustawienia i wartość aktualna jest wyświetlana jeżeli dany blok posiada takie wartości. Są one uaktualniane w trybie monitoringu. Zaznaczony aktualnie blok zmienia odcień na żółty. Sterownik realizuje obliczenia zmiennoprzecinkowe. Służą do tego odpowiednie bloki funkcjyjne. Wejścia lub wyjścia tych funkcji oznaczone są literą R. Szczegóły można znaleźć w dodatku B i w rozdziale Rejestry R specjalne i użytkownika. W obszarze diagramu bloków funkcyjnych znajduje się program działania symulacji oraz sterownika. Program tworzony jest przy pomocy bloków funkcyjnych połączonych ze sobą liniami reprezentującymi wymianę informacji między blokami. Bardzo ważnym jest zapoznanie się z zasadami tworzenie programu przy pomocy bloków funkcyjnych, gdyż od znajomości tego zagadnienia zależy prawidłowe działanie stworzonego programu. UWAGA: Nieprawidłowo napisany program może się przyczynić do nieoczekiwanego lub nieprzewidzianego zachowania się sterownika, co może spowodować niebezpieczny wypadku!!! Należy zapoznać się z poniższymi zasadami tworzenia programów przy pomocy bloków funkcyjnych w programie narzędziowym 3MotionManager. Kolejność bloków w programie: Program sterownika 3Motion tworzy się przy pomocy bloków funkcyjnych. Każdy blok funkcyjny reprezentuje funkcję do niego przypisaną. Pełny opis tych funkcji znajduje się w załączniku B. Odpowiednią funkcjonalność programu otrzymuje się łącząc bloki ze sobą i tworząc w ten sposób diagram. Kolejność wykonywania funkcji reprezentowanych przez bloki zależy od ich wzajemnych połączeń oraz od kolejności ułożenia na diagramie. Analizując kolejność wykonywania funkcji bloków należy uwzględnić kilka zasad, które są związane z kompilatorem: - kompilator dzieli bloki na dwie grupy: A: bloki, których wyjścia są podłączone do wejść innych bloków B: bloki, które albo nie mają wyjść (w zależności od typu bloku) albo mają wyjścia ale nie są one nigdzie podłączone - bloki grupy B są realizowane wg kolejności występowania na diagramie: im wyżej znajduje się blok tym wcześniej będzie zrealizowana funkcja z nim powiązana. Pod uwagę brane jest położenie górnego lewego narożnika bloku. W przypadku, gdy bloki znajdują się na tej samej wysokości to o kolejności decyduje ustawienia od lewej do prawej strony. - kolejność wykonania bloków grup A zależy od ich połączeń z innymi blokami: blok zostanie zrealizowany dopiero wtedy, gdy zostaną obliczone stany wyjść wszystkich bloków, które są połączone z jego wejściami. 12 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Na rysunku 3.1.1.2. pokazano narożnik, który jest brany pod uwagę przy wyznaczaniu kolejności obliczania bloków funkcyjnych a na rys. 3.1.1.3. przykładowy podział bloków na grupy A i B. Kolejność wykonywania bloków, które znajdują się w grupie będzie ustalana w taki sposób, że część programu znajdującego się w jednej grupie zostanie wykonana razem. Kolejność wykonywania bloków w grupie podlega tym samym zasadom, co w części głównej programu. Kolejność wykonywania bloków może być sprawdzona poprzez użycie 123 z przybornika głównego. Przycisku tego można użyć tylko po dokonaniu kompilacji programu. Rys. 3.1.1.2. Narożnik bloku brany pod uwagę przez kompilator przy wyznaczaniu kolejności bloków w programie. Rys. 3.1.1.3. Grupy bloków brane pod uwagę przy kompilacji. Na rysunku 3.1.1.4. opisano podstawowe funkcje programu służące do tworzenia i edycji diagramu. Rys. 3.1.1.4. Tworzenie i edycja diagramu. Cykle programu: Program sterownika wykonywany jest cyklicznie co zadany czas próbkowania. Częstotliwość wykonywania programu można zmienić ustawiając odpowiednią wartość w rejestrze specjalnym R3600 Control_Loop_Frequency w [Hz]. Domyślna wartością wynosi 2000 [Hz]. Należy uważać by nie przekroczyć częstotliwości granicznej, przy której czas wykonania jednego cyklu jest większy od czasu próbkowania. W takim przypadku kolejny cykl nie wykona się w odpowiednim momencie tylko zostanie pominięty i wykona się dopiero po zakończeniu poprzedniego cyklu ale w wyznaczonym czasem próbkowania momencie. Pełny cykl programu w trybie RUN składa się z poniższych etapów: 0: wykonanie programu z diagramu startup (tylko raz po włączeniu sterownika) I: odczytanie fizycznych wejść X, wejść analogowych i enkoderowych II: wykonanie programu z diagramu Control III: wykonanie programu z diagramu PLC IV: wysterowanie fizycznych wyjść Y i wyjść analogowych Powrót do etapu I. 13 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
W trybie STOP wykonywany jest tylko etap I (odczytanie fizycznych wejść X, wejść analogowych i enkoderowych) oraz etap IV (wysterowanie fizycznych wyjść Y i wyjść analogowych). W etapie IV załączane są tylko wyjścia, które są wymuszane ręcznie. 3.1.2. Ekran główny Widok ekranu głównego programu narzędziowego wraz z opisem pokazano na rysunku 3.1.2.1. Poniżej rysunku zamieszczono opis poszczególnych przycisków i obszarów interfejsu użytkownika. Rys. 3.1.2.1. Okno główne programu 3MotioManager 1.0 wraz opisem. Menu główne: Menu główne zawiera standardowe funkcje obsługi plików, ustawień oraz niektóre zdublowane funkcje znajdujące się w przyborniku głównym. Przybornik główny: Tabela 3.1.2.1. Przybornik główny programu narzędziowego 3MotionManager 1.0 Ikona/widok Skrót klawiszowy [CTRL] + [B] Polska nazwa Dodaj blok funkcyjny Angielska nazwa Add Function Block opis Dodanie wybranego z listy boku na diagram Grupa w przyborniku Edycja / Edit [CTRL] + [Z] Cofnij Undo Cofnięcie ostatniej operacji Edycja / Edit - Wznów Redo Ponowienie cofniętej operacji Edycja / Edit [Delete] Skasuj blok Delete block Usuwa wybrany (zaznaczony na żółto) blok funkcyjny lub grupę bloków z diagramu [CTRL] + [C] kopiuj Copy Kopiowanie zaznaczonego bloku lub grupy bloków [CTRL] + [X] Wytnij Cut Usuwanie zaznaczonego bloku lub grupy bloków Edycja / Edit Edycja / Edit Edycja / Edit [CTRL] + [V] Wklej Paste Wklejanie bloku lub grupy bloków ze schowka Edycja / Edit [CTRL] + [G] Grupuj Group Grupowanie bloków, tworzony jest nowy blok, do którego wstawiane są grupowane bloki funkcyjne Edycja / Edit [CTRL] + [U] Rozdziel grupę Ungroup Rozdzielanie grupy Edycja / Edit - Rozwiń/zwiń Extend/shrink Rozsuwanie diagramu w celu wstawienia nwych elementów lub zwijaniego Edycja / Edit 14 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa Angielska nazwa opis Grupa w przyborniku - Wyrównaj - góra Align UP Wyrównanie bloków do góry Wyrównywanie / Align - Wyrównaj - dół Align DOWN Wyrównanie bloków do dołu Wyrównywanie / Align - Wyrównaj - LEWO Align LEFT Wyrównanie bloków do lewej Wyrównywanie / Align - Wyrównaj - PRAWO - Wyrównaj środek - poziom - Wyrównaj środek - pion - Wyrównaj do połączenia po LEWEJ - Wyrównaj do połączenia po PRAWEJ Align RIGHT Wyrównanie bloków do prawej Wyrównywanie / Align Align CENTER HOR Wyrównanie bloków do środka w poziomie Align CENTER VERT Align to LEFT CONNECTION ALign to RIGHT CONNECTION Wyrównanie bloków do środka w pionie Wyrównanie bloków do połączenia po lewej Wyrównanie bloków do połączenia po prawej Wyrównywanie / Align Wyrównywanie / Align Wyrównywanie / Align Wyrównywanie / Align Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa Angielska nazwa opis Grupa w przyborniku - Utwór Create Utworznie bloku użytkownika Moje blk. / My Blocks - Zarządzaj Manage Zarządzanie blokami użytkownika Moje blk. / My Blocks - Eksportuj Export Eksport bloków do pliku Moje blk. / My Blocks - Importuj Import Import bloków z pliku Moje blk. / My Blocks Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa Angielska nazwa - Linia Line Wstawienie linii na obszar diagramu bloków funkcyjnych - Strzałka Arrow Wstawienie strzałki na diagram bloków funkcyjnych - Prostokąt Rectangle Wstawienie prostokąta na diagram bloków funkcyjnych - Elipsa Ellipse Wstawienie elipsy na diagram bloków funkcyjnych - Zdjęcie Image Wstawienie zdjęcia na diagram bloków funkcyjnych - Komentarz Comment Wstawienie komentarza tekstowego na diagram bloków funkcyjnych opis Grupa w przyborniku Grafika / Drawing Grafika / Drawing Grafika / Drawing Grafika / Drawing Grafika / Drawing Grafika / Drawing Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa Angielska nazwa opis Grupa w przyborniku [CTRL] + Scroll Powiększ zoom in Przybiliżanie diagramu myszką Widok / View [CTRL] + Scroll Pomniejsz zoom out Oddalanie diagramu myszką Widok / View [CTRL] + [1] Widok 1:1 zoom 1:1 Włączanie widoku domyślego Widok / View [CTRL] + [2] szerokość Zoom to width Widok dostosowany do szerokości diagramu Widok / View diagramu [CTRL] + [3] cały diagram Zoom all Widok całego diagramu Widok / View [CTRL] + [4] powiększenie obszaru Zoom to mouse Powiększanie obszaru wybranego myszką Widok / View 15 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy [CTRL] + [F2] Polska nazwa Kompiluj, wyślij i uruchom Angielska nazwa COMPILE, SEND and RUN opis Kompiluj wyślij i uruchom (włącz tryb run) [CTRL] + [F3] Kompilu wszystko Compile All Kompilowanie programu stworzonego przy pomocy diagramu bloków funkcyjnych [CTRL] + [F4] [CTRL] + [F5] Kompiluj symulację Kompiluj urządzenie Grupa w przyborniku Program Program Comlipe SIM Komilowanie samego diagramu symulacji Program Compile Controller [CTRL] + [F6] Wyślij program SEND program to controller Kompilowanie samego diagramu sterownika Wysyłanie programu do sterownika Program Program - Skasuj program CLEAR program Kasowanie programu w sterowniku Program - Pobierz program DOWNLOAD program from controller - Pokaż sekwencję bloków Show Block sequence Pobieranie programu ze sterownika (jeżeli program jest zabezpieczony hasłem to należy je podać) Wyświetlanie kolejności bloków w programie po jego kompilacji Program Program Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa Angielska nazwa [CTRL] + [F7] Połącz Connect Połączenie / rozłączenie programu 3MotioManager ze sterownikiem poprzez wybrane łącze [CTRL] + [F8] Włącz tryb RUN RUN Załączenie / wyłączenie trybu RUN w sterowniku. Ikona czerwona oznacza błąd sterownika UWAGA: Załączenie trybu RUN powoduje uruchomienie programu sterownika!!! Przed włączeniem trybu RUN upewnij się czy zostały spełnione wszystkie wymogi bezpieczeństwa!!! [CTRL] + [F9] [CTRL] + [F10] Włącz tryb monitor Włącz tryb RUNTIME EDIT MONITOR ON/OFF RUNTIME EDIT ON opis Załączenie / wyłączenie trybu podglądu pracy sterownika Załączenie/wyłączenie trybu edycji programu podczas trybu RUN sterownika UWAGA: Załączenie tego trybu powoduje możliwość dokonywania zmian w programie w trakcie pracy sterownika, co może spowodować nieprzewidziane zachowanie się urządzenia!!! Przed włączeniem tego trybu upewnij się czy zostały spełnione wszystkie wymogi bezpieczeństwa!!! - RESTART RESTART Restart sterownika - w trybie restartu sterownik zachowuje się tak jakby jego zasilanie zostało na chwilę wyłączone i załączone ponownie. Po zakończeniu restartu sterownik przechodzi w tryb STOP. Grupa w przyborniku 3Motion 3Motion 3Motion 3Motion 3Motion [CTRL] + [F11] Start symulacji Start SIM Załączanie emulatora (symulatora) sterownika 3Motion [CTRL] + [F12] Wyłącz wymuszenia Force release Usunięcie wymuszenia wejść, wyjść i markerów 3Motion 16 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.1.2.1. (C.D.) Ikona/widok Skrót klawiszowy Polska nazwa - START SCOPE (SIM) Angielska nazwa START SCOPE (SIM) opis Start rejestrowania danych z symulacji przy pomocy wybranego bloku funkcyjnego SCOPE. - STOP SCOPE (SIM) STOP SCOPE (SIM) Stop pracy wybranego rejestratora w symulacji - START SCOPE Wszystkie (SIM) - STOP SCOPE Wszystkie (SIM) - Pokaż SCOPE (SIM) START ALL SCOPE (SIM) STOP ALL SCOPE (SIM) Show SCOPE (SIM) Start wszystkich bloków SCOPE w symulacji Stop wszystkich bloków SCOPE w symulacji Wyświetlanie wykresów Grupa w przyborniku SCOPE SCOPE SCOPE SCOPE SCOPE - kryj SCOPE (SIM) Hide SCOPE (SIM) Chowanie wykresów SCOPE - Pobież SCOPE SCOPE Download Pobieranie danych do wykresów ze sterownika SCOPE - Pokaż SCOPE (CONTROLLER) - Ukryj SCOPE (CONTROLLER) SHOW SCOPE (CONTROLLER) HIDE SCOPE (CONTROLLER) Wyświetlanie wykresów danych ze sterownika SCOPE Wyświetlenie wykresów danych zarejestrowanych przez blok funkcyjny SCOPE i pobranych ze sterownika do komputera PC. SCOPE Karty bloków funkcyjnych: Bloki funkcyjne są posortowane na poszczególnych kartach wg ich funkcjonalności. Przyciski z oznaczeniami służą do wstawiania bloku na diagram. Blok przed wstawieniem na diagram zostanie przypięty do myszki i będzie go można upuścić w dowolnym miejscu diagramu prze kliknięcie lewym przyciskiem myszki. Niektóre bloki przed ich wstawieniem na diagram wymagają podania parametrów niezbędnych do ich prawidłowej pracy. W takim przypadku przed wstawieniem bloku na diagram zostanie wyświetlone odpowiednie okno dialogowe. Właściwości wybranego bloku: Właściwości wybranego bloku funkcyjnego (zaznaczonego kolorem żółtym na diagramie) zostaną wyświetlone w tym obszarze. Można tu dokonać ich edycji. Obszar diagramu bloków funkcyjnych: W obszarze tym znajduje się diagram składający się na program działania sterownika. Szczegóły dotyczące tworzenia programu opisano w dalszej części instrukcji. W obszarze tym znajdują się 4 karty, między którymi można się przełączać przy pomocy zakładek. Pierwsza karta jest przeznaczona na diagram programu symulacji. Kolejne trzy na diagramy programu sterownika: Startup, Control i PLC. Uwaga: Należy zapoznać się dokładnie z instrukcją obsługi sterownika i sposobem tworzenia programu przed jego przesłaniem do sterownika. Nieumiejętne skonfigurowanie sterownika i jego programu może spowodować jego nieprzewidziane lub niezamierzone działanie i przyczynić się do niebezpiecznego wypadku!!! Linia komend tekstowych: Tekstowe okienko edycyjne znajdujące się w tym obszarze służy do wprowadzania komend tekstowych służących do komunikowania się ze sterownikiem. Szczegóły dotyczące stosowania komend opisano w dalszej części instrukcji oraz w dodatku A. UWAGA: Wysłanie komendy tekstowej może spowodować uruchomienie jakiegoś urządzenia (w tym napędu) podłączonego bezpośrednio lub pośrednio do sterownika co może grozić niebezpiecznym wypadkiem!!! Należy zapoznać się dokładnie z instrukcja obsługi przed wysłaniem danej komendy. Historia komend tekstowych i komunikaty: Historia komend tekstowych zawiera listę komend, odpowiedzi sterownika lub inne informacje (w tym o błędach) związane z komendami tekstowymi. Kliknięcie w wybraną komendę z tej listy powoduje ponowne wstawienie jej do linii komend tekstowych. Podgląd rejestrów R i VR, znaczników M i VM, wejść X i wyjść Y: Podgląd wartości, nazw, limitów i atrybutów rejestrów R oraz VR, znaczników M oraz VM, wejść X oraz wyjść Y jest możliwy przy pomocy tabel znajdujących się w tym obszarze. Podgląd aktualnych wartości tych zmiennych w sterowniku jest możliwy tylko po podłączeniu się do sterownika i załączeniu tryby MONITOR ON. Filtry podglądu R, VR, M, VM, X, Y: Wybór odpowiedniej opcji ułatwia podgląd odpowiednich urządzeń wyświetlanych w tabelach status monitora. Drzewko wykorzystanych zasobów: W tym obszarze znajdują się informacje dotyczące rejestrów, znaczników, wejść i wyjść zastosowanych na diagramie. Kliknięcie w dany element powoduje przewinięcie diagramu do miejsca, w którym jest on użyty. 17 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Karty programu symulacji i programu sterownika Program sterownika jest podzielony na trzy sekcje dostępne pod kartami widoku głównego. W sekcji Startup należy zamieścić tą część programu, która ma się wykonać tylko raz po uruchomieniu programu sterownika (zmiana tryby ze STOP na RUN, załączenie zasilania, reset sterownika). W sekcji Control należy umieścić część programu, przy której wykonaniu istotne jest utrzymanie stałego czasu cyklu, czyli w tej część trzeba zamieścić np. wszystkie regulatory. W sekcji PLC zamieszcza się pozostała część programu sterującego. Szczegóły dotyczące tych sekcji opisany w rozdziale o podstawach programowania przy pomocy bloków funkcyjnych w część IV instrukcji. Ponad to w zakładce Sim można zamieścić część programu, która nie będzie wysyłana do sterownika. Ta część stanowi program symulacyjny, który może odzwierciedlać działanie urządzenia, do którego będzie podpięty sterownik. Część z wejść sterownika może być podpiętych do urządzeń rzeczywistych a część może być symulowana w programie. W ten sposób możen przetestować działanie programu wraz z reakcją urządzenia na sygnały wysyłane przez sterownik. Ustawienia Grupa 3Motion W tej grupie można zmienić ustawienia komuniakcji ze sterownikiem, częstotliwość odświeżania podglądu danych online ( monitor ) oraz ustawienia związane z symulacją. Grupa Siatka W tej grupie znajdują się ustawienia związane z siatką wyświetlaną jako to diagramów. Grupa Auto zapis W tej sekcji można ustawić częstotliwość automatycznego zapisu projektu do pliku oraz zapis ten załączyć lub wyłączyć. 3.1.3. Edycja diagramu bloków funkcyjnych Dodawanie nowego bloku funkcyjnego: Nowy blok funkcyjny można dodać do diagramu na dwa sposoby. Pierwszym jest wybranie nazwy bloku z rozwijalnej listy z ich nazwami oraz użycie ADD umieszczonego obok tej listy. Drugi sposób to naciśnięcie z wybranym blokiem w obszarze przybornika nowych bloków funkcyjnych. Usuwanie bloku z diagramu: Blok funkcyjny można usunąć z diagramu po zaznaczeniu jednego lub grupy bloków naciskając przycisk [Delete] na klawiaturze lub w przyborniku głównym. Zaznaczanie bloków: Bloki można zaznaczyć klikając w nie lewym klawiszem myszki (zaznaczenie jednego bloku) lub zaznaczając obszar na diagramie również przy pomocy myszy. Stosując przycisk [Ctrl] z klawiatury i lewy przycisk myszki można zaznaczyć kilka bloków. Bloki można również zaznaczyć wskazując obszar diagramu przy pomocy myszki (kliknięcie -> przeciągnięcie -> puszczenie). Zostaną w ten sposób zaznaczone wszystkie bloki i połączenia w wybranym obszarze. Przesuwanie bloków: Zaznaczone bloki można przesuwać przy pomocy myszki. Kopiowanie, wycinanie i wklejanie bloków: Zaznaczone bloki funkcyjne można skopiować, usunąć lub wkleić przy pomocy przycisków w przyborniku głównym oraz standardowych skrótów klawiszowych stosowanych w komputerze ([Ctrl]+ C, [Ctrl]+ X, [Ctrl]+ V ). Łączenie bloków funkcyjnych: Połączenie bloków funkcyjnych wykonuje się przy pomocy myszki. Należy kliknąć jednorazowo w prostokącik reprezentujący wyjście bloku funkcyjnego a następnie w prostokącik reprezentujący wejście innego bloku. Nie można połączyć wejścia i wyjścia tego samego bloku. Nie można również stosować pętli, czyli połączenia do wejścia bloku wyjścia zależnego od tego bloku. W przypadku konieczności wykonania pętli należy zapętlaną wartość przekazać przez rejestr R lub znacznik M. Wyjście jednego bloku może być połączone z wieloma wejściami do innych bloków. Wejścia i wyjścia bloków są oznaczone typami sygnałów, które reprezentują: B wejścia/wyjścia binarne (cyfrowe) kolor czerwony (stan logiczny = 1 ) lub czarny (stan logiczny = 0) I sygnał przekazujący wartość typu Integer (całkowitą) kolor niebieski R sygnał przekazujący wartość typu Real (rzeczywistą) kolor brązowy 18 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Można łączyć tylko sygnały tego samego typu. Jeżeli jest konieczność połączenia sygnałów różnego typu należy zastosować odpowiednie bloki funkcyjne do konwersji sygnałów. Do wejścia nie można podłączyć sygnału jeżeli jakiś sygnał jest już tam podłączony. Należy w takim przypadku zlikwidować istniejące połączenia i wykonać nowe. Rozwidlenie linii jest reprezentowane jako kropka w miejscu łączenia. Przecięcie się linii nie jest zaznaczone na diagramie. Linie posiadają różne kolory w zależności od typu złącza, ale również w przypadku linii przekazujących sygnał cyfrowy (binarny), od stanu w jakim znajduje się dany sygnał: zielony = 1, czerwony = 0. Niektóre bloki funkcyjna mają niewidoczne prostokąciki reprezentujące wejścia i wyjścia. Dotyczy to niektórych bloków z grupy PLC. Edycja linii połączeń między blokami: Linia połączeń między blokami składa się z odcinków poziomych i pionowych oraz strzałki reprezentującej kierunek przesyłania sygnału. Linię można łamać przesuwając w pionie jej pierwszy lub ostatni odcinek, a następnie w poziomie odcinki pionowe. Linię można usunąć zaznaczając ją myszką i wciskając przycisk [Delete] z klawiatury lub z przybornika głównego (ten sam przycisk, który służy do usuwania bloku funkcyjnego). Linię można również uprościć zaznaczając ją i korzystając z opcji uprość z menu podręcznego dostępnego pod prawym klawiszem myszy. Edycja właściwości bloku: Zaznaczając pojedynczy blok funkcyjny można zmienić jego właściwości w okienku właściwości. Każdy blok posiada właściwość nazwa bloku i obrazek. Ustawiając właściwość obrazek na wartość nie można usunąć ikonę z bloku na diagramie co powoduje zmniejszenie obszaru zajmowanego przez blok. Wpisując nazwę bloku można nadać blokowi indywidualny opis, który wyświetli się nad nazwą reprezentowanej przez niego funkcji. Każdy z bloków funkcyjnych posiada indywidualny zestaw właściwości (szczegóły w dodatku B). Komentarze Użycie Comment w przyborniku głównym skutkuje wstawieniem komentarza na diagram. Komentarz można umieścić w dowolnym miejscu diagramu. Atrybuty czcionki można zmieniać na karcie właściwości obiektu i przy pomocy myszy (zmiana pozycji). Edytowanie tekstu odbywa się po dwukrotnym kliknięciu myszka w obszar komentarza. Zakończenie edycji następuje po kliknięciu myszką w obszar poza komentarzem (rys. 3.1.3.1.). Rysunki Na diagram można wstawiać obiekty graficzne Line, Arrow, Rectangle, Ellipse (linia, strzałka, prostokąt, elipsa). Formatowanie obiektów wykonuje się w oknie właściwości i przy pomocy myszy (zmiana pozycji i rozmiaru). (rys. 3.1.3.1.). Rys. 3.1.3.1. Dodatkowe elementy diagramu: zdjęcia, komentarze oraz elementy graficzne. Zdjęcia: Na diagram można wstawić grafikę (zdjęcie, rysunek) w jednym z czterech formatów (*.png, *.jpg, *.jpeg, *.bmp). Formatowanie zdjęcia wykonuje się przy pomocy myszy (zmiana pozycji i rozmiaru). Przewijanie i zoom widoku diagramu bloków: Przewijania widoku bloków funkcyjnych można dokonać paskami pionowym oraz poziomym. Przewijanie w pionie może być wykonane przy użyciu pokrętła scroll myszki. Zastosowanie pokrętła scroll z wciśniętym klawiszem [Ctrl] powoduje zmianę wyświetlanego obszaru diagramu zoom. Centrowanie widoku odbywa się na aktualnie wskazywany przez myszkę punkt diagramu. Przybliżanie i oddalanie widoku może być również zrobione przy użyciu odpowiednich przycisków z przybornika głównego. Grupowanie i rozgrupowywanie bloków: Zaznaczając na diagramie jeden lub więcej bloków można wykonać ich grupowanie. Grupowanie bloków polega zawsze na stworzeniu nowego bloku z wszystkich bloków grupowanych. Edycja zgrupowanych bloków możliwa jest po dwukrotnym kliknięciu w blok reprezentujący grupę. Widok grupy bloków przed i po 19 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
grupowaniu pokazano na rys. 3.1.3.2. wejścia i wyjścia z bloku reprezentującego grupę są widoczne jako dodatkowe bloki funkcyjne zgodnie z widokiem na rys. 3.1.3.2. Mogą być one dodawane i usuwane. Można również nadać im indywidualne nazwy. UWAGA: Grupowanie bloków może zmienić kolejność wykonanie bloków funkcyjnych w programie. Należy zapoznać się z powyższymi zasadami tworzenia programu przy użyciu bloków funkcyjnych. Rys. 3.1.3.2. Grupowanie bloków funkcyjnych. Tworzenie własnych bloków, import, export. Do grupy można dodać nowe bloki funkcyjne. Blok funkcyjny reprezentujący grupę można eksportować do zewnętrznego pliku oraz z niego importować. Pozwala to na tworzenie własnych nietypowych bloków funkcyjnych, które mogą być z łatwością wielokrotnie wykorzystywane w różnych programach lub udostępniane innym programistom. Funkcje tworzenia własnych bloków, ich eksportu i importu dostępne są w przyborniku głównym w grupie Moje blk.. 3.1.4. Komendy tekstowe. Komendy tekstowe służą do komunikacji ze sterownikiem (lub jego emulatorem) oraz do zmiany niektórych ustawień. Wpisana komenda tekstowa jest wysyłana do sterownika lub wykonywana przez program narzędziowy zaraz po naciśnięciu [Enter]. W przypadku komend wysyłanych do sterownika wykonuje on daną komendę i odsyła swoją odpowiedź, która jest wyświetlana w tabeli historii komend tekstowych. Użycie spacji w składni komendy tekstowej zostanie zignorowane. Szczegóły dotyczące dostępnych komend oraz ich składni są dostępne w dodatku A. Istnieje możliwość wysyłania do sterownika komend z innego urządzenia lub programu komputerowego. 20 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.2. Rejestry R specjalne i użytkownika. Sterownik 3Motion posiada 3000 rejestrów użytkownika oraz 2000 rejestrów specjalnych (tabela 3.2.1). Tabela 3.2.1. Wykaz rejestrów R sterownika 3Motion Zakres rejestrów Liczba rejestrów Przeznaczenie rejestrów R1 - R3000 3000 Rejestry użytkownika R3001 R5000 2000 Rejestry specjalne Listę właściwości rejestrów R zamieszczono w tabeli 3.2.2. Tabela 3.2.2. Atrybuty i właściwości rejestrów R. Atrybut i właściwości Rejestry użytkownika R1 - R3000 Rejestry specjalne R3001 R5000 komenda zapisująca (nr komendy) komenda odczytująca (nr komendy) Wartość + + SetValueR (4) GetValueR (9) Tag + + SetNameR (-) GetNameR (-) Wartość domyślna - + okno status monitora okno status monitora Trwały + + SetRetentiveR (6) GetRetentiveR (11) Komentarz + + okno status monitora okno status monitora 3.2.1. Wartości rejestrów Rejestry posiadają 64 bity. Każdy z rejestrów może być wykorzystany jako rejestr typu Integer lub Real. Do programisty należy zadbanie o to by właściwie stosować rejestry i zwracać uwagę na format zapisywanych w nich danych. W tabeli 3.2.3. zamieszczono informacje na temat zakresów zmienności wartości rejestrów w zależności od ich typu. Rejestrom można nadać wartość przy pomocy komendy, w tabeli status monitora oraz w programie sterownika. Dopuszcza się następujące formaty komendy zmieniającej wartość rejestru (w przykładzie rejestrowi R10 o nazwie predkosc_1 nadano wartość 123.456): SetValueR(R10,123.456) lub R10=123.456 lub R10.Value=123.456 lub predkosc_1=123.456 lub predkosc_1.value=123.456 Tabela 3.2.3. Zakres zmienności wartości rejestrów R w zależności od ich typów. Typ Zakres zmienności możliwy do uzyskania Zakres zmienności zalecany Integer 2 147483648 2147483 647 2 147483648 2147483 647 Real - 1,7 10E308... 1,7 10E308 2 147483648 2147483 647 Z uwagi na to, że istnieją funkcje konwertujące dane z formatu Integer na Real i na odwrót należy zwrócić uwagę na inne zakresy zmienności tych typów. Z tego powodu zaleca się, aby ograniczyć wykorzystanie zmiennych typu Real do wartości ograniczeń zmiennych typu Integer. Należy zwrócić również uwagę na wartości wyników obliczeń matematycznych. Dodanie do siebie dużych wartości może skutkować przepełnieniem rejestru wynikowego (lub przepełnieniem wartości wyjściowej bloku funkcyjnego). Każde takie przepełnienie zostanie odnotowane przez zmianę wartości markera specjalnego M1009 z 0 na 1. Marker M1009 jest kasowany (M1009=0) z końcem każdego cyklu. 3.2.2. Nazwa rejestru. Każdemu rejestrowi można nadać indywidualna nazwę będzie ona zapamiętana w pliku projektu (nazwy nie są zapisywane w sterowniku sterownik posługuje się tylko numerami rejestrów). Rejestry specjalne posiadają swoje nazwy domyślne, które można zmieniać. Nazwę rejestru można zmienić w tabeli status monitora lub przy pomocy komendy SetNameR. Dopuszczalne są następujące składnie komendy SetNameR (w przykładzie rejestrowi R10 nadano nazwę predkosc_1 ): SetNameR(R10, predkosc_1) lub R10.Name=predkosc_1 Odczytanie aktualnej nazwy rejestru następuje po zastosowaniu poniższych komend: 21 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
GetNameR(R10) lub R10.Name Nazwy mogą się składać tylko z poniższych znaków: a z A...Z 0...9 _ W nazwach nie można używać spacji zamiast spacji można użyć tzw. podkreślnika. Nazwy rejestrów muszą być unikalne z nazwami innych rejestrów R oraz VR, wejść X, wyjść Y, markerów M oraz VM, komend tekstowych oraz bloków funkcyjnych. Urządzenie nie może posiadać nazwy której konstrukcja jest zgodna z konstrukcją oznaczeń urządzeń sterownika. Np. nie wolno nadawać nazwy R100 gdyż ta nazwa jest zarezerwowana do oznaczenia rejestru R o numerze 100. Niektóre rejestry i znaczniki specjalne mają z góry zadeklarowane nazwy. Jako wyróżnik tych nazw stosowany jest znak _ na ich początku. Znak ten można stosować również na początku w nazwach własnych innych urządzeń. 3.2.3. Wartość minimalna i maksymalna rejestru. Nie istnieje mechanizm automatycznie ograniczający wartości rejestrów. Użytkownik musi samodzielnie zadbać o to żeby wartość rejestrów nie przekroczyły dozwolonych zakresów. Należy uważać na zmianę wartości rejestrów podczas działania programu sterownika. Do ograniczania wartości rejestrów można zastosować bloki funkcyjne LIMITS, MINLIMIT, MAXLIMIT (rys. 3.2.3.1.). Rys. 3.2.3.1. Bloki funkcyjne, które można wykorzystać do ograniczenia wartości rejestrów R. 3.2.4. Wartość domyślna rejestru. Wartość domyślna rejestru jest nadawana przy starcie urządzenia (po włączeniu zasilania, załączeniu tryby RUN lub po zresetowaniu sterownika). Wartości domyślnej nie można zmienić jest ona ustawiana fabrycznie. Jeżeli zaistnieje konieczność zmiany wartości domyślnej należy tego dokonać w sekcji STARTUP programu. 3.2.5. Rejestry trwałe (Retentive). Jeżeli rejestry są ustawione jako trwałe ich wartość może zostać zapisana do pamięci nieulotnej. Należy pamiętać, że wartości tych rejestrów nie są zapisywane automatycznie do pamięci nieulotnej. Zapisu dokonuje się przy pomocy komendy WriteToMemory (komenda nr 20). Wartości tych rejestrów są odczytywane z pamięci nieulotnej przy starcie programu sterownika (włączenia zasilanie, przełączenie w tryb RUN, start po zresetowaniu sterownika). 3.2.6. Komentarze do rejestrów. W oknie status monitora można wpisać komentarz do dowolnego rejestru. Komentarz jest zapisywany w pliku programu sterownika na komputerze PC. 3.3. Markery M specjalne i użytkownika. Sterownik 3Motion posiada 1000 markerów użytkownika oraz 1000 markerów specjalnych (tabela 3.3.1). Tabela 3.3.1. Wykaz markerów M sterownika 3Motion Zakres markerów Liczba markerów Przeznaczenie markerów M1 M1000 1000 Markery użytkownika M1001 M2000 1000 Markery specjalne Listę właściwości i atrybutów markerów M zamieszczono w tabeli 3.3.2. 22 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.3.2. Właściwości i atrybuty markerów M. Właściwości i atrybuty Markery użytkownika M1 M1000 Markery specjalne M1001 M2000 Komenda zapisująca (nr komendy) Wartość + + SET (22) / RST (23) GetM (24) komenda odczytująca (nr komendy) Tag + + SetNameM (-) GetNameM (-) Wartość domyślna - + okno status monitora okno status monitora Trwały + + SetRetentiveM (29) GetRetentiveM (26) Komentarz + + okno status monitora okno status monitora 3.3.1. Wartości markerów M. Markery posiadają 1 bit danych. W tabeli 3.3.3. zamieszczono informacje na temat wartości możliwych do uzyskania przez markery. Markerom M można nadać wartość przy pomocy komendy, w tabeli status monitora oraz w programie sterownika (w bloku funkcyjnym PROCEDURE ). Dopuszcza się następujące formaty komendy zmieniającej wartość markera (w poniższym przykładzie nazwa markera M3 to Zezwolenie ): SET(M3) ustawia wartość markera M3 na 1 (TRUE) RST(M3) ustawia wartość markera M3 na 0 (FALSE) lub M3=1 M3=0 lub M3.Value=1 M3.Value=0 lub Zezwolenie=1 Zezwolenie=0 lub Zezwolenie.Value=1 Zezwolenie.Value=0 Tabela 3.3.3. Zakres zmienności wartości markerów specjalnych i użytkownika. Typ Zakres zmienności Marker M 0 lub 1 (FALSE lub TRUE) 3.3.2. Nazwa Markera. Każdemu markerowi można nadać indywidualna nazwę będzie ona zapamiętana w pliku projektu (nazwy nie są zapisywane w sterowniku sterownik posługuje się tylko numerami markerów). Markery specjalne posiadają swoje nazwy domyślne, które można zmieniać. Nazwę markera można zmienić w tabeli status monitora lub przy pomocy komendy SetNameM. Dopuszczalne są następujące składnie tej komendy (w poniższym przykładzie markerowi M3 nadano nazwę Zezwolenie ): SetNameM(M3, Zezwolenie) lub M3.Name=Zezwolenie Odczytanie aktualnej nazwy markera następuje po zastosowaniu poniższych komend: GetNameM(M3) lub M3.Name Nazwy mogą się składać tylko z poniższych znaków: a z A...Z 0...9 _ W nazwach nie można używać spacji zamiast spacji można użyć tzw. podkreślnika. Nazwy rejestrów muszą być unikalne z nazwami innych rejestrów R oraz VR, wejść X, wyjść Y, markerów M oraz VM, komend tekstowych oraz bloków funkcyjnych. Urządzenie nie może posiadać nazwy której konstrukcja jest zgodna z konstrukcją oznaczeń urządzeń sterownika. Np. nie wolno nadawać nazwy R100 gdyż ta nazwa jest zarezerwowana do oznaczenia rejestru R o numerze 100. Niektóre rejestry i znaczniki specjalne mają z góry zadeklarowane nazwy. Jako wyróżnik tych nazw stosowany jest znak _ na ich początku. Znak ten można stosować również na początku w nazwach własnych innych urządzeń. 23 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.3.3. Wartość domyślna markera. Wartość domyślna markera jest nadawana przy starcie urządzenia (po włączeniu zasilania, załączeniu tryby RUN lub po zresetowaniu sterownika). Wartości domyślnej nie można zmienić jest ona ustawiana fabrycznie. 3.3.4. Markery trwałe (Retentive) Jeżeli markery są ustawione jako trwałe ich wartość może zostać zapisana do pamięci nieulotnej. Należy pamiętać, że wartości tych markerów nie są zapisywane automatycznie do pamięci nieulotnej. Zapisu dokonuje się przy pomocy komendy WriteToMemory (komenda nr 20). Wartości tych markerów są odczytywane z pamięci nieulotnej przy starcie programu sterownika (włączenia zasilanie, przełączenie w tryb RUN, start po zresetowaniu sterownika). 3.3.5. Komentarze do markerów. W oknie status monitora można wpisać komentarz do dowolnego markera. Komentarz jest zapisywany w pliku programu sterownika na komputerze PC. 3.4. Konfiguracja i zastosowanie wejść fizycznych. 3.4.1. Wejścia cyfrowe. Wejścia fizyczne są kopiowane do zmiennych X1 do X20 (liczba wejść cyfrowych może się różnić w zależności od typu sterownika patrz rozdział 2.1) na początku każdego cyklu programu. Aby wykorzystać w programie wartość wejścia binarnego X należy zastosować jeden z bloków funkcyjnych z rys. 3.4.1.1. Rys. 3.4.1.1. Bloki funkcyjne służące do odczytania lub użycia w programie wejść fizycznych X (na przykładzie użycia wejścia X3). Zmian nazwy wejść cyfrowych: Wejściom cyfrowym można nadawać indywidualne nazwy stosując poniższe komendy tekstowe (w przykładzie wejściu X3 nadano nazwę wylacznik_reczny ): SetNameX(X3, wylacznik_reczny) lub X3.Name= wylacznik_reczny lub wpisując nazwę w oknie status monitora. Odczytanie nazwy następuje po zastosowaniu komendy: GetNameX(X3) lub X3.Name lub również z okna status monitora poprzez załączenie wymuszenia ręcznego sterowania wejściami przyciskiem [FORCE] w kolumnie wartość tabeli status monitora oraz zaznaczenie wybranego stanu. 24 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.4.1.2. Przykład podłączenia krańcówki mechanicznej do wejścia cyfrowego typu NPN sterownika 3Motion Rys. 3.4.1.3. Przykład podłączenia czujnika zbliżeniowego do wejścia cyfrowego typu NPN sterownika 3Motion Rys. 3.4.1.4. Przykład podłączenia krańcówki mechanicznej do wejścia cyfrowego typu PNP sterownika 3Motion 25 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.4.1.5. Przykład podłączenia czujnika zbliżeniowego do wejścia cyfrowego typu PNP sterownika 3Motion 3.4.2. Wejścia analogowe Liczba wejść analogowych może się różnić w zależności od typu sterownika patrz rozdział 2.1. Wartości sygnałów z wejść analogowych są kopiowane do odpowiednich rejestrów specjalnych na początku każdego cyklu programu. Rejestrów tych można używać tak samo jak każdych innych rejestrów specjalnych. W tabeli 3.4.2.1. zamieszono informacje o rejestrach przypisanych do wejść analogowych. Wykres zależności napięcia wejściowego na kanałach wejść analogowych i wartości liczbowej w rejestrze powiązanym z wejściem analogowym pokazano na rys. 3.4.2.1. Tabela 3.4.2.1. Rejestry specjalne przypisane wejść analogowych. Wejście analogowe Zakres napięć Rozdzielczość Nr rejestru specjalnego Nazwa rejestru Zakres wartości AI1-10 [V] do +10 [V] 12 bitów R3401 _Analog_Input_1 0 4095 Int AI2-10 [V] do +10 [V] 12 bitów R3402 _Analog_Input_2 0 4095 Int Typ rejestrów Rys. 3.4.2.1. Wykres zależności napięcia wejściowego na kanałach wejść analogowych i wartości liczbowej w rejestrze powiązanym z wejściem analogowym. Symulacja wejść analogowych Podłączenie wejść analogowych ma karcie symulacji Sim powoduje, że wartości w rejestrach przypisanych do wejść analogowych zostaną pobrane z wejść bloku reprezentującego sterownik. Rys. 3.4.2.2. Przykład podłączenia potencjometru do wejścia analogowego sterownika 3Motion. 26 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.4.2.3. Przykład podłączenia źródła napięcia do wejścia analogowego sterownika 3Motion. Należy zwrócić uwagę na zakres napięć. 3.4.3. Wejścia enkoderowe. Rejestry z wartościami liczników enkoderów: Liczba wejść enkoderowych może się różnić w zależności od typu sterownika patrz rozdział 2.1. Wartości sygnałów z wejść enkoderowych są kopiowane do odpowiednich rejestrów specjalnych na początku każdego cyklu programu. Rejestrów tych można używać tak samo jak każdych innych rejestrów specjalnych. W tabeli 3.4.3.1. zamieszczono informacje o numerach rejestrów przypisanych do wejść enkoderowych. Tabela 3.4.3.1. Rejestry przypisane do wejść enkoderowych. Wejście Nr rejestru Nazwa rejestru Typ Zakresy rejestrów enkoderowe specjalnego rejestrów ENC1 R3511 _EncoderCounter_1 Int -2 31 do +2 31 1 [-2147483648, 2147483647] ENC2 R3521 _EncoderCounter_2 Int -2 31 do +2 31 1 [-2147483648, 2147483647] ENC3 R3531 _EncoderCounter_3 Int -2 31 do +2 31 1 [-2147483648, 2147483647] ENC4 R3541 _EncoderCounter_4 Int -2 31 do +2 31 1 [-2147483648, 2147483647] Ustawianie wartości startowej rejestrów W dowolnym momencie (w trakcie działania programu w trybie RUN lub w czasie programowania sterownika) rejestry enkoderowe można zerować lub kopiować do nich dowolną wartość typu Integer. W tym celu należy wykorzystać odpowiednie znaczniki specjalne (tabela 3.4.3.2.). W tabeli podano również numery rejestrów, z których kopiowana jest nowa wartość licznika. Tabela 3.4.3.2. Znaczniki służące do ustawiania wartości rejestrów powiązanych z enkoderami. Nr wejścia enkoderowego Znacznik wstawiający nową wartość do powiązanego rejestru Nazwa znacznika Rejestr źródłowy Nazwa rejestru źródłowego Typ Rejestr docelowy Nazwa rejestru docelowego ENC1 M1061 _Encoder_Reset_1 R3515 _EncoderPresetValue_1 Int R3511 _EncoderCounter_1 Int ENC2 M1062 _Encoder_Reset_2 R3525 _EncoderPresetValue_2 Int R3521 _EncoderCounter_2 Int Typ ENC3 M1063 _Encoder_Reset_3 R3535 _EncoderPresetValue_3 Int R3531 _EncoderCounter_3 Int Aby zmienić wartość startową licznika enkodera ENC1 na nową należy wstawić nową wartość do rejestru R3505 a następnie zmienić stan znacznika M1061 z 0 na 1. Kierunek zliczania enkodera Przebieg impulsów z enkodera A/B-fazowego pokazano na rys, 3.4.3.1. Licznik enkodera może zliczać impulsy w dwóch kierunkach wg tabelach 3.4.3.3 i 3.4.3.4. Oznacznie inc oznacza zwiększanie wartości licznika a dec jego zmniejszanie. W tabeli 3.4.3.5. zamieszczono numery znaczników odpowiadających za kierunek zliczania impulsów. 27 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.4.3.1. Przebieg impulsów z enkodera A/B-fazowego dla znacznika kierunku równego 1 oraz 0. Tabela 3.4.3.3. Kierunek zliczania sygnałów z enkodera dla znaczników kierunku równych 1: Faza A Faza B 0 -> 1 1 -> 0 1 0 0 -> 1 inc dec 1 -> 0 dec inc 1 dec inc 0 inc dec Tabela 4.2.3.4. Kierunek zliczania sygnałów z enkodera dla znaczników kierunku równych 0: Faza A Faza B 0 -> 1 1 -> 0 1 0 0 -> 1 dec inc 1 -> 0 inc dec 1 inc dec 0 dec inc Tabela 3.4.3.5. Znaczniki specjalne służące do ustawiania kierunku zliczania impulsów. Nr enkodera Numer znacznika Nazwa znacznika ENC1 M1041 _Encoder_Direction_1 ENC2 M1042 _Encoder_Direction_2 ENC3 M1043 _Encoder_Direction_3 Dla znacznika M1041 ustawionego na TRUE (wartość równa 1) enkoder ENC1 będzie zliczał impulsy zgodnie ze schematem z tabeli 3.4.3.3. (rys. 3.4.3.1. górny wykres). Skalowanie wartości z licznika enkodera Rejestry specjalne zawarte w tabeli 3.4.3.6. zawierają wartości liczników enkoderów przemnożone przez współczynniki skalujące i przesunięte o wartość stałą zgodnie z poniższym wzorem. EncoderPosition_n = EncoderCounter_n * EncoderScaleFactor_n + EncoderDisplacemant_n, gdzie n = 1, 2, 3. Tabela 3.4.3.6. Współczynniki skalujące liczniki enkodera i rejestry z wartościami przeskalowanymi Nr Nazwa rejestru enkodera skalującego Rejestr specjalny z wartością przeskalowaną (Real) Nazwa rejestru z wartością przeskalowaną Rejestr specjalny skalujący (Real) Rejestr przesuwając y (Real) Nazwa rejestru przesuwającego ENC1 R3502 _EncoderPosition_1 R3500 _EncoderScaleFactor_1 R3504 _EncoderDisplacement_1 ENC2 R3512 _EncoderPosition_2 R3510 _EncoderScaleFactor_2 R3514 _EncoderDisplacement_2 ENC3 R3522 _EncoderPosition_3 R3520 _EncoderScaleFactor_3 R3524 _EncoderDisplacement_3 Tryb pracy enkodera Enkodery mogą pracować w kilku trybach. Tabela 3.4.3.7. zawiera opis trybów działania enkoderów a tabela 3.4.3.8. zawiera spis rejestrów ustawiających tryb pracy. Tabela 3.4.3.7.Opis trybów działania enkoderów tryb Faza A Faza B Opis 0 - > 1 1 -> 0 0 - > 1 1 -> 0 0 + + + + Zliczanie wszystkich impulsów 1 + + - - Zliczanie impulsów narastających (0->1) i opadających (1->0) fazy A z uwzględnieniem kierunku wyznaczanego przez fazę B 2 - - + + Zliczanie impulsów narastających (0->1)) i opadających (1->0) fazy B z uwzględnieniem kierunku wyznaczanego przez fazę A 28 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.4.3.8. Spis rejestrów ustawiających tryb pracy enkoderów Nr enkodera Rejestr trybów pracy Nazwa rejestru trybów pracy Typ rejestrów ENC1 R3503 _EncoderMode_1 Int ENC2 R3513 _EncoderMode_2 Int ENC3 R3523 _EncoderMode_3 Int Ustawienie rejestru R3523 na wartość 1 powoduje wybranie trybu pracy nr 1 dla enkodera nr 3. Wartość rejestru powiązanego z enkoderem może być dostępna na diagramie przy pomocy bloku funkcyjnego ENCODER_IN, w którego właściwościach należy podać nr wejścia enkoderowego 1, 2, 3 lub 4 (rys. 3.4.3.2.). Blok ENKODER_IN ze względu na zakres wartości licznika powiązanego z enkoderem ma wyjście typu R. Jednakże na tym wyjściu pojawiają się tylko wartości całkowite. rys. 3.4.3.2. Widok bloku funkcyjnego ENCODER_IN. Symulowanie stanu enkodera Istnieje możliwość symulowania stanu licznika impulsów wybranych enkoderów. W tym celu należy odpowiedni znacznik specjalny ustawić na wartość 1 oraz wpisać wartość do odpowiedneigo rejestru specjalnego. Numery odpowiednich rejestrów i znaczników specjalnych podano w tabeli 3.4.3.9. Gdy znacznik sepcjalny jest ustawiony na wartość 1 dla danego numeru enkodera, wtedy wartość licznika enkodera jest pobierana z rejestru specjalnego służącego do symulacji a nie z fizycznego licznika impulsów. W trybie symulowania wartość rejestru będzie automatycznie ustawiana przez blok funkcyjny sterownika. Tabela 3.4.3.9. Rejestry i znaczniki specjalne służące do symulowania wartości liczników enkoderów. Nr enkodera Rejestr z wartościa symulowaną Znacznik wyboru trybu symulacji ENC1 R3506 (_EncoderSim_1) M1051 (_Encoder_Sim_On_1) ENC2 R3516 (_EncoderSim_2) M1052 (_Encoder_Sim_On_2) ENC3 R3526 (_EncoderSim_3) M1053 (_Encoder_Sim_On_3) Podłączenie wejść enkoderowych ma karcie symulacji Sim również powoduję, że wartości w rejestrach przypisanych do wejść enkoderowych zostaną pobrane z wejść bloku reprezentującego sterownik. Rys. 3.4.3.3. Przykład podłączenia wyjść enkoderowych z napędu firmy ESTUN. Do wejścia enkoderowego sterownika 3Motion. 29 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.5. Konfiguracja i zastosowanie wyjść fizycznych. 3.5.1. Wyjścia cyfrowe. Wyjścia fizyczne są kopiowane ze zmiennych Y1 do Y12 (liczba wyjść cyfrowych może się różnić w zależności od typu sterownika patrz rozdział 2.1) do wyjść fizycznych na końcu każdego cyklu programu. Aby wykorzystać w programie sterownika wartość wyjścia binarnego Y lub wysterować jego wartość należy zastosować jeden z bloków funkcyjnych z rys. 3.5.1.1. Rys. 3.5.1.1. Bloki funkcyjne służące do odczytania lub użycia w programie wyjść fizycznych Y (na przykładzie użycia wyjścia Y5). Zmian nazwy wyjść cyfrowych: Wyjściom cyfrowym można nadawać indywidualne nazwy stosując poniższe komendy tekstowe (w przykładzie wyjściu Y3 nadano nazwę stycznik_silnika_1 ): SetNameY(Y3, stycznik_silnika_1) lub Y3.Name= stycznik_silnika_1 lub wpisując nazwę w oknie status monitora. Odczytanie nazwy następuje po zastosowaniu komendy: GetNameY(Y3) lub Y3.Name Lub również z okna status monitora poprzez załączenie wymuszenia ręcznego sterowania wyjściami przyciskiem [FORCE] w kolumnie wartość tabeli status monitora oraz zaznaczenie wybranego stanu. Rys. 3.5.1.2. Przykład podłączenia wejść cyfrowych napędów ESTUN ProNet o poziomie sygnałów 24VDC do wyjść cyfrowych typu NPN sterownika 3Motion. 30 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.5.1.3. Przykład podłączenia wejść cyfrowych napędów ESTUN ProNet o poziomie sygnałów 24VDC do wyjść cyfrowych typu PNP sterownika 3Motion. Rys. 3.5.1.4. Przykład podłączenia wyjść cyfrowych typu NPN sterownika 3Motion o poziomie sygnałów 24VDC do cewki sterującej zaworu. Rys. 3.5.1.5. Przykład podłączenia wyjść cyfrowych typu PNP sterownika 3Motion o poziomie sygnałów 24VDC do cewki sterującej zaworu. 3.5.2. Wyjścia analogowe. Liczba wyjść analogowych może się różnić w zależności od typu sterownika patrz rozdział 2.1. Aby możliwe było zastosowanie wyjść analogowych należy dokonać ich włączenia. Służą do tego znaczniki specjalne, których numery zamieszczono w tabeli 3.5.2.1. Dane wyjście analogowe jest załączone, gdy odpowiedni znacznik ma wartość 1. W przeciwnym wypadku na wyjściu analogowym będzie zawsze 0V. Bez względu na wartość zapisaną w rejestrze przypisanym do danego wyjścia. Wartości sygnałów wyjść analogowych są aktualizowane (kopiowane z odpowiednich rejestrów specjalnych) na końcu każdego cyklu programu. Rejestrów tych można używać tak samo jak każdych innych rejestrów specjalnych. Można im nadawać również własne nazwy. W tabeli 3.5.2.1. zamieszono informacje o rejestrach przypisanych do wyjść analogowych. Zmiana wartości w rejestrze spowoduje zmianę stanu wyjścia analogowego. Tabela 3.5.2.1. Rejestry specjalne przypisane do wyjść analogowych. Ozna- Zakres napięć czenie Rozdzie lczość [bitów] Nr rejestru specjalne go Nazwa rejestru specjalnego Zakres wartości rejestrów specjalnych Typ rejes trów Marker specjalny załączający wyjście analogowe Nazwa markera specjalnego AO1-10 [V] do +10 [V] 12 R3421 _Analog_OUT1 0-4095 Int M1021 _Analog_Out_Enable AO2-10 [V] do +10 [V] 12 R3422 _Analog_OUT2 0-4095 Int M1021 _Analog_Out_Enable Wpisanie do rejestru powiązanego z wyjściem wartości spoza zakresu spowoduje ustawienie wyjścia na minimalną lub maksymalną wartość. 31 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.5.2.1. Wykres zależności między wartością rejestru przypisanego do wyjścia analogowego a napięciem na tym wyjściu. Rys. 3.5.2.2. Przykład podłączenia wyjść analogowych sterownika 3Motion do wejścia sterującego +/- 10 V falownika MICNO. Rys. 3.5.2.3. Przykład podłączenia wyjść analogowych sterownika 3Motion do wejścia sterującego +/- 10 V serwonapędu ESTUN. 3.5.3. Wyjścia krok/kierunek Wyjścia krok/kierunek (STEP/DIR) są obsługiwane przez blok funkcyjny STEP_DIR. Dokładny opis tego bloku znajduje się w dodatku B do niniejszej instrukcji. Liczba wyjść krok/kierunek może się różnić w zależności od typu sterownika patrz rozdział 2.1. Rys. 3.5.3.1. Blok funkcyjny STEP_DIR służący do obsługi wyjść impulsowych sterownika 3motion. 32 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 3.5.3.2. Przykład podłączenia wyjść krok/kierunek sterownika 3Motion do sterownika silnika krokowego. Rys. 3.5.3.3. Przykład podłączenia wyjść krok/kierunek sterownika 3Motion do sterownika serwonapędu ESTUN typu ProNet lub ProNet-E 3.6. Komunikacja ze sterownikiem Sterownik 3Motion jest wyposażony w porty komunikacyjne zgodnie ze specyfikacja w tabeli 3.6.1. Tabela 3.6.1. Porty komunikacyjne sterownika 3Motion. Nr Typ liczba Parametry komunikacji uwagi 1 USB 1 2 Ethernet 1 - Port niedostępny w wersji sterownika 4S2A 3 RS-485 1 3.6.1. Konfiguracja portów USB, Ethernet i RS-485. USB: Ustawienia portu komunikacyjnego są dostępne w przyborniku głównym w zakładce Ustawienia (rys. 3.6.1.1). Rys. 3.6.1.1. Ustawienia komunikacji. 33 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
W oknie ustawień komunikacji można wybrać czy będziemy się komunikowali ze sterownikiem podpiętym do komputera przez port USB czy z emulatorem sterownika (program, który symuluje działanie sterownika uruchamiany na tym samym komputerze). Wybierając opcje komunikacji ze sterownikiem mamy możliwość wyboru portu oraz prędkości transmisji (wartość domyślna: 115200). Do komunikacji ze sterownikem można stosować standardowy kabel ze złączem mini USB. Rys. 3.6.1.2. Widok złącza typu Mini USB sterownika 3Motion z opisem. Ethernet: Niedostępne w wersji sterownika 4S2A. Rys. 3.6.2.3. Widok złącza Ethernet typu RJ45 sterownika 3Motion z opisem. RS-485: Rys. 3.6.1.4. Widok złącza RS-485 sterownika 3Motion z opisem. 3.6.2. Połączenie ze sterownikiem. Połączenie ze sterownikiem następuje poprzez naciśnięcie Connect. Potwierdzeniem połączenia jest zmiana odcienia ikony z szarego na zielony. Po połączeniu programu narzędziowego ze sterownikiem można włączyć tryb RUN sterownika. Tryb RUN uruchamia program sterownika. UWAGA: Załączenie trybu RUN uruchamia program sterownika i może spowodować włączenie urządzeń do niego podłączonych (w tym napędów). Należy się upewnić, że program jest napisany prawidłowo i zachować wszystkie wymogi bezpieczeństwa! 34 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.6.3. Kompilacja programu. Sterownik: Po zbudowaniu programu sterującego należy go skompilować stosując do tego przycisk compile controller komunikatem w linii historii komend. co zostanie potwierdzone Symulacja: W przypadku symulacji należy ją skompilować stosując przycisk compile SIM. Sterownik i symulacja: Można również urzyć compile all aby skompilować jednocześnie program sterownika i symulacji. Program nie zostanie skompilowany jeżeli jakiekolwiek bloki nakładają się na siebie. Przycisk kompiluj wyślij i uruchom (przełączenie sterownika w tryb RUN). słuzy do skompilowania zarówno programu sterownika jak i symulacji, przesłania go do sterownika oraz uruchomienia Tabela 3.6.3.1. Przyciski kompulacji programu. Ikona/widok Skrót klawiszowy Polska nazwa [CTRL] + [F2] Kompiluj, wyślij i uruchom Angielska nazwa COMPILE, SEND and RUN opis Kompiluj wyślij i uruchom (włącz tryb run) [CTRL] + [F3] Kompilu wszystko Compile All Kompilowanie programu stworzonego przy pomocy diagramu bloków funkcyjnych [CTRL] + [F4] [CTRL] + [F5] Kompiluj symulację Kompiluj urządzenie Grupa w przyborniku Program Program Comlipe SIM Komilowanie samego diagramu symulacji Program Compile Controller Kompilowanie samego diagramu sterownika Program 3.6.4. Wysyłanie, pobierania i kasowanie programu sterującego. Skompilowany program można wysłać do sterownika stosując przycisk SEND program to controller komunikatem w linii historii komend.. Wysłanie programu zostanie potwierdzone Przycisk Kompiluj, wyślij i włącz RUN: Istnieje możliwość użycia, który kolejno wykonuje kompilacje programu, wysyła go do sterownika i przełącza sterownika w tryb RUN. Tabela 3.6.4.1. Przyciski do przesyłania, odbierania, kasowania programu. Ikona/widok Skrót klawiszowy [CTRL] + [F2] Polska nazwa Kompiluj, wyślij i uruchom Angielska nazwa COMPILE, SEND and RUN [CTRL] + [F6] Wyślij program SEND program to controller opis Kompiluj wyślij i uruchom (włącz tryb run) Wysyłanie programu do sterownika Grupa w przyborniku Program Program - Skasuj program CLEAR program Kasowanie programu w sterowniku Program Pobieranie programu ze sterownika. - Pobierz program DOWNLOAD program from controller - Pokaż sekwencję bloków Show Block sequence Pobieranie programu ze sterownika (jeżeli program jest zabezpieczony hasłem to należy je podać) Wyświetlanie kolejności bloków w programie po jego kompilacji Program Program Pobranie programu ze sterownika następuje po użyciu DOWNLOAD program from controller. Należy pamiętać, że program w sterowniku jest przechowywany bez nazw zmiennych, komentarzy i wszystkich elementów diagramu, które nie są istotne do jego działania. Jeżeli program jest zabezpieczony hasłem to aby pobrać go ze sterownika należy to hasło podać. Nie ma możliwości pobrania zabezpieczonego programu bez znajomości hasła. Kasowanie programu sterownika. W celu wykasowania programu ze sterownika należy użyć CLEAR program. Wykasowanie programu ze sterownika powoduje całkowite jego usunięcie dlatego zaleca się, aby program został wcześniej pobrany ze sterownika (jeżeli jest to możliwe) i zapisany na dysku komputera. 35 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Wyświetlanie kolejności bloków w programie Od analizy działania programu przydatnym jest stosowanie pokaż sekwencję bloków obliczeń stanu wszystkich bloków programów każdym jego cyklu., dzięki któremu moza sprawdzić kolejność wykonywania 3.6.5. Tryby pracy sterownika i symulacji. Na rysunku 3.6.5.1. podano tryby pracy sterownika i zaznaczony stany przejściowe między trybami. W tabeli 3.6.5.1. podano czynności, które można wykonać lub są wykonywane automatycznie przez sterownik w danym trybie a w tabeli 3.6.5.2. podano czynności jakie wykonuje sterownik przy zmianie trybów. W tabelach 3.6.5.3 podano dodatkowe inforacje o trybach a w tabeli 3.6.5.4 opisano tryby pracy programu narzędziowego. Rys. 3.6.5.1. Tryby pracy sterownika 3Motion i możliwości przejścia między trybami Tabela 3.6.5.1. Tryby pracy sterownika. tryb POWER ON STOP RUN czynności wykonywane przez sterownik w stanie ONLINE lub OFFLINE - inicjalizacja sterownika - odczyt wejść cyfrowych, analogowych i enkoderowych - przeniesienie programu z pamięci nieulotnej do pamięci operacyjnej - odczyt wejść cyfrowych, analogowych i enkoderowych - jednorazowe wykonanie sekcji STARTUP - cykliczne wykonywanie sekcji CONTROL i PLC czynności, które może wykonać użytkownik w stanie ONLINE - ustawienie wymuszeń wejści i wyjść - przeysłanie komend tekstowych - wgrywanie programu z aplikacji do pamięci operacyjnej - zapisanie aktualnego programu do pamięci nieulotnej - zapisanie rejestrów i markerów z podtrzymaniem do pamięci nieulotnej - kasowanie programu w pamięci nieulotnej - kasowanie programu w pamięci operacyjnej - sterowanie wyjść cyfrowych, analogowych i krok/kierunek - ręczne ustawienie wymuszeń wejści i wyjść - automatyczne ustawianie wymuszeń przez symulację - edycja programu Tabela 3.6.5.2. Stany przejściowe między trybami pracy sterownika (zgodniez opisem z rysunku 3.6.5.1.). stan 1 2 3 4 czynność wykonywania przez sterownik - wyłączenie wyjść cyfrowych, analogowych i krok/kierunek - ustawienie wartości fabrycznych wybranych rejestrów i znaczników - przejście do stanu 2 (tylko jeśli marker 1017 jest ustawiony i program jest ważny w przeciwnym razie przejście do trybu STOP) - wyzerowanie rejestrów i markerów bez podtrzymania - przepisanie rejestrów i markerów z podtrzymaniem z pamięci nieulotnej do pamięci operacyjnej - wyłączenie wyjść cyfrowych, analogowych i krok/kierunek - zakończenie aktualnegoy cyklu programu Stan wywoływany przyskiem RESTART, sterownik zachowuje się tak samo jak przy wyłączeniu i ponownym załączeniu zasilania UWAGA: Załączenie trybu RUN powoduje uruchomienie programu sterownika!!! Przed włączeniem trybu RUN upewnij się czy zostały spełnione wszystkie wymogi bezpieczeństwa!!! 36 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 3.6.5.3. Tryby pracy sterownika sygnalizacja trybu i dodatkowe uwagi. Nazwa trybu Ikona Uwagi RUN tryb zał. tryb wył. - aterownik przechodzi sam w tryb RUN po załączeniu zasilania lub po restarcie gdy znacznik specjalny M1017 jest załączony STOP - gdy tryb RUN jest wyłączony to sterownk jest w trybie STOP. Załącznie tego trybu jest sygnalizowane diodą RUN (tabela 2.2.2.1). Sterownik przechodzi sam w tryb STOP po załączeniu zasilania lub po restarcie gdy znacznik specjalny M1017 jest wyłączony FAULT lub Załącznie tego trybu jest sygnalizowane diodą RUN (tabela 2.2.2.1). - błąd wewnętrzny sterownika - należy skontaktować się z dostawcą sprzętu - załącznie tego trybu jest sygnalizowane diodą RUN (tabela 2.2.2.1). Tabela 3.6.5.4. Tryby pracy aplikacji. Nazwa trybu Ikona Warunek załączenia Uwagi ON-LINE MONITOR RUNTIME EDIT SIM tryb zał. tryb wył. 1. fizyczne (kablowe) połaczenie ze sterownikiem lub wybrane połączenie z emulatorem sterownika na komputerze PC 1. tryb ON-LINE 2. skompilowany program 3. Aplikacja i sterownik mają ten sam program 4. Aplikacja nie jest w trybie SIM. 1. tryb ON-LINE 2. tryb MONITOR lub SIM UWAGA: Załączenie tego trybu powoduje możliwość dokonywania zmian w programie w trakcie pracy sterownika, co może spowodować nieprzewidziane zachowanie się urządzenia!!! Przed włączeniem tego trybu upewnij się czy zostały spełnione wszystkie wymogi bezpieczeństwa!!! 1. tryb online (jeżeli symulacja zawiera blok sterownika) 2. skompilowany program sterownika (jeżeli symulacja zawiera blok sterownika) 3. Aplikacja i sterownik mają ten sam program (jeżeli symulacja zawiera blok sterownika). 4. Program symulacji jest prawidłowy (kompiluje się bez błędów) 5. Aplikacja nie jest w trybie MONITOR. Tryb wyznaczający status połączenia pomiędzy sterownikiem a programem narzędziowy. Tryb załączony oznacza, że jest możliwa wymiana danych z urządzeniem, przełączanie trybów pracy, wysyłanie komend tekstowych, monitorowanie programu Załączenie trybu MONITOR powoduje automatyczne odświeżanie wartości rejestrów i znaczników oraz stanu bloków funkcyjnych. Tryb umożliwia zmianę paramentrów, które nie wpływają na kolejność i strukturę bloków w programie. Np. można zmienić wartość, do której zlicza licznik bloku COUNT ale nie można zmienić pozycji tego bloku lub nie można zmienić liczby wejść bloku AND. W tym trybie wejścia podłączone do sterownika na karcie SIM są automatycznie wymuszane przez program symulacji. Wymuszenia można zmienić na ręczne. Program symulacji nie musi być skompilowany (to zostanie wykonane automatycznie przy próbie włączenia tryby SIM). Tryb RUN sterownika nie jest wymagany nawet jeżeli symulacja zawiera blok sterownika. 37 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
3.7. Tryb monitoringu i symulacji. W celu testowania działania programu można wykorzystać tryb monitoringu. Uruchamia się go przyciskiem MONITOR ON. Uruchomienie jest potwierdzone zmianą koloru ikony na zielony. Tryb monitoringu pozwala na podgląd stanu bloków funkcyjnych programu oraz podgląd stanu wejść X, wyjść Y, rejestrów R i VR oraz markerów M i VM sterownika. W trybie tym można również uruchomić, pobrać i podglądnąć wartości z wykresów bloku funkcyjnego SCOPE sterownika. Częstotliwości pobierania danych ze sterownika można zmieniać w ustawieniach (menu główne: Urządzenie -> Ustawienia monitora). Okno status monitora służy do podglądania wartości zmiennych sterownika (wejścia X, wyjścia Y, Rejestry R i VR, Markery M i VM). Wszystkie dane wyświetlane są w formie tabeli przedstawionej na rys. 3.7.1. Rys. 3.7.1. Okno status monitora programu narzędziowego. Opcje znajdujące się pod tabelą służą do filtrowania wyświetlanych w tabeli danych. Okienko zakresu pozwala na wybór indywidualnego zakresu danych. Poszczególne zakresy są określane w poniższy przykładowy sposób: R15-R34 Można wybrać kilka zakresów i pojedynczych urządzeń jednocześnie. Zakresy oddziela się od siebie przy pomocy średników jak w poniższym przykładzie: R15-R34;R50-R55;X1;R2;X7-X15;Y1-Y5;Y10 Rejestry i markery specjalne są wyświetlane w kolorze niebieskim. Urządzenia używane w programie są wyróżnione pogrubieniem. Zmiana wartości rejestrów R: Rejestry R można zmieniać bezpośrednio w tabeli Status monitora dwukrotnie klikając w odpowiednią komórkę. Zmiana stanu markerów M: Zmiany stanów markerów M dokonuje się klikając myszką w odpowiednie kwadracik w tabeli. Stanowi logicznemu TRUE ( 1 ) odpowiada widoczny w kwadraciku krzyżyk a stanowi logicznemu FALSE ( 0 ) pusty kwadracik. Zmiana tagu (nazwy) urządzenia: Zmiana nazwy urządzenia można wykonać klikając dwukrotnie w odpowiednią komórkę. Nazwy urządzeń muszą być unikatowe. Zmiana nazwy nie może nastąpić w trybie monitoringu ze względu na to, że nazwy (tagi) są stosowane w programie sterownika np. w blokach funkcyjnych typu PROCEDURE, gdzie nazwa może być stosowana jako wyróżnik danego urządzenia. Zmiana atrybutu trwały : Zmianę atrybutu można dokonać zaznaczając/odznaczając okienko w odpowiedniej komórce. 3.7.1. Wymuszanie stanu wejść/wyjść sterownika W sterowniku istnieje możliwość wymuszania stanu wejść Xn, wejść analogowych AI1, AI2, oraz wejść enkoderowych ENC1 do ENC3 oraz wyjść cyfrowych Yn. UWAGA: Sterownika pozwala na automatyczne wymuszenie stanu wejść w trybie symulacji. Należy dobrze przeanalizować działanie programu i upewnić się jaki wpływ ma działanie programu i symulacji na aktualny stan wyjść fizycznych sterownika! 38 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Wymuszenie stanu wejść cyfrowych X. Wejścia cyfrowe X mogą być wymuszane na dwa sposoby: Sposób 1: poprzez wciśnięcie FORCE w status monitorze (tzw. wymusznie ręczne) i zadanie stanu danego wejścia/wyjśca (stanowi logicznemu TRUE ( 1 ) odpowiada widoczny w kwadraciku krzyżyk a stanowi logicznemu FALSE ( 0 ) pusty kwadracik ). Sposób 2: podłączenie na karcie diagramu SIM sygnałów do wejść sterownika. Wymuszenie stanu wyjść cyfrowych Y. Wyjścia cyfrowe można wymuszać tylko sposobem 1. Wymuszenie stanu wejść analogowych AI1, AI2, oraz wejść enkoderowych ENC1 do ENC3. Wejścia te można wymuszać tylko sposobem 2. Priorytety wymuszeń. Wymuszenia ręczne mają wyższy priorytet od wymuszeń od symulacji. Sygnalizacja wymuszeń. Przycisk FORCE z czerwonym tłem oznacza, że wymuszenia ręczne dla danego urządzenia są aktywne. Tło białe FORCE oznacza wymuszenie nieaktywne. Niebieski kolor opisu wejść bloku 3Motion oznacza aktywne wymuszenie od symulacji, kolor czerowny oznacza aktywne wymuszenie ręczne. Usuwanie wymuszeń. Przerwanie połączenia ze sterownikiem przez odpięcie kabla nie wyłączy wymuszeń. Przerwania połączenia ze sterownikiem przez zakończenie go przyciskiem z poziomu aplikacji również nie zlikwiduje wymuszeń. Wymuszenia od symulacji zmienią się, gdy zmienimy konfiguracje podłączeń wejść sterownika na karcie SIM. Wymuszenia można usunąć w następujący sposób: 1. wszystkie wymuszenia od symulacji usuwamy przyciskiem 2. wszystkie wymuszenia ręczne usuwamy przyciskiem. 3. pojedyncze wymuszenia usuwamy w status monitorze przysikiem FORCE. 4. wyłączenie i załączenie zasilania usuwa wszystkie wymuszenia. UWAGA: Zlikwidowanie wymuszeń na sterowniku rzeczywistym spowoduje, że mogą się zmienić stany wejść sterownika. Należy się upewnić czy nie wywoła to nieoczekiwanego zachowania się sterownika (załączenia wyjść, ruch napędów itp.)! 3.7.2. Emulator (symulator) sterownika 3Motion i urządzenia (środowiska pracy). Emulator sterownika jest obsługiwany w taki sam sposób jak sterownik. Program możemy wysłać do sterownika rzeczywistego lub do symulatora. Aby wybrać obsługę emulatora należy w przyborniku głównym w zakładce ustawienia wybrać komunikację z emulatorem zamiast portu szeregowego. Jest to możliwe dopiero po wstawieniu bloku sterownika 3Motion na diagram projektu. Przy wybraniu tej opcji program sterownika oraz zmiana statusów będzie dotyczyła sterownika wirtualnego (emulatora). Oprócz symulacji działania sterownika można również zasymulować urządzenie podpięte do niego. Program sterownika lub emulatora jest na kartach startup, control i PLC, program symulacji jest na karcie SIM. Symulacja nie jest przesyłana do sterownika działa równolegle z nim pobierając z niego dane on-line w cyklach określonych na karcie ustawień. 3.7.3. Wyświetlanie wykresów przy pomocy funkcji SCOPE. Rys. 3.7.3.1. Widok bloku SCOPE służącego do rejestrowania przebiegów. Bloków funkcyjnych typu SCOPE można używać zarówno w części symulacyjnej jak i w sterowniku (rzyczywistym oraz w emulatorze). Działanie bloków SCOPE polega na zbieraniu próbek sygnałów do niego podłączonych. funkcjonowanie bloku SCOPE w symulacji i w sterowniku jest odmienne dlatego zostanie opisane w dalszej części instrukcji osobno. 3.7.3.1. Blok SCOPE w sterowniku: Sterownik rzeczywisty podłączony on-line może zbierać sygnały do pamięci bloku funkcyjnego SCOPE ale mogą one być wyświetlone na wykresie dopiero po ich pobraniu do komputera PC. W przypadku uruchomienia programu w emulatorze sterownika na komputerze PC wykresy mogą być wyświetlane w czasie rzeczywistym. W programie sterownika można użyć tylko jednego bloku SCOPE. 39 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Ponizej wymieniono czynności związane z przyciskami związanymi z blokiem SCOPE w sterowniku (tabela. 3.7.3.1.1.): Tabela 3.7.3.1.1. Przyciski funkcyjne bloku SCOPE w sterowniku Przycisk nazwa działania Pobierz pobiera próbki ze sterownika Start Stop Pokaż Schowaj ręczne uruchomienie próbkowania ręczne zatrzymanie próbkowania pokazanie okienek z wykresami schowanie okienek z wykresami Do uruchomienia i zatrzymania pobierania próbek można również zastosować polecenia z linii komend i w bloku PROCEDURE. - "StartScope" - ręczne uruchomienie próbkowania, - "StopScope" - ręczne zatrzymanie próbkowania Krok I: Wstawienie bloku funkcyjnego SCOPE na diagram Wstawienie do diagramu bloku funkcyjnego SCOPE pozwala na rejestrowanie przebiegów dowolnych sygnałów do niego podpiętych (4 kanały). Krok II: Ustalenie liczby próbek: Należy ustalić liczbę rejestrowanych próbek w ustawieniach właściwości bloku. Krok III: Uruchomienie rejestracji sygnałów Uruchomić działanie bloku SCOPE można wykonać na 3 sposoby: a) aktywując jego wejście exe, b) wpisując komendę StartScope w linii komend c) korzystając z Start SCOPE w przyborniku głównym. Blok funkcyjny SCOPE zapisuje w pamięci wartości rejestrowanych sygnałów w każdym cyklu sterownika. Na tej podstawie można obliczyć czas rejestracji sygnałów: T[s] = liczba próbek / częstotliwości cykli programu [1/s]. Częstotliwość cykli programu zapisana jest w rejestrze specjalnym R3600 (Control_Loop_Frequency). Krok IV: pobranie danych Użycie SCOPE DOWNLOAD powoduje pobranie danych ze sterownika do komputera. W zależności od liczby danych i prędkości transmisji proces ten może trwać do kilkudziesięciu sekund. Krok V: wyświetlenie danych na wykresach Pobrane dane można wyświetlić na wykresach (służy do tego przycisk SHOW SCOPE ), które następnie można skalować i przesuwać. Dane można również eksportować do pliku z rozszerzeniem *.csv, który może być czytany przez wiele programów do analizy danych. Funkcje przycisków przybornika wykresów opisano w tabeli 3.7.3.1.2. 3.7.3.2. Blok SCOPE w diagramie części symulacyjnej: Zastosowanie bloków funkcyjnych SCOPE w części symulacyjnej jest podobne jak w sterowniku i emulatorze sterownika (patrz rozdział 3.7.3.1.) z tą róznica, że w symulacji bloków SCOPE może być dowolna liczba i mogą one zawsze wyświetlać wykresy w czasie rzeczywistym. Ponad to rejestrowanie danych można uruchamiać dla każdego bloku oddzielnie. W tabeli 3.7.3.2.1. zamieszczono inforamcję o funkcji przycisków słóżących do obsługi bloków SCOPE w częśći symulacyjnej. Przyciski Start (ALL)" i "Stop (ALL)" są dostępne tylko w menu SCOPE oraz przyborniku okna głównego. Pozostałe akcje są dostępne również w oknach grup. Tabela 3.7.3.2.1. Przyciski funkcyjne bloku SCOPE w diagramie części symulacyjnej. Przycisk nazwa działania Start ręczne uruchomienie próbkowania wybranego bloku SCOPE Stop Start (ALL) Stop (ALL) Pokaż Schowaj ręczne zatrzymanie próbkowania wybranego bloku SCOPE ręczne uruchomienie próbkowania wszystkich bloków SCOPE symulacji dostępne tylko w menu SCOPE oraz przyborniku okna głównego ręczne zatrzymanie próbkowania wszystkich bloków SCOPE symulacji dostępne tylko w menu SCOPE oraz przyborniku okna głównego pokazanie okienek z wykresami wybranego bloku SCOPE schowanie okienek z wykresami wybranego bloku SCOPE 40 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Ponad to można zastosować poniże polecenia z linii komend i w bloku PROCEDURE: - "StartSimScope" - ręczne uruchomienie próbkowania wszystkich bloków SCOPE symulacji, - "StopSimScope" - ręczne zatrzymanie próbkowania wszystkich bloków SCOPE symulacji. 3.7.3.3. Przeglądanie wykresów. Rys. 3.7.3.2. Widok okna wykresu jednego kanału danych pobranych przez blok funkcyjny SCOPE. Tabela 3.7.3.1.2. Przyciski funkcyjne wykresów bloku SCOPE w sterowniku. Przycisk nazwa działania Nowa seria ustawia nową pustą serię jako bieżącą. Powiększenie OX Pomniejszenie OX Powiększenie OY Pomniejszenie OY Dopasowanie OY Dopasowanie OX Automatyczne powiększenie Przewijanie za pomocą myszki Powiększenie obszaru Eksport wykresów Ustawienia Usunięcie wykresów Tryb online powiększenie osi X pomniejszenie osi X powiększeni osi Y pomniejszenie osi Y włączenie/wyłączenie automatycznego skalowania osi Y włączenie/wyłączenie automatycznego skalowania osi X włączenie/wyłączenie automatycznego skalowania wszystkich osi włączenie przewijania wykresu za pomocą myszki (przemieszczanie myszką z wciśniętym lewym klawiszem myszy) włączenie możliwości powiększania wybranego za pomocą myszki obszaru eksport wszystkich serii danych do pliku możliwość opisania osi, zdefiniowania stylu oraz koloru poszczególnych serii usunięcie wszystkich serii danych informuje o włączonym/wyłączonym trybie online oraz umożliwia jego opuszczenie (możliwe tylko po zakończeniu pobierania próbek) Ponad to: Kliknięcie lewym klawiszem myszy na legendzie danej serii umożliwia zmianę jej ustawień. Kliknięcie prawym klawiszem myszy na legendzie danej serii umożliwia jej usunięcie. 41 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
4. STEROWANIE NAPĘDAMI I G-KODY. 4.1. Konfigurowanie osi z napędami. Sterownik 3Motion umożliwia bardzo elastyczne konfigurowanie systemu sterowania napędami. Posiada on programowe osie wirtualne od 1 do 8, do których można podłączyć napędy. Konfiguracja sterownika polega na przypisaniu odpowiednim osiom wirtualnym wyjść fizycznych oraz na zdefiniowaniu, która z osi wirtualnych jest przypisana do osi X, Y, Z sterowanych przez program G-kodów. Diagram z rysunku 4.1.1. pokazuje przykładową konfiguracje osi. Rys. 4.1.1. Przykładowy diagram konfiguracji osi sterownika 3Motion Liczba wyjść analogowych oraz wyjść krok/kierunek rózni się w zależności od wersji sterownika. Na rys. 4.1.2. pokazano algorytm postępowania przy konfigurowaniu osi. Kolejność wykonywania poniższych kroków jest dowolna algorytm stanowi sugestię postepowania przy konfigurowaniu osi. Rys. 4.1.2. Sugerowany algorytm postępowania przy konfiguracji osi. Krok I przypisanie osi G-Kodów do osi programowych Przypisanie osi X, Y, Z zdefiniowanych w G-kodach do wirtualnych (programowych) osi sterownika wykonuje się przy pomocy komendy nr 55 SetVirtualAxisNumber: SetVirtualAxisNumber(virt_x, virt_y, virt_z) gdzie: virt_x, virt_y, virt_z numery wirtualnych osi sterownika (od 1 do liczby obsługiwanych osi przez dany model sterownika CNC). Przykład: Użycie komendy SetVirtualAxisNumber(3, 1, 4); powoduje ustawienie osi X jako osi wirtualnej nr 3, Y nr 1, a Z jako osi wirtualnej nr 4. 42 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Powyższe przypisanie osi można również wykonać zapisując do odpowiednich rejestrów specjalnych numery osi zgodnie z tabelą 4.1.1. Tabela 4.1.1. Przypisanie osi do X, Y, Z do osi wirtualnych. Oś zdefiniowana w G-kodach X Y Z Nr rejestru przypisującego do osi wirtualnej R3057 R3058 R3059 Przypisanie osi programowych do wyjść fizycznych wykonuje się przy pomocy diagramu bloków funkcyjnych co zostanie omówione w kroku III A i B. Jak widać na rys. 4.5.1. przypisanie osi może być praktycznie dowolne. Oś programowa (wirtualna) może zostać przypisania do jednego, dwóch i więcej wyjść fizycznych. Takie rozwiązanie stosuje się np. w urządzeniach, w których ze względu na gabaryty, jeden element mechaniczny musi być napędzany dwoma napędami (np. szerokie bramy w ploterach CNC). Krok II: konfiguracja parametrów ruchu osi programowych. Każda oś może być napędzana innymi typami oraz mocami napędów dlatego należy zdefiniować parametry ruchu (takie jak max prędkość, max przyspieszenie oraz zrywy) każdej z osi programowych oddzielnie. Aby ustawić odpowiednie wartości parametrów ruchu dla poszczególnych osi należy zastosować komendę SetAxisParam (szczegółowy opis w dodatku A): SetAxisParam(Nr_Osi, AccelJERK, DecelJERK, MaxAccel, MaxDecel, MaxSpeed); W powyższy sposób należy skonfigurować wszystkie stosowane w danej aplikacji osie programowe. Krok IIIA podłączenie wyjść sterujących krok/kierunek Osie działające w trybie STEP/DIR (krok/kierunek) należy podłączyć do odpowiednich wyjść sterownika. Należy tego dokonać wstawiając na diagram schematu blokowego w sekcji control loop odpowiednie bloki funkcyjne. Wygląd przykładowego schematu obsługującego jedną oś przedstawia rys. 4.2.3. Rys. 4.1.3. Schemat blokowy obsługujący jedną oś w trybie krok/kierunek. Schemat blokowy obsługujący jedną oś w trybie krok/kierunek składa się z dwóch bloków funkcyjnych. Pierwszym z tych bloków jest blok V_AXIS (wirtualna oś), na którego wyjściach są sygnały o aktualnym przyśpieszeniu, prędkości oraz pozycji danej osi programowej. W ustawieniach tego bloku należy wpisać numer osi programowej (na rys. 4.1.3. Wpisano oś numer 3), którą ma obsługiwać. Drugi blok to blok STEP_DIR, który wysyła sygnały sterujące na wybrane wyjścia fizyczne STEP/DIR sterownika. W ustawieniach tego bloku należy wpisać numer obsługiwanego wyjścia typu krok/kierunek (na rys.4.1.3. jest to wyjście nr 1). Bloki łączymy w taki sposób aby blok STEP_DIR dostawał na wejście sygnał o aktualnej pozycji zadanej z bloku V-Axis. Wyjścia dacc oraz dvel bloku V_AXIS zostają niepodłączone. Jednakże można je wykorzystać do procesu sterowania w dowolny sporób. Krok IIIB - konfiguracja pętli sterowania pozycją Pętle sterowania pozycją muszą być skonfigurowane dla napędów, które działają ze sprzężeniem zwrotnym. Nie ma konieczności konfigurowana ich dla napędów działających w trybie STEP/DIR (krok/kierunek). Sprzężenie zwrotne w przypadku napędów pracujących w trybie STEP/DIR może być również stosowane. Zapewni to dodatkową kontrolę pozycji co może zapobiec gubieniu kroków przez napędy wykorzystujące silniki krokowe. Sprzężenie zwrotne można również wykorzystać do kontroli pozycji i detekcji ewentualnego gubienia kroków. W przypadku zastosowania napędów typu servo sterowanych sygnałem analogowym do sterowania pozycją potrzebny jest regulator oraz sprzężenie zwrotne z czujników pozycji, którymi najczęściej są enkodery. Konfiguracja tego typu osi polega na wstawieniu na diagram schematu blokowego w sekcji control loop odpowiednich bloków funkcyjnych. Rysunek 4.1.4. pokazuje przykład schematu blokowego dla jednej osi typu serwo ze sprzężeniem zwrotnym. 43 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Rys. 4.1.4. Schemat blokowy obsługujący jedną oś w trybie sterowania ze sprzężeniem zwrotnym. Schemat układu sterowania pozycja w tym przypadku składa się z czterech bloków funkcyjnych. Pierwszym z nich jest blok V_AXIS, na którego wyjściu są sygnały aktualnej pozycji, prędkości i przyspieszenia wybranej osi programowej (tu oś nr 3). Drugim jest blok ENCODER_IN na którego wyjściu jest sygnał aktualnej pozycji wybranego enkodera (tu nr 1). Trzecim jest blok MOTOR_OUT, który steruje wybranym wyjściem analogowym (tu nr 2), do którego podpięty jest napęd. Czwartym blokiem jest blok funkcyjny regulatora pozycji POSCONTROLLER. Bloki należy połączyć ze sobą jak na rys. 4.1.1.5. Dla każdej osi należy zbudować osobny układ regulacji pozycji. Blok V_AXIS może być źródłem sygnałów dla kilku bloków POSCONTROLLER jednocześnie. Przed rozpoczęciem korzystania z układu sterowania należy właściwie dobrać nastawy regulatora pozycji każdej osi, czyli właściwości bloków funkcyjnych typu POSCONTROLLER oraz właściwie określić parametry bloków ENCODER_IN oraz MOTOR_OUT, co zapewni prawidłową i stabilną prace napędu. Konfiguracja bloku MOTOR_OUT została opisana w dodatku B. Krok IV: Dobór nastaw regulatorów pozycji Na rys. 4.1.5. pokazano strukturę regulatora pozycji zastosowanego w bloku funkcyjnym POSCONTROLLER. Poniżej opisano sygnały wejściowe, wyjściowe oraz strukturę blokową regulatora pozycji. Rys. 4.1.5. Struktura regulatora pozycji bloku POSCONTROLLER sygnały wejściowe: DACC Demand ACCeleration wartość aktualnego przyspieszenia zadanego z generatora trajektorii ruchu DVEL Demand VELocity wartość aktualnej prędkości zadanej z generatora trajektorii ruchu DPOS Demand POSition wartość aktualnej pozycji zadanej z generatora trajektorii ruchu ENC sygnał z ENCodera pozycji INTRESET sygnał binarny zerujący wartość całki gdy INTRESET = 1 Sygnał wyjściowy: VEL VELocity prędkość wyjściowa z regulatora Opis bloków struktury regulatora: ACCFFG ACCeleration FeedForeward Gain stała przez która mnożymy sygnał DACC 44 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
VELFFG VELocity FeedForeward Gain stała przez która mnożymy sygnał DVEL PROPG PROPortional Gain wzmocnienie proporcjonalne regulatora PID INTG INTegral Gain wzmocnienie całki regulatora PID INTLIMIT INTegral LIMIT limit wartości części całkującej zakres (od-intlimit do +INTLIMIT), w którym może się zmieniać wartość całki. DERIVG DERIVative Gain wzmocnienie pochodnej regulatora PID 4.2. Poruszanie napędami. Sterowanie odbywa się wg oznaczeń osi zgodnych z G-kodami (osie X, Y, Z). Należy pamiętać o uprzednim zastosowaniu komendy nr 56 SetVirtualAxisNumber, która przypisuje osiom X, Y oraz osi Z osie wirtualne sterownika. Poruszanie napędami może się odbywać poprze wysłanie komend sterujących tekstowych z programu narzędziowego. W tabeli 4.2.1. zamieszczono komendy sterujące ruchem osi X, Y, Z. Tabela 4.2.1. Komendy do sterowania ruchem osi X, Y, Z. Nr komendy Nazwa i wywołanie Argumenty 14 AMove ( X, Y, Z ) Przemieszczenie do zadanej pozycji bez interpolacji współrzędne bezwzględne 15 RMove ( X, Y, Z ) Przemieszczenie do zadanej pozycji bez interpolacji współrzędne względne 16 AVector ( X, Y, Z ) Przemieszczenie do zadanej pozycji z interpolacją liniową współrzędne bezwzględne 17 RVector ( X, Y, Z ) Przemieszczenie do zadanej pozycji z interpolacją liniową współrzędne względne 18 ACircle ( X, Y, I, J, Dir ) Przemieszczenie po okręgu współrzędne bezwzględne 19 RCircle ( X, Y, I, J, Dir ) Przemieszczenie po okręgu współrzędne względne Opis 4.2.1. Ruch z zadaną prędkością Napędy podłączone do wyjść analogowych: Aby wykonać ruch z zadaną prędkością należy do rejestru odpowiadającego odpowiedniemu wyjściu analogowemu wpisać wymaganą wartość (tabela 4.2.1.1.). W takim przypadku ruch będzie odbywał się bez regulacji prędkości. Jeżeli konieczna jest regulacja prędkości należy zastosować sprzężenie zwrotne oraz regulator prędkości jak to opisano w rozdziale 4.1.1. Tabela 4.2.1.1. Rejestry przypisane do wyjść analogowych. Nr wyjścia analogowego Oznaczenie wyjścia analogowego Nr rejestru specjalnego 1 AO1 R3421 2 AO2 R3422 Napędy podłączone do wyjść Krok/kierunek: W przypadku napędów podłączonych do wyjść krok/kierunek ruch z zadaną prędkością można zrealizować wstawiając na diagram blok funkcyjney STEP_DIR i inkrementując wartość pozycji zadanej o odpowiednią wartość co każdy cykl programu. Sterownik wysyła na wyjście impulsowe podczas trwania danego cyklu impulsy z częstotliwością wynikającą z częstotliwości cykli. Np. inkrementując wejście o 100 w każdym cyklu przy częstotliwości cylki 1000 na sekundę, sterownik podczas danego cyklu wyśle 100 impulsów z częstotliwością 100 * 1000 = 100 khz. Szczegóły w dodatku A w opisie bloku funkcyjnego STEP_DIR. 4.2.2. Ruch bez interpolacji Aby wykonać ruch bez interpolacji liniowej należy użyć bloku funkcyjnego VECTOR do każdej osi oddzielnie szczegóły w dodatku B. 4.2.3. Ruch z interpolacją liniową. Aby wykonać ruch z interpolacją liniową w osiach X, Y i Z należy użyć bloku funkcyjnego VECTOR szczegóły w dodatku B. 4.2.4. Ruch z interpolacją kołową Aby wykonać ruch z interpolacją kołową w dwóch wybranych osiach należy użyć bloku funkcyjnego CIRCLE szczegóły w dodatku B. 4.2.5. Obsługa G-kodów Aby wykonać program zapisany w postaci G-kodów trzeba w odpowiedni sposób skonfigurować urządzenie. Sterownik 3Motion jest tak skonstruowany, że pozwala na bardzo elastyczną konfigurację i dostosowanie do wielu typów zadań związanych z realizacją G-kodów. Należy pamiętać, że komendy zapisane w G-kodach mogą w znaczący sposób wpływać na działanie sterownika, ponieważ G-kody mogą zmieniać istotne do pracy sterownika parametry, jak parametry ruchu i obróbki, zmiana płaszczyzny ruchu po okręgu itp. 45 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Przechowywanie G-kodów w sterowniku G-kody w sterowniku są przechowywane w postaci tabel (GCodeTable, GCodeOptimalTable oraz CGodeOperTable1 CGodeOperTable10). Szczegółowy opis budowy tabel znajduje się w dalszej części tego rozdziału. Tabela G-kodów użytkownika GCodeTable: Tworzona jest automatycznie przy wysyłaniu pliku z G-kodami do sterownika. Wysłanie całego pliku do sterownika wykonuje się komendą GC_TableSend (nr 77). Wraz tabelą GCodeTable tworzona jest tabela GCodeLineAddress, w której znajdują się adresy kolejnych linii G-kodów z przesłanego do sterownika pliku. Liczba linii G-kodów w pliku źródłowym (czyli wielkość tabeli GCodeLineAddress) jest zapisana w rejestrze R3601 (_GCodeLineCount) Tabelę można skasować stosując komendę GC_Clear (nr 69). Tabela G-kodów użytkownika zoptymalizowanych GCodeOptimalTable: Tworzona poprzez optymalizację tabeli GCodeTable przy pomocy bloku funkcyjnego GC_OPT (nr 172). Wraz z tabelą GCodeOptimalTable tworzona jest tabela z adresami linii: GCodeOptimalLineAddress - tabela wskazuje adresy kolejnych linii z pliku źródłowego w tabeli GCodeOptimalTable. Liczba wierszy w tabeli GCodeOptimalTable: R3604 (_GCodeOptimalTableCount) Tabele operacji od GCodeOperTable1 do GCodeOperTable10: Tworzone są automatycznie przy wysyłaniu plików operacji do sterownika. Pliki operacji są to zwykłe pliki z G-kodami zapisane na stałe w sterowniku przy jego programowaniu. Pliki operacji można wgrywać tylko w trybie STOP sterownika. Jest 10 tabel operacji (GCodeOperTable1 do GCodeOperTable10). Wysyłać można je tylko wszystkie jednocześnie stosując komendę GC_OperTableSend (nr 82). Pliki operacji znajdują się w katalogu OperFiles w katalogu aplikacji 3MotionManager i mają ściśle określone nazwy (patrz tabela 4.2.5.4.). Wraz z tymi tabelami tworzone sa tabele z adresami kolejnych linii w plikach z operacjami (GCodeOperTable1Address do GCodeOperTable10Address). Liczba linii w każdej z tych tabel czyli liczba linii w kolejnych plikach źródłowych zapisywane są w rejestrach od R3621 do R3630 (_GCodeOper1TableCount _GCodeOper10TableCount). Tabele można skasować tylko wszystkie jednocześnie używając komendy GC_OperFileDelete (nr 79). Budowa tablic z G-kodami: Dwukolumnowe tabele robocze GCodeTable, GCodeOptimalTable oraz od CGodeOperTable1 do CGodeOperTable10 z danymi z plików z G-kodami to tablice, w których znajdują się pliki G-kodów przekonwertowane na tablicę dwukolumnową n-elementową. Pierwsza kolumna tablicy to kod ASCII litery z G-kodu (liczba typu Integer) a druga to wartość liczbowa (typu Real) (tabela 4.2.5.1). Tabela 4.2.5.1. Kody literowe i numery rejestrów specjalnych, do których kody są wstawiane wartości numeryczne występujące po danym oznaczeniu literowym w trakcie wykonywania poleceń G-kodów. Kod literowy Kod ASCII (Dec) A 65 R3065 B 66 R3066 C 67 R3067 D 68 R3068 E 69 R3069 F 70 R3070 G* 71 R3071 R3091 = 1 H 72 R3072 I 73 R3073 J 74 R3074 K 75 R3075 L 76 R3076 M* 77 R3077 R3091 = 2 N 78 R3078 O 79 R3079 P 80 R3080 Q 81 R3081 R 82 R3082 S 83 R3083 T 84 R3084 U 85 R3085 V 86 R3086 W 87 R3087 X 88 R3088 Y 89 R3089 Z 90 R3090 Nr rejestru specjalnego [ENTER] 13 brak (jest to znacznik zakończenia linii) 46 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
* w przypadku kodów M oraz G oprócz wartości numerycznej wpisywanej do odpowiednich rejestrów jest również wpisywana wartość do rejestru R3091 równa 1 gdy ostatnim kodem był kod G lub 2 gdy ostatnim kodem był kod M. Poniżej przedstawiono przykładowy 5-cio linijkowy program z G-kodami stworzony przez program CAM. Każda linijka zakańczana jest znakiem ENTER (kod Ascii = 13). Przykład: G90 T02 M06 M03 G04 P2000 G00 X128.4 Y122.434 Z10 F1750 Po przesłaniu do sterownika plik ten zostanie zapisany w postaci tabeli jak poniżej. Tabela 4.2.5.2. G-kody zamienione na tabele dwukolumnową GCodeTable, GCodeOptimalTable lub GCodeOperTable1 do GCodeOperTable10. Nr pola tabeli kod wartość 1 71 (G) 90 2 13 (ENTER) 0 3 84 (T) 2 4 77 (M) 6 5 13 (ENTER) 0 6 77 (M) 3 7 13 (ENTER) 0 8 71 (G) 4 9 80 (P) 2000 10 13 (ENTER) 0 11 71 (G) 0 12 88 (X) 128.4 13 89 (Y) 122.434 14 90 (Z) 10 15 70 (F) 1750 16 13 (ENTER) 0 Tabela 4.2.5.3. Wygląd tablicy GCodeLineAddress, GCodeOptimalLineAddress lub GCodeOperTable1Address do GCodeOperTable10Address Adres początków linii G-kodów 1 3 6 8 11 Jednocześnie do odpowiedniego rejestru specjalnego zostanie wpisana liczba linii pliku z G-kodami, która w podanym przykładzie wynosi 5: Tabela 4.2.5.4. Nazwy tabel z G-kodami i odpowiadające im rejestry specjalne z ich wielkością. Nazwa tabeli z G-kodami Nazwa tabeli z adresami linii w tabeli z G-kodami Nazwa powiązanego pliku z G-kodami Numer rejestru z liczbą linii pliku z G-kodami równą liczbie wierszy tabeli z adresami Nazwa rejestru GCodeTable GCodeLineAddress dowolna użytkownika R3601 _GCodeLineCount GCodeOptimalTable GCodeOptimalLineAddress brak R3604 _GCodeOptimalTableCount GCodeOperTable1 GCodeOperTable1Address MM_Oper1.dat R3621 _GCodeOper1TableCount GCodeOperTable2 GCodeOperTable2Address MM_Oper2.dat R3622 _GCodeOper2TableCount GCodeOperTable3 GCodeOperTable3Address MM_Oper3.dat R3623 _GCodeOper3TableCount GCodeOperTable4 GCodeOperTable4Address MM_Oper4.dat R3624 _GCodeOper4TableCount GCodeOperTable5 GCodeOperTable5Address MM_Oper5.dat R3625 _GCodeOper5TableCount GCodeOperTable6 GCodeOperTable6Address MM_Oper6.dat R3626 _GCodeOper6TableCount GCodeOperTable7 GCodeOperTable7Address MM_Oper7.dat R3627 _GCodeOper7TableCount GCodeOperTable8 GCodeOperTable8Address MM_Oper8.dat R3628 _GCodeOper8TableCount GCodeOperTable9 GCodeOperTable9Address MM_Oper9.dat R3629 _GCodeOper9TableCount GCodeOperTable10 GCodeOperTable10Address MM_Oper10.dat R3630 _GCodeOper10TableCount Sekwencje czynności jaką należy wykonać aby zrealizować program zapisany w G-kodach podano w tablei 4.2.5.5. 47 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Tabela 4.2.5.5. Sekwencja czynności, które należy wykonać, aby zrealizować program zapisany w plikach G-kodów krok opis 1 Przesłanie pliku z G-kodami użytkownika i plików operacji do pamięci Flasch sterownika przez port USB. szczegóły: podpunkt 4.2.5.1. 2 (opcjonalne) Zoptymalizowanie trajektorii ruchu konwersja tabeli GCodeTable na tabelę GCodeOptimalTable. blok funkcyjny: GC_OPT (nr 172) szczegóły: podpunkt 4.2.5.2. 3 Odczytanie wybranej linii G-kodów z pamięci sterownika blok funkcyjny: GC_READ_LINE (nr 173) szczegóły: podpunkt 4.2.5.3. 4 Wykonanie operacji powiązanej z linią G-kodów blok funkcyjny: GC_EXE_LINE (nr 174) aby zinterpretować wybrana linię blok funkcyjny: GC_USER_GCODE (nr 175) aby wykonać G-kod użytkownika blok funkcyjny: GC_MOVE_PREP (nr 176) aby przygotować wykonanie ruchu osiami szczegóły: podpunkt 4.2.5.4. 5 Powrót do punktu 3 4.2.5.1. Krok 1: Przesłanie G-kodów do pamięci sterownika. Do sterownika można przesłać dwa typy plików. Pliki użytkownika oraz pliki operacji. Pliki źródłowe z G-kodami użytkownika są przechowywane w pamięci Flasch z postaci tabel (opis poniżej). Pliki można przesłać przy pomocy programu narzędziowego 3MotionManager lub przy pomocy bibliotego DLL. 4.2.5.2. Krok 2 (opcjonalny): Optymalizacja trajektorii ruchu i tworzenie tabeli GCodeOptimalTable Trajektoria ruchu zapisana w G-kodach może być zoptymalizowana. Optymalizacja polega na dodaniu łuków o odpowienich promieniach w celu płynnego przejścia między poszczególnymi ruchami. Optymalizowana jest dwukolumnowa tabela z G-kodami GCodeTable poprzez stworzenie nowej tabeli GCodeOptimalTable. Do optymalizacji służy blok funkcyjny nr 172 (GC_OPT). 4.2.5.3. Krok 3: Odczytanie pojedynczej linii G-kodów Działanie bloku funkcyjnego GC_READ_LINE polega na odczytaniu kolejno wierszy z tabeli GCodeTable, GCodeOptimalTable lub GCodeOperTable1 do GCodeOperTable10 i wstawieniu wartości z nich odczytanych do odpowiednich rejestrów specjalnych aż do momentu natrafienia na wartość kodu równą 13 oznaczającą koniec linii. Analizując powyższy przykład w jednym cyklu programu sterownika będzie odczytana linia G90 lub M03 ale również całą linię T02 M06 lub G00 X128.4 Y122.434 Z10 F1750. Po odczytaniu kodu G90 z tabeli GCodeTable wartość 90 zostanie zapisaną do rejestru nr R3071 a po odczytaniu kodu M03 wartość 3 zostanie wpisana do rejestru nr R3077. Następnie blok zakończy swojej działanie ponieważ kolejnym kodem jest kod 13. W tabeli 4.2.5.3.1. m oznacza wartość liczbową występującą po danym kodzie. Tabela może zawierać wartości literowe nie występujące w G-kodach. Są one zamieszczone w tabeli dla zachowania uniwersalności sterownika oraz zgodności oznaczeń z przyjętymi ogólnie znakami kodów ASCII. Odczytanie linii G-kodu przez blok funkcyjny GC_READ_LINE nie oznacza wykonania danej czynności przez sterownik. Do wykonania danej czynności (akcji) służy komenda GC_EXE_LINE oraz GC_USER_CODE opisane poniżej. Tabela 4.2.5.3.1. Akcja wykonywana po odczytaniu pojedynczego znaku G-kodu przez blok funkcyjny. G-kod Akcja Opis Am R3065 = m Wstawienie wartość zadanej m pozycji osi A do rejestru specjalnego R3065 Bm R3066 = m Wstawienie wartość zadanej m pozycji osi B do rejestru specjalnego R3066 Cm R3067 = m Wstawienie wartość zadanej m pozycji osi C do rejestru specjalnego R3067 Dm R3068 = m Wstawienie wartość zadanej m korektor narzędzia do rejestru specjalnego R3068 Korektor narzędzia, zazwyczaj wpisuje się za narzędziem T (np. T10 D10) Em R3069 = m Wstawienie wartości m do Rejestru specjalnego R3069 Fm R3070 = m Wstawienie wartości m prędkości ruchu narzędzia (posuwu) do Rejestru specjalnego R3070 Gm R3071 = m, R3091 = 1 Rejestr specjalny R3071 przechowuje numer aktualnej czynności przygotowanej do wykonania, Rejestr R3091 ustawiony na wartość 1 wskazuje sterownikowi że czynność ma być wykonana zgodnie z tabelą 4.6.4.3. (czynność określona funkcją przygotowawczą G) Hm R3072 = m Wstawienie wartość zadanej m do rejestru specjalnego R3072 Im R3073 = m Wstawienie wartości zadanej m do rejestru specjalnego R3073, odpowiednia funkcja (np. pozycjonowanie z interpolacją kołową) pobierze z tego rejestru wartość m Jm R3074 = m Wstawienie wartości zadanej m do rejestru specjalnego R3074, odpowiednia funkcja (np. pozycjonowanie z interpolacją kołową) pobierze z tego rejestru wartość m Km R3075 = m Wstawienie wartości m do Rejestru specjalnego R3075 Lm R3076 = m Wstawienie wartości m do Rejestru specjalnego R3076 Mm R3077 = m, R3091 = 2 Rejestr specjalny R3077 przechowuje numer aktualnej czynności przygotowanej do wykonania, Rejestr R3091 ustawiony na wartość 2 wskazuje sterownikowi że czynność ma być wykonana zgodnie z tabelą 4.6.4.2. (czynność określona funkcją przygotowawczą M) 48 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Nm R3078 = m Wstawienie wartości m do Rejestru specjalnego R3078, Oznaczenie linii kodu (Label) Om R3079 = m Wstawienie wartości m do Rejestru specjalnego R3079 Pm R3080 = m Wstawienie wartość m do rejestru specjalnego R3080 dla funkcji wykorzystującej zmienną P Qm R3081 = m Wstawienie wartości m do Rejestru specjalnego R3081 Rm R3082 = m Wstawienie wartości m do Rejestru specjalnego R3082 Sm R3083 = m Wstawienie prędkości obrotowej wrzeciona m do rejestru specjalnego R3083 Tm R3084 = m Wybór narzędzia, wstawienie numeru narzędzia m do rejestru specjalnego R3084 Um R3085 = m Wstawienie wartości m do Rejestru specjalnego R3085 Vm R3086 = m Wstawienie wartości m do Rejestru specjalnego R3086 Wm R3087 = m Wstawienie wartości m do Rejestru specjalnego R3087 Xm R3088 = m Wstawienie wartości zadanej pozycji osi X do rejestru specjalnego R3088, funkcje wykonujące pozycjonowanie pobiorą z tego rejestru wartość m Ym R3089 = m Wstawienie wartości zadanej pozycji osi Y do rejestru specjalnego R3089, funkcje wykonujące pozycjonowanie pobiorą z tego rejestru wartość m Zm R3090 = m Wstawienie wartości zadanej pozycji osi Z do rejestru specjalnego R3090, funkcje wykonujące pozycjonowanie pobiorą z tego rejestru wartość m M lub G R3091 = 1 dla G, R3019 = 2 dla M [ENTER] Wykonanie funkcji Wykonanie odpowiedniej funkcji -> tabela 4.2.4.2. lub 4.2.4.3. 4.2.5.4. Krok 4: Wykonanie operacji odczytanej z ostatniej linii G-kodów Po odczytaniu linii G-kodów można wykonać akcje powiązaną z danym G-kodem. W tym celu należy aktywować blok funkcyjny nr 174 GC_EXE_LINE. W zależności od tego jaka komenda była w danej linii G-kodów (Mm lub Gm) są wykonywana odpowiednie akcje. Lista tych akcji znajduje się w Tabelach 4.2.5.4.1. oraz 4.2.5.4.2. Każdą operację aktywowaną przy pomocy bloku funkcyjnego GC_EXE_LINE należy powiązać z programem przy pomocy bloków funkcyjnych. Tabela 4.2.5.4.1. Akcja wykonywana po odczytaniu komendy ENTER* w przypadku, gdy wcześniej była funkcja maszynowa M M00 M01 stop programu bezwarunkowy - Znacznik stopu programu bezwarunkowy marker specjalny M1020 załączany na jeden cykl programu sterownika stop programu warunkowy (zależnie od trybu pracy) marker specjalny M1021 załączany na jeden cykl programu sterownika M02 Znacznik końca programu (G-kod M02) marker specjalny M1022 załączany na jeden cykl programu sterownika M03 wrzeciono obroty lewe, Spindle right = 1 M04 wrzeciono obroty prawe, Spindle left = 1 M05 wrzeciono obroty stop, Spindle left = 0, Spindle right = 0 M06 zmiana narzędzia (polecenie "zmień") Tool change = 1 M07 załączenie chłodziwa narzędzia, Tool Cooler = 1 M08 załączenia chłodziwa zewnętrznego, Cooler = 1 M09 wyłączenie chłodzenia, Tool Cooler = 0, Cooler = 0 M10 (M36) otwarcie szczęk, Clamp = 0 M11 (M37) zamknięcie szczęk, Clamp = 1 M30 koniec programu aktywowanie wyjścia Program_End bloku GC_EXE_LINE na jeden cykl * w zależności od tego czy przed komendą ENTER była komenda G czy M to wykonywane są różne akcje Tabela 4.2.5.4.2. Akcja wykonywana po odczytaniu komendy ENTER* w przypadku gdy wcześniej była funkcja przygotowawcza G G00 G01 G02 G03 Aktywowanie wyjścia PTP. Do tego wyjścia można podłączyćblok funkcyjny, który realizuje ruch pozycjonowania narzędzia bez możliwości obróbki (tzw. szybki dojazd) Aktywowanie wyjścia Line_PTP. Do tego wyjścia można podłączyćblok funkcyjny, który realizuje ruch pozycjonowania narzędzia z interpolacją liniową. Aktywowanie wyjścia CircleCW. Do tego wyjścia można podłączyć blok funkcyjny, który realizuje wykonanie ruchu po okręgu zgodnie z kierunkiem ruchu wskazówek zegara. Aktywowanie wyjścia CircleCCW Do tego wyjścia można podłączyć blok funkcyjny, który realizuje wykonanie ruchu po okręgu przeciwnie do kierunku ruchu wskazówek zegara. G04 Aktywowanie wyjścia Delay (czas można pobrać z rejestru R3080) G17 G18 G19 G90 G91 M1005=0, M1006=0, M1007=1 ustawienie aktywnej płaszczyzny na XY M1005=0, M1006=1, M1007=0 ustawienie aktywnej płaszczyzny na XZ M1005=1, M1006=0, M1007=0 ustawienie aktywnej płaszczyzny na YZ M1004=0 pozycjonowanie absolutne (bezwzględne) M1004=1 pozycjonowanie przyrostowe * w zależności od tego czy przed komendą ENTER była komenda G czy M to wykonywane są różne akcje 49 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
Gdy dany G-kod typu G lub M nie jest zdefiniowany programowo w sterowniku wtedy aktywowane jest wyjście User_G_Code bloku funkcyjnego GC_EXE_LINE. W ten sposób można przypisać akcje do niezdefiniowanych wcześniej G-kodów tworząc tzw. G-kody użytkownika. Przypisanie G-kodów użytkownika wykonuje się przy pomocy bloku funkcyjnego GC_USER_G_CODE nr 175. W tabeli 4.2.5.4.3. Znajdują się G-kody, które nie zostały zdefiniowane w sterowniku, ale występują w innych tego typu urządzeniach i można je zaprogramować jako G-kody użytkownika. Takie rozwiązanie przyjęto ze względu na zachowanie uniwersalności i elastyczności programowania sterownika. Tabela 4.2.5.4.3. Lista G-kodów nie zdefiniowanych w urządzeniu ale występujących w innych tego typu utządzeniach. G05 interpolacja kołowa współrzędne kartezjańskie, bez określania kierunku obrotu G06 G07 G09 G20 G21 G33 G40 G41 G42 G43 G53 G54 - G59 G70 G71 interpolacja kołowa, współrzędne kartezjańskie, przejście styczne z poprzedniego konturu blok pozycjonowania wzdłużnego dokładne zatrzymanie wymiarowanie w calach wymiarowanie w milimetrach toczenie gwintu koniec korekcji korekcja toru narzędzia lewostronna (kompensacja promienia płytki, freza) korekcja toru narzędzia prawostronna (kompensacja promienia płytki, freza) włączenie kompensacji długości narzędzia (frezarka) Rezygnacja z offsetu narzędzia, wybranie układu współrzędnych maszynowych wybranie układu współrzędnych przedmiotu Jednostki calowe Jednostki metryczne G74 Ruch do pozycji referencyjnej (zapisana w rejestrach specjalnych R3041, R3042, R3043 dodatek C) G75 Ruch do pozycji zdefiniowanej przez producenta maszyny (zapisana w rejestrach specjalnych R3044, R3045, R3046) G76 cykl planowania zgrubnego G79 G80 G81 G82 G83 G84 G87 G92 G94 G95 G96 G97 cykl podcięć koniec cyklu wielokrotnego cykl nawiercania cykl wiercenia z przerwą czasową cykl wiercenia z łamaniem wióra cykl gwintowania cykl frezowania kieszeni prostokątnej Ograniczenie prędkości obrotowej wrzeciona np. G92 S200 Posuw w [mm/min] lub w [cal/min] Posuw w [mm/obrót] wrzeciona włączenie trybu stałej prędkości skrawania [m/min] (tokarka) włączenie trybu stałej prędkości obrotowej wrzeciona [obr/min] (tokarka) * w zależności od tego czy przed komendą ENTER była komenda G czy M to wykonywane są różne akcje 50 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l
4.2.6. Konfiguracja bloków funkcyjnych do obsługi G-kodów Na rysunku 4.2.6.1. pokazano podstawową konfigurację bloków funkcyjnych realizująca obsługę G-kodów. Celowo nie podłączono niektórych sygnałów sterujących, aby przykład był bardziej przejrzysty. Rys. 4.2.6.1. Podstawowa konfiguracja bloków funkcyjnych realizująca obsługę G-kodów. Gdy na wejściu Table bloku GC_READ_LINE pojawi się sygnał 1 to zostanie odczytania linia G-kodów z tabeli GCodeTable o numerze wyznaczonym wartością na wejściu Table_Line_No. Następnie aktywowane zostanie wyjście Done co aktywuje wejście exe bloku GC_EXE_LINE. Blok ten jest odpowiedzielny za wykonanie zadania powiązanego z odczytanym G-kodem. Jeżeli G-kod jest związany z ruchem to aktywowane zostanie odpowiednie wyjście bloku ( Move, Vector, Circle_CW lub Circle_CCW ). Jeżeli G-kod oznacza załączenie lub wyłączenie chłodzenia, szczęk itp. To również zostanie aktywowane/dezaktywowane odpowiednie jego wyjście powiązane z danym G-kodem (dokładny opis w dodatku B). Jeżeli natomiast G-kod nie zostanie zinterpretowany jako żaden ze zdefiniowanych w bloku GC_EXE_LINE to aktywowane zostanie wyjście User_G_Code. Do obsługi G-kodów użytkownika służy blok funkcyjny GC_USER_GCODE, który został dokładnie opisany w dodatku B. 51 3 M o t i o n I n s t r u k c j a o b s ł u g i c z. 1 w w w. m u l t i p r o j e k t. p l