Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200



Podobne dokumenty
Współpraca falownika SINAMICS G110 ze sterownikiem S7-1200

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Przykład 5. Zdecentralizowane sterowanie napędami SINAMICS G110 za pomocą protokołu USS przy wykorzystaniu sterownika SIMATIC S7-1200

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Bit 11 pierwszego słowa komunikacji acyklicznej ustawny jest na wartość 0 i nie podlega modyfikacji.

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Zadania do ćwiczeń laboratoryjnych Systemy rozproszone automatyki - laboratorium

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Ćwiczenia z S Komunikacja S z przyciskowym panelem HMI KP300 PN. FAQ Marzec 2012

Wymagania programowe: STEP 7 STEP 7-Micro/Win

Dysk CD (z Oprogramowaniem i Podręcznikiem użytkownika)

RS485 MODBUS Module 6RO

Instrukcja do oprogramowania ENAP DEC-1

Przykład 9. Odczyt i przetwarzanie kodów DataMatrix za pomocą sterownika SIMATIC S7-1200

Ćwiczenia z S Komunikacja S z dotykowymi panelami HMI na przykładzie współpracy sterownika z panelem KTP600 PN.

RS485 MODBUS Module 6RO

Projekt Komputerowych Systemów Sterowania Wymiana danych pomiędzy dwoma sterownikami Siemens S7-300 po sieci Profibus DP

Falownik MOTOVARIO EM16. Skrócona instrukcja obsługi

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

Instrukcja obsługi Konfigurator MLAN-1000

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

SmartDRIVE protokół transmisji szeregowej RS-485

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

SKRó CONA INSTRUKCJA OBSŁUGI

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji BSEND/BRCV

Komunikacja z wykorzystaniem Protokołu TCP oraz funkcji AG_SEND/AG_RECV

Moduł Ethernetowy. instrukcja obsługi. Spis treści

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

MAGISTRALA PROFIBUS W SIŁOWNIKU 2XI

instrukcja instalacji modemu SpeedTouch 605s

Falownik MOTOVARIO LM16. Skrócona instrukcja obsługi

RS485 MODBUS Module 6RO

1. INSTALACJA SERWERA

INSTRUKCJA UŻYTKOWNIKA MPCC

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Instrukcja obsługi. SmartLink DP AC / / 2010

WARIATOR USTAWIENIA Białystok, Plażowa 49/1, Poland,

Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie

Poniższy przykład przedstawia prosty sposób konfiguracji komunikacji między jednostkami centralnymi LOGO! w wersji 8 w sieci Ethernet.

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

dokument DOK wersja 1.0

Interfejs USB-RS485 KOD: INTUR. v.1.0. Zastępuje wydanie: 2 z dnia

FAQ: /PL Data: 16/11/2007 Programowanie przez Internet: Konfiguracja modułów SCALANCE S 612 V2 do komunikacji z komputerem przez VPN

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Program EDYTOR-AS-OUX

Instrukcja użytkownika ARSoft-WZ1

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Konfigurowanie sterownika CP6601 firmy Beckhoff wprowadzenie

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Tworzenie programu i konfiguracja w LOGO! Soft Comfort V8

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

FAQ: /PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0

Instrukcja użytkownika KRISTECH,

Interfejs PC INSTRUKCJA OBSŁUGI. Nr produktu Strona 1 z 8

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Kurs Podstawowy S7. Spis treści. Dzień 1

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

Moduł przełączania temperatury Nr produktu

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Seria wielofunkcyjnych serwerów sieciowych USB

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

DWL-2100AP g/108Mbps Bezprzewodowy punkt dostępowy D-Link AirPlus XtremeG

DEMERO Automation Systems

Instrukcja wgrywania aktualizacji oprogramowania dla routera Edimax LT-6408n

Siemens Simatic S7-300 Informacje podstawowe o sterowniku programowalnym

Komunikacja pomiędzy panelem Astraada HMI Panel i sterownikiem Siemens S w sieci ProfiNet

Electronic Infosystems

CENTRALA STERUJĄCA SMART CONTROL

1. Opis. 2. Wymagania sprzętowe:

interfejs szeregowy wyświetlaczy do systemów PLC

Licznik rewersyjny MD100 rev. 2.48

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

1 Moduł Neuronu Cyfrowego SM

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej Poznań tel ; fax:

Falowniki Wektorowe Rexroth Fv Parametryzacja

Internet wymagania dotyczące konfiguracji

Modularny system I/O IP67

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Instrukcja EQU Kantech

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

INSTRUKCJA UZUPEŁNIAJĄCA DO CENTRAL DUPLEX ZE STEROWANIEM RD4

Spis treści. 1 Moduł RFID (APA) 3

Kod produktu: MP-W7100A-RS232

RS485 MODBUS Module 16O

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Mini Modbus 1AI. Moduł rozszerzający 1 wejście analogowe, 1 wyjście cyfrowe. Wyprodukowano dla

Seria wielofunkcyjnych serwerów sieciowych USB

Szybki przewodnik instalacji

FAQ: /PL Data: 2/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem LOGO!

1 Moduł Neuronu Cyfrowego

RS485 MODBUS Module 16RO

Konfiguracja podstawowych parametrów falownikóww LG ig5a na przykładzie wentylatora RF/6-630T

Transkrypt:

SIMATIC S7-1200 w przykładach SIMATIC S7-1200 w przykładach Wydanie 1 Egzemplarz bezpłatny Przykłady i Aplikacje www.siemens.pl/s7-1200

Przykład 8 Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 1. Realizowane zadanie 1.1. Środowisko sprzętowe Silnik synchroniczny połączony z napędem serwo SINAMICS S110 ma być pozycjonowany przez moduł komunikacyjny CM1241 (RS485) sterownika S7-1200 (CPU1241C). Komunikacja pomiędzy sterownikiem a napędem serwo odbywa się przez protokół USS. Nadzór nad układem oraz lokalna wizualizacja są realizowane za pomocą panelu interfejsu użytkownika KTP600 połączonego do sterownika S7-1200 kablem Ethernetowym. Do konfiguracji programu sterującego oraz HMI używany jest STEP7 Basic v10.5. Konfiguracja napędu serwo odbywa się za pomocą narzędzia STARTER. Rys. 1.1. Układ realizuje następujące scenariusze: jazda w trybie ręcznym jog tryb odniesienia pozycjonowanie absolutne oraz relatywne poruszanie silnika zgodnie ze zdefiniowanymi profilami Aby pozycjonować położenie osi silnika żądana pozycja oraz żądana prędkość, wraz z bitami rozkazów, muszą zostać przesłane za pomocą protokołu USS do SINAMICS S110. SINAMICS S110 po otrzymaniu tych danych niezależnie będzie sterował pozycjonowaniem lub poruszaniem osi silnika. SINAMICS S110 wyśle również do sterownika informację zwrotną. Pozycja, prędkość oraz błędy zostaną zgłoszone za pomocą bitów statusu. 280

1. Realizowane zadanie 1.2. Wymagane komponenty Tab. 1.1. Komponenty sprzętowe Lp. Element Liczba MFLB/Nr zamówienia Uwagi 1. Zasilacz PM1207 1 6EP1332-1SH71 2. Moduł komunikacyjny CM1241 1 6ES7241-1CH30-0XB0 (RS485) 3. S7-1200 CPU1214C 1 6ES7214-1AE30-0XB0 DC/DC/DC 4. Panel KTP600 (kolor, PN) 1 6AV6647-0AD11-3AX0 Opcjonalne 5. Zasilacz PM340 1 6SL3210-1SB12-3AA0 230V 6. Jednostka sterująca CU305DP 1 6SL3040-0JA00-0AA0 7. Synchroniczny silnik serwo 1FK7 1 1FK7032-5AF21-1UA0 DRIVE-CLiQ 8. SINAMICS S110 MMC wraz oprogramowaniem w wersji 4.3 oraz licencjami 1 6SL3054-4ED00-0AA0 Opcjonalne pod warunkiem, że CU305 ma starsze wersje oprogramowania UWAGA Panel KTP600 nie jest konieczny. Aby symulować interfejs użytkownika wystarczy komputer PC z oprogramowaniem STEP7 Basic. Tab. 1.2. Akcesoria Lp. Element Liczba MFLB/Nr zamówienia Uwagi 9. Kabel zasilający 1 6FX5002-5CG01-1AB0 10. Przewód sygnałowy DRIVE-CLiQ 1 6FX5002-2DC00-1AB0 11. Kabel Profibus 1 6XV1830-0EH10 12. Złączka Profibus gniazdo PG 2 6ES7972-0BB12-0XA0 13. Dławik komutacyjny 1 6SE6400-3CC00-4AB3 14. Kable Ethernet do połączenia KTP600, S7-1200 CPU oraz PC 1 6XV1870-3QH20 15. Kabel szeregowy NullModem do podłączenia SINAMICS S110 1 Dostępne w wyspecjalizowanych sklepach 16. Przełącznik krańcowy 2 Dostępne w wyspecjalizowanych sklepach 17. Referencyjny przełącznik krańcowy 1 Dostępne w wyspecjalizowanych sklepach UWAGA Opisana konfiguracja jest projektowana do zastosowań przemysłowych. Zaopatrzenie w energię zazwyczaj odbywa się za pomocą sieci przemysłowych. Nie jest, zatem, konieczne stosowanie specjalnych filtrów/dławików o niskich prądach upływu. Jeżeli konfiguracja jest zasilana z wrażliwej sieci elektrycznej (np. komputery są podłączone do tej samej sieci) powinny być zastosowane filtry lub dławiki. 281

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 UWAGA Więcej informacji na temat SINAMICS S110 można znaleźć pod adresem: http://www.siemens.com/sinamics-s110 Tab. 1.3. Pakiety oprogramowania Lp. Element Liczba MFLB/Nr zamówienia Uwagi 18. STEP 7 Basic V10.5 1 6ES7822-0AA00-0YA0 19. Narzędzie STARTER na DVD 1 6SL3072-0AA00-0AG0 Dla wersji 4.1.5 dla oprogramowania w wersji 4.3 UWAGA Najnowszą wersja oprogramowania STARTER można znaleźć pod adresem: http://support.automation.siemens.com/ww/view/en/26233208 282

2. Realizacja zadania 2. Realizacja zadania 2.1. Schemat połączeń S7-1200 PM1270 + CPU1214C Rys. 2.1. 283

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 PM340 Rys. 2.2. CU305DP Rys. 2.3. 284

2. Realizacja zadania UWAGA Prosimy o stosowanie się do poleceń zawartych w instrukcji oraz do odpowiednich zasad bezpieczeństwa podczas podłączania zasilania AC 230V do SIAN- MICS S110 http://support.automation.siemens.com/ww/view/en/33940571 Aby uniknąć interferencji elektromagnetycznej należy: Upewnić się, że zastosowano dobrze przewodzące połączenie pomiędzy przekształtnikiem częstotliwości a uziemionym metalowym mocowaniem. Upewnić się, że wszystkie urządzenia w pojedynczej obudowie są uziemione za pomocą krótkich przewodów o dużej średnicy. Uziemienie winno być wspólne dla wszystkich tych urządzeń. Upewnić się, że S7-1200 CM połączony z przekształtnikiem częstotliwości jest podłączony, za pomocą krótkiego przewodu o dużej średnicy, do tego samego uziemienia, co przekształtnik. Używać ekranowanych przewodów sterowania np. kabli PROFIBUS firmy SIEMENS do poprowadzenia magistrali RS485. Należy uziemić ekranowanie po stronie przekształtników przy użyciu złącz ekranowania. Przewody sterujące powinny być montowane oddzielnie od przewodów zasilających (jeżeli to możliwe nie powinny być zachowana znaczna odległość między nimi). Kable zasilające i sterujące powinny przecinać się pod kątem 90. Podłączyć przewód osłonowy silników do złącz uziemienia (PE) odpowiedniego przekształtnika częstotliwości. Upewnić się, że przewody są zakończone w odpowiedni sposób oraz, że połączenia nieekranowane są tek krótkie jak to możliwe. Należy używać przewodów ekranowanych do połączeń silników. Ekranowania powinny być uziemione zarówno po stronie przekształtnika jak i silnika przy pomocy zacisków. 285

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 2.2. Nadawanie adresów napędom oraz terminowanie magistrali RS485 Magistrala RS485 umożliwia transmisję danych przy pomocy protokołu USS dwuprzewodowym połączeniem pomiędzy urządzeniem nadrzędnym (np. CPU 1214C) a maksymalnie szesnastoma (na każdy moduł komunikacyjny) urządzeniami podrzędnymi (np. SINAMICS G110). Konieczne jest nadanie każdemu z urządzeń podrzędnych niepowtarzalnego adresu z zakresu od 1 do 16. Protokół USS umożliwia użycie tylko jednego urządzenia nadrzędnego, które nie wymaga przypisania adresu. Aby uniknąć odbić na końcach magistrali, które mogłyby spowodować zafałszowanie sygnału, magistrala musi być zakończona rezystorami jak pokazano na rysunku 2.4. Rys. 2.4. W omawianym przypadku osiągnięto to na obu końcach przez ustawienie przełącznika na złączu PROFIBUS w odpowiedniej pozycji (rysunek 2.5). Rys. 2.5. 286

2. Realizacja zadania 2.3. Struktura protokołu USS Protokół USS został opracowany w celu umożliwienia wymiany danych pomiędzy sterownikiem głównym a węzłami magistrali RS485 (w tym przykładzie napędami). Każdemu napędowi jest przyporządkowany niepowtarzalny adres. Pomimo, że PROFIBUS również używa technologii RS485, pomiędzy USS a PROFIBUS istnieją znaczące różnice. Telegram USS składa się z następujących bloków (rysunek 2.6): STX: początek, LGE: określenie długości telegramu, ADR: adres urządzenia podrzędnego, PKW: wartość parametru, PZD: dane operacyjne, BCC: blok kontrolny. Rys. 2.6. Blok PZD przesyła polecenia oraz zadane ustawienia do napędu. Odpowiedź napędu zawiera informacje o jego stanie i aktualnych wartościach parametrów. Domyślnie pierwsze słowo PZD jest poleceniem sterowania lub informacją o statusie. Drugie słowo zawiera zadane ustawienie lub aktualną wartość. Pozostałe 6 słów (12 bajtów) pozostaje wolne. Zatem całkowita długość PZD może wynosić 2, 4, 6 lub 8 słów. Długość PZD napędu musi odpowiadać długości PZD sterownika. Blok PKW służy do odczytu lub zapisu wartości parametrów w napędzie. Umożliwia on zapis lub odczyt danych w czasie działania urządzenia. PKW składa się z następujących części: PKE: identyfikacja parametru, IND: indeks parametru, PWE: wartość parametru. PKE oraz IND mają po 1 słowie długości. Długość PWE może wynosić 1 lub 2 słowa zależnie od tego, jakiego typu dane są transmitowane (word, double word, real). Całkowita długość PKW jest konfigurowalna dla większości napędów a musi być ustawiona na 4 słowa by poprawnie komunikować się z S7-1200 zatem, w tym przypadku PWE ma 2 słowa. 287

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Wskazówka UWAGA Więcej informacji o protokole USS można uzyskać pod adresem: http://support.automation.siemens.com/ww/view/en/24178253 2.4. Komunikacja z napędem Sterownik S7-1200 komunikuje się z napędem poprzez moduł komunikacyjny przy pomocy biblioteki STEP7 Basic, która jest dostarczana razem z nim. Komunikacja za pomocą USS_PORT Aby polecenie zostało wysłane ze sterownika do napędu, potrzebna jest instrukcja nadzorująca komunikację przez moduł komunikacyjny PtP pomiędzy CPU a napędem. Instrukcją tą jest blok USS_PORT (rysunek 2.7). Rys. 2.7. Parametr PORT określa moduł komunikacyjny, przez który połączone są napędy. Z każdym modułem można połączyć maksymalnie 16 napędów. Jako, że S7- -1200 daje możliwość użycia do 3 modułów komunikacyjnych otrzymujemy możliwość sterowania maksymalnie 48 napędami zgrupowanymi w 3 sieci. Przy każdym wywołaniu bloku następuje przetwarzanie komunikacji z napędem. Komunikacja ta jest asynchroniczna znaczy to, że sterownik S7-1200 odbywa kilka cykli nim wymiana danych dobiegnie końca. Dlatego właśnie blok USS_PORT jest zwykle wywoływany przez OB obsługi przerwania od opóźnienia ze zdefiniowanym interwałem czasowym. Interwał wywołania zależy od czasu, który jest potrzebny na ukończenie komunikacji z napędem. Blok ten może być również wywoływany cyklicznie jednakże taki sposób wywołania nie podnosi wydajności komunikacji. Wywołanie w czasie, gdy blok wciąż jest aktywny jest ignorowane. W wypadku, gdy długość cyklu jest duża interwał między wywołaniami wzrasta, co może skutkować nieskuteczną komunikacją. 288

2. Realizacja zadania Rys. 2.8. Szybkości komunikacji (liczba bodów) determinuje wielkość Worst Case Message Time (WCMT) dla transakcji, to jest czas, jaki zajmie ukończenie transakcji w najgorszym wypadku (patrz tabela 2.1). WCMT jest obliczane na podstawie długości wiadomości wysyłanej, odbieranej oraz odpowiednich czasów oczekiwania (patrz rys. 2.9). Poniżej znajduje się dokładna lista składowych: interwał początkowy jest czasem, który musi upłynąć nim urządzenie nadrzędne może wysłać żądanie (wzór: (2 11)/(prędkość komunikacji w bodach)), żądanie od urządzenia nadrzędnego, maksymalne opóźnienie odpowiedzi (20 ms), odpowiedź od urządzenia podrzędnego. Rys. 2.9. Domyślnie biblioteka protokołu USS podejmuje do dwóch prób ukończenia dla każdej transakcji. Skutkuje to minimalnym interwałem wywołania dla USS_PORT danym wzorem: Minimalny interwał wywołania instrukcji USS_PORT [ms] = 2 WCMT 289

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Ponadto trzeba się upewnić, że blok USS_PORT zostanie wywołany przed upływem limitu czasu napędu. Limit czasu napędu jest to trzykrotnej próby powtórzenia transakcji w wypadku wystąpienia błędu. Następujący wzór określa limit czasu napędu: Limit czasu napędu (na każdy napęd) [ms] = 3 powtórzenia minimalny interwał wywołania USS_PORT W przypadku gdy w sieci jest obecnych więcej niż jeden napęd, limit czasu pojedynczego napędu musi być pomnożony przez ilość napędów. Wtedy otrzymujemy: Limit czasu napędu (na każdy napęd) [ms] = (3 powtórzenia minimalny interwał wywołania USS_PORT) liczba napędów w sieci Prędkość komunikacji [bod] WCMT [ms] Minimalny interwał wywołania USS_ PORT [ms] Limit czasu napędu [ms] 1200 405.00 790 2370 2400 212.50 405 1215 4800 116.25 213 639 9600 68.13 117 351 19 200 44.06 69 207 38 400 32.03 45 135 57 600 28.02 37 111 115 200 24.01 29 87 Przykładowe obliczenie: W sieci znajdują się 2 napędy. Prędkość komunikacji wynosi 57 600 bodów. minimalny interwał wywołania USS_PORT = (2 28,02 ms) = 37 ms Limit czasu napędu = 3 2 37 ms = 222 ms Wynik: opóźnienie przerwania OB, w którym blok USS_PORT jest wywoływany powinno wynosić przynajmniej 37 ms. monitorowanie komunikacji na napędzie powinno być skonfigurowane na przynajmniej 222 ms, lepiej gdyby było to 230 ms. Przesyłanie i odczyt danych procesowych z napędów za pomocą USS_DRV Blok USS_DRV wymienia dane z napędami poprzez tworzenie żądań oraz przetwarzanie odpowiedzi. Blok danych typu instance jest używany, jako magazyn danych. Dla każdego napędu trzeba użyć osobnego bloku USS_DRV. Jeden blok danych może być współdzielony przez maksymalnie 16 bloków USS_DRV. W momencie wstawienia pierwszego bloku USS_DRV w edytorze STEP7 Basic blok danych typu instance jest tworzony automatycznie. Ten sam blok danych typu instance musi być określony przy tworzeniu pozostałych bloków USS_ DRV. 290

2. Realizacja zadania Rys. 2.10. Wywołania bloku USS_DRV muszą następować cyklicznie. W momencie pierwszego wywołania bloku napęd wskazany przez parametr Drive jest inicjalizowany w bloku danych typu instance, co umożliwia komunikację z napędem. Dlatego ważne jest by blok USSS_DRV był wywołany co najmniej raz dla każdego napędu. Jeżeli podczas działania numer napędu ulega zmianie przede wszystkim należy ponownie inicjalizować blok danych typu instance za pomocą ustawienia sterownika na STOP a potem znów na RUN. Za pomocą parametrów po lewej stronie bloku USS_DRV można, dla przyporządkowanego napędu, zadać słowo kontrolne (RUN, OFF2, OFF3, F_ACK, DIR) oraz wymaganą wartość prędkości (SPEED_SP). CTRL3-CTRL8 są konfigurowalnymi przez użytkownika słowami wysyłanej wiadomości, przechowywane są one w buforze wysyłkowym bloku danych typu instance. Słowa określające stan (STATUS1) oraz aktualną wartość (SPEED) danego napędu są odczytywane z poprawnego buforu odpowiedzi oraz udostępniane na wyjściach bloku USS_DRV. STATUS3-STATUS8 są konfigurowalnymi przez użytkownika słowami odpowiedzi. Poszczególne bity RUN_EN, D_DIR, INHIBIT, oraz FAULT są zawarte w pierwszym słowie określającym stan. Podczas wykonania USS_DRV nie ma miejsca transmisja danych. Komunikacja z napędami ma miejsce jedynie po wykonaniu USS_PORT. USS_DRV konfiguruje jedynie wiadomość do wysłania oraz odczytuje dane uprzednio odebrane przez USS_PORT (patrz rysunek 2.11). 291

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Rys. 2.11. Przetwarzanie błędów komunikacji Błędy komunikacji są dostępne jedynie na wyjściu bloku USS_PORT. Nie są dostępne w USS_DRV. Mogą one mieć następujące wartości szesnastkowe 0x8180, 0x8184, 0x8187, 0x818B. Aby stwierdzić, który napęd wysłał kod błędu należy sprawdzić wartość USS_ Extended_Error w bloku danych typu instance. W wypadku wystąpienia błędu komunikacji adres napędu przechowywany jest w tej zmiennej. Jako, że wiadomość o stanie jest dostępna na wyjściu USS_PORT jedynie przez okres jednego cyklu, więc w wypadku wystąpienia błędu musi ona być przechowywana w innym miejscu (patrz rysunek 2.12). Przegląd wiadomości o stanie można odnaleźć w dokumencie S7-1200 System Manual. 292

2. Realizacja zadania Rys. 2.12. 293

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 2.5. Użytkowanie i konfiguracja dostępnych słów sterujących oraz słów stanu SINAMICS S110 oferuje moduł funkcji Basic positioner (EPOS). Przy pomocy EPOS można zrealizować wszystkie zadania, jakie stawia omawiany przykład konfiguracji. Aby sterować funkcją EPOS pracy pomocy S7-1200 potrzebne są różnorodne sygnały sterowania oraz statusu przesyłane do napędu lub przez niego otrzymywane przy pomocy protokołu USS. Napęd jest skonfigurowany w taki sposób, że pełna funkcjonalność EPOS może być osiągnięta przy przesłaniu minimalnej ilości słów. W rezultacie istnieje 8 słów, których konfiguracja w bloku USS_DRV została opisana poniżej. UWAGA Przed przystąpieniem do konfiguracji bloku USS_DRV zalecamy zapoznanie się z informacjami na temat funkcji Basic Positioner (Sinamics S110 Function Manual, rozdział 7.3.6). Konfiguracja bloku USS_DRV dla 8 słów PZD Zazwyczaj aplikacje, w których występuje sterowanie prędkością obsługiwane są za pomocą 2 słów PZD. Blok USS_DRV jest zaprojektowany z myślą o takich zastosowaniach. Aby wykorzystać pozostałe słowa PZD należy użyć wyjść CTRL3 CTRL8 oraz STATUS3 STATUS8. Długość użytych słów PZD jest określona na wejściu PZD_LEN i może przyjmować wartości 2, 4, 6 oraz 8. Rozszerzenie wyjścia/wejścia wymaga użycia 16-bitowego systemu zmiennych. Jednakże większość przesyłanych danych to pojedyncze bity lub zmienne 32- -bitowe (liczby zmiennoprzecinkowe, podwójne słowa). Z tego powodu konieczne jest umieszczanie poszczególnych bitów w bloku danych oraz określenie ich przy pomocy adresowania bezwzględnego w bloku USS_DRV. Warto wziąć pod uwagę fakt, że bity mniej znaczące 0-7 zlokalizowane są w prawej części słowa, natomiast bity 8-15 w lewej. Aby móc adresować dane w bloku danych bezwzględnie musi być on zadeklarowany jako non-symbolic. Na rysunku 2.13 pokazano tę sytuację. 294

2. Realizacja zadania Rys. 2.13. Niesymboliczny blok danych Wartości 32-bitowe danych typu zmiennoprzecinkowego lub podwójnego słowa muszą być przetwarzane w sposób, który pozwoli podzielić zmienną na dwa kolejne słowa i później operować jedynie częściami niższego i wyższego rzędu osobno. Jest to jedyna metoda, która zagwarantuje poprawną konfigurację zmiennych w napędzie. UWAGA W celu przetwarzania słów PZD w programie sterującym zostały stworzone bloki funkcji. Są one sklasyfikowane w grupie USS_Helpers. Przegląd sygnałów sterujących Sygnały sterujące są to sygnały wysyłane ze sterownika do napędów. Przyporządkowanie poszczególnych słów PZD przedstawiono w tabeli 2.2. Tab. 2.2. PZD Przyporządkowana zawartość PZD1 Słowo sterujące 1 PZD2 Zmiana prędkości (żądana wartość) 0...100% (0x4000 = 100%) PZD3 Słowo sterujące 3 PZD4 Słowo sterujące 2 PZD5 Żądana pozycja [Jednostka długości LU, np. mm] na potrzeby PZD6 pozycjonowania absolutnego/względnego PZD7 Żądane przyspieszenie 0...100% PZD8 Żądane opóźnienie 0...100% 295

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Przydział bitów w pierwszym słowie sterowania PZD1 pokazano w tabeli 2.3. Tab. 2.3. Bit Nazwa Znaczenie 0 RUN (OFF1) ON polecenie 0 = aktywowane OFF1 1 = ON OFF2 oraz OFF3 muszą być ustawione na 1 zanim polecenie ON może być ustawione. 1 OFF2 OFF2 polecenie 0 = aktywowane OFF2 1 = wolne koło nie jest aktywowane 2 OFF3 OFF3 polecenie 0 = aktywowane OFF3 1 = bez gwałtownego zatrzymania 3 ENC Uruchom działanie (automatycznie zadane) 4 Nieprzypisany 5 Nieprzypisany 6 Nieprzypisany 7 F_ACK (ACK_Error) Potwierdzanie błędu 8 Nieprzypisany 9 Nieprzypisany 10 LB Bit życia (PLC żąda sterowania) 11 Nieprzypisany 12 Nieprzypisany 13 Nieprzypisany 14 Nieprzypisany 15 Nieprzypisany 296

2. Realizacja zadania Przydział bitów w drugim słowie sterowania PZD4 pokazano w tabeli 2.4. Tab. 2.4. Bit Nazwa Znaczenie 0 RefStart Rozpocznij tryb odniesienia 1 RefPSet Ustal punkt odniesienia 2 RefTyp Wybór trybu odniesienia 0 = za pomocą punktu odniesienia 1 = tryb odniesienia w locie 3 RefStDi Punkt odniesienia, kierunek początkowy 0 = dodatni kierunek początkowy 1 = ujemny kierunek początkowy 4 Nieprzypisany 5 Nieprzypisany 6 Nieprzypisany 7 Nieprzypisany 8 MdiStart 9 MdiSetup 10 MdiPsTy 11 MdiPosDir 12 MdiNegDir 13 MdiEdge 14 MdiTrTyp 15 Nieprzypisany Rozpocznij tryb MDI / rozpocznij bezpośrednie określanie żądanej wartości MDI Wybór ustawienia trybu MDI 0 = pozycjonowanie 1 = nastawianie MDI typ pozycjonowania 0 = pozycjonowanie względne 1 = pozycjonowanie absolutne MDI wybór kierunku dla nastawiania lub Pozycjonowanie absolutne osi polarowych w kierunku dodatnim MDI wybór kierunku dla nastawiania lub absolutnego pozycjonowania osi polarowych w kierunku ujemnym MDI transfer wartości żądanej po zboczu wznoszącym, jeżeli MdiTrTyp = 0 MDI rodzaj transferu wartości żądanej 0 = transfer wartości po zboczu wznoszącym na MdiEdge 1 = stały transfer 297

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Przydzielenie bitów w trzecim słowie sterowania PZD3 pokazano w tabeli 2.5. Tab. 2.5. Bit Nazwa Znaczenie 0 TrvStart TRV aktywuj zadanie trawersowania (po zboczu wznoszącym) 1 TrvBit0 TRV bit wyboru bloku 0 2 TrvBit1 TRV bit wyboru bloku 1 3 TrvBit2 TRV bit wyboru bloku 2 4 TrvBit3 TRV bit wyboru bloku 3 5 TrvBit4 TRV bit wyboru bloku 4 6 TrvBit5 TRV bit wyboru bloku 5 7 IntMStp TRV/MDI zatrzymanie pośrednie 0 = przejazd przerwany / oś zwalnia zgodnie ze 100% ustawieniem opóźnienia 1 = bez pośredniego zatrzymania (oś może być poruszana) 8 RejTask TRV/MDI odrzuć zadanie przejazdu 0 = przejazd przerwany / oś zwalnia zgodnie ze 100% ustawieniem opóźnienia 1 = nie orzucaj zadania przejazdu (oś może być poruszana) 9 Jog1 Przejazd w trybie ręcznym na przód 10 Jog2 Przejazd w trybie ręcznym do tyłu 11 Nieprzypisany 12 JogInc Tryb ręczny 0 = ruch ciągły 1 = przejazd według zadanego profilu 13 SftLimAct Aktywacja programowego przełącznika krańcowych 14 StpCamAct Aktywacja sprzętowych przełączników krańcowych 15 Nieprzypisany Przegląd sygnałów stanu Sygnały stanu są to sygnały przesyłane z napędu do sterownika. Przyporządkowanie poszczególnych słów PZD pokazano w tabeli 2.6. Tab. 2.6. PZD Przyporządkowana zawartość PZD1 Słowo stanu 1 PZD2 Rzeczywista prędkość 0-100% (0x4000 = 100%) maksymalnej prędkości PZD3 Słowo stanu 3 PZD4 Słowo stanu 2 PZD5 PZD6 Rzeczywista pozycja w [jednostka długości LU, np. mm] PZD7 Rzeczywista prędkość [obroty na minutę] PZD8 Obecny kod błędu 298

2. Realizacja zadania Przydział bitów w pierwszym słowie stanu PZD1 pokazano w tabeli 2.7. Tab. 2.7. Bit Nazwa Znaczenie 0 RTS Gotów do startu 1 RDY Gotów do działania 2 IOP Napęd działa 3 Fault Błąd aktywny 4 OFF2_inactiv OFF2 niewłączone 5 OFF3_inactiv OFF3 niewłączone 6 Inhibit Na wartości powstrzymującej 7 Alarm Alarm aktywny 8 Standstill Rzeczywista prędkość < próg prędkości wartość 3 (wykrywanie blokady) 9 LB_CR Żądanie kontroli bitu życia 10 JogAct Tryb ręczny aktywny 11 RefAct Tryb odnoszenia aktywny 12 TrvBlAct Tryb ruchu przestawczego aktywny 13 MdiPosAct Pozycjonowanie MDI/z bezpośrednio określoną wartością żądaną aktywne 14 MdiSetupAct Nastawianie MDI/z bezpośrednio określoną wartością żądaną aktywne 15 FlyRefAct Tryb odnoszenia w locie aktywny Przydział bitów w drugim słowie stanu PZD4 pokazano w tabeli 2.8. Tab. 2.8. Bit Nazwa Znaczenie 0 RefDone Punkt odniesienia ustawiony 1 CmdAct Polecenie przejazdu aktywne 2 TargPos Pozycja docelowa osiągnięta 3 NoFlwErr Błąd śledzenia ma wartość tolerowaną 4 SftSwNegAct Zbliżam się do programowego przełącznika krańcowego reverse 5 SftSwPosAct Zbliżam się do programowego przełącznika krańcowego forward 6 StpCamNegAct Zbliżam się do sprzętowego przełącznika krańcowego reverse 7 StpCamPosAct Zbliżam się do sprzętowego przełącznika krańcowego forward 8 AckTrvBl Dla trybów przejściowego lub MDI/bezpośredniego określenia wartości żądanej z transferem wartości żądanej po zboczu wznoszącym (MdiTrTyp = 0) bit ten używany jest do zawiadamiania bloku przejściowego. 9 SetPStatic Statyczna wartość żądana 10 Fwd Oś porusza się na przód 11 Rev Oś porusza się do tyłu 12 Accel Oś przyspiesza 13 Decel Oś zwalnia 14 PrntMrkOut Drukuj znak na zewnątrz okna zewnętrznego 15 VelctyLimit Ograniczenie prędkości aktywne 299

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Przydział bitów w trzecim słowie stanu PZD3 pokazano w tabeli 2.9. Tab. 2.9. Bit Nazwa Znaczenie 0 AckTrvBit0 Aktywny pit przejścia 0 1 AckTrvBit1 Aktywny pit przejścia 1 2 AckTrvBit2 Aktywny pit przejścia 2 3 AckTrvBit3 Aktywny pit przejścia 3 4 AckTrvBit4 Aktywny pit przejścia 4 5 AckTrvBit5 Aktywny pit przejścia 5 6 TrvOut1 Bezpośrednie wyjście 1 przez blok przejścia 7 TrvOut2 Bezpośrednie wyjście 2 przez blok przejścia 8 Nieprzypisany 9 Nieprzypisany 10 Nieprzypisany 11 Nieprzypisany 12 Nieprzypisany 13 TrckMode Tryb śledzenia aktywny 14 PosSmCam1 Wartość rzeczywista pozycji <= Przełącznik krzywkowy pozycja 1 15 PosSmCam2 Wartość rzeczywista pozycji <= Przełącznik krzywkowy pozycja 2 2.6. Funkcjonalności Basic Positioner Tryby działania Na potrzeby omawianego przykładu konfiguracji zostały użyte wszystkie cztery tryby EPOS: tryb ręczny, tryb odniesienia, MDI/bezpośrednie określenie wartości żądanej (pozycjonowanie absolutne/ względne), bloki przejściowe. Trybom w momencie jednoczesnego wyboru przyporządkowano następujące pierwszeństwo: Tryb ręczny > Tryb odniesienia > MDI > bloki przejściowe Jeżeli w czasie działania danego trybu zostanie wybrany inny zostanie wyświetlona wiadomość ostrzegająca. W ramach każdego trybu dostępne są różne funkcje aczkolwiek nie wszystkie zostaną zastosowane w tym przykładzie. Na następnych stronach zostanie, które z funkcji są odpowiednie do tego przykładu, jak je konfigurować oraz jakie dodatkowe parametry zostały użyte. 300

2. Realizacja zadania Mechanizm Oś zazwyczaj połączona jest z silnikiem kołem zębatym lub pasem zębatym. Aby określić, o jaki kąt oś się obraca na jeden obrót silnika trzeba określić odpowiedni stosunek obrotów osi do obrotów silnika. W większości przypadków dla osi liniowych wybierana jest normalizacja 1LU = = 1 µm. W takim wypadku wystarczy zastąpić skrót LU przez µm. W tym przykładzie zakłada się obrót osi o 10 000LU. Ponadto obrót ten odpowiada jednemu obrotowi silnika. Znaczy to, że pozycja osi zmienia się o 10 000LU = = 10 000 µm = 10 mm na jeden obrót silnika. Rys. 2.14. Ograniczenia dynamiczne oraz mechaniczne Aby uniknąć poruszania osi poza zasięgiem mogą zostać zastosowane programowe oraz sprzętowe przełączniki krańcowe. Programowe przełączniki krańcowe są to pewne wartości pozycji. Kiedy oś jest odnoszona, te pozycje nie mogą być zmienione Przed osiągnięciem jednej z tych pozycji oś jest zatrzymywana z odpowiednim opóźnieniem. Przełączniki sprzętowe są to czujniki lub przełączniki połączone przewodowo. W momencie załączenia jednego z tych przełączników oś zostanie natychmiast zatrzymana. Oba rodzaje przełączników krańcowych są stosowane w tym przykładzie. Przełączniki sprzętowe są używane również, jako punkty zwrotu w trybie namiaru. 301

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Rys. 2.15. Maksymalna prędkość, maksymalne przyspieszenie lub opóźnienie również muszą być skonfigurowane. Zależą one zwykle od nominalnej prędkości oraz bezwładności silnika. Prędkość maksymalna w tym przykładzie jest prędkością nominalną silnika. Przyspieszenie oraz opóźnienie maksymalne są tak zadane by sinik szybko osiągał prędkość końcową bez powodowania błędów nadążania przy 100% przyspieszeniu bez podłączonej osi. Rys. 2.16. Uruchamianie napędu Napęd musi być ustawiony w stanie gotowości do startu, aby mógł zostać uruchomiony. Następujące warunki po temu muszą zostać spełnione: nie jest aktywny żaden błąd, OFF2 oraz OFF3 nie są aktywne (TRUE), RUN nie jest aktywny (FALSE). Jedynie w wypadku, kiedy powyższe warunki zostały spełnione napęd można uruchomić poprzez ustawienie wejścia RUN na bloku USS_DRV. 302

2. Realizacja zadania Potwierdzanie błędu W wypadku, gdy aktualny jest potwierdzalny błąd należy go wyzerować poprzez ustawienie wejścia F_ACK na bloku USS_DRV. Po tym napęd może zostać znów uruchomiony (po spełnieniu wyżej wspomnianych warunków). Tryb przejazdów ręcznych Tryb ręczny używany jest do powolnego poruszania osi. Dlatego prędkość maksymalna osi może być ograniczona w tym trybie. Żądane wartości prędkości dla przejazdów w przód oraz w tył mogą się różnić. W tym przykładzie osie są poruszane jedynie z 10% prędkości nominalnej przy wartości żądanej 100%. Rys. 2.17. Dwa tryby są dostępne w ramach trybu ręcznego: Tryb ciągły tak długo jak bit kontrolny Jog jest aktywny oś poruszana jest w wybranym kierunku. Tryb przyrostów oś poruszana jest jedynie o zdefiniowany interwał, kiedy bit Jog jest aktywny Tak długo jak oś jest poruszana bit CmdAct jest aktywny. 303

Przykład 8. Pozycjonowanie napędu serwo SINAMICS S110 z wykorzystaniem protokołu USS sterownika SIMATIC S7-1200 Tryb naprowadzania za pomocą punktu odniesienia Napęd musi znać pozycję osi zanim może ją poruszyć w określony sposób. Można to osiągnąć w EPOS na różne sposoby (zobacz w instrukcji). Jako przełącznik punktu odniesienia (punkt zero), w tym przykładzie, użyty jest zewnętrzny czujnik podłączony przez wejście cyfrowe do napędu. Dwa krańcowe przełączniki sprzętowe są stosowane, jako punkty zwrotu w wypadku, gdy nie zostanie odnaleziony punkt odniesienia. Po ustawieniu bitu RefStart oś poruszana jest ze zdefiniowaną prędkością w określonym kierunku aż osiągnie punkt zero. Kiedy wykryty zostanie sygnał punktu następuje zbliżanie do punktu odniesienia ze zdefiniowaną prędkością. W wypadku, gdy nie zostanie wykryty sygnał punktu zero, ale zostanie wykryty sygnał sprzętowego przełącznika krańcowego następuje odwrócenie kierunku przejazdu i poszukiwanie trwa dalej. Wartość przesunięcia punktu odniesienia określa jak daleko znajduje się on od punktu zero. W momencie, kiedy punkt odniesienia został osiągnięty skonfigurowana pozycja tego punktu jest zapisywana jako pozycja rzeczywista. Rys. 2.18. Tak długo jak trwa przejazd bit CMDActive jest aktywny. W momencie, kiedy namiar został ukończony bit RefDone jest ustawiany na TRUE. 304

2. Realizacja zadania Bezpośrednie określenie wartości żądanej/mdi pozycjonowanie absolutne oraz względne Ze względu na wykonane naprowadzanie znana jest rzeczywista pozycja osi. W tym momencie pozycje osiągalne mechanicznie mogą być zadane poprzez określenie żądanej pozycji w [mm] oraz żądanej prędkości w [%]. UWAGA Pozycjonowanie względne możliwe jest również w wypadku, gdy oś nie została naprowadzona. Prędkość żądana 100% odpowiada nominalnej prędkości silnika. Wartości przyspieszenia oraz opóźnienia odpowiadają tym z profilu przejściowego. Rys. 2.19. Przed rozpoczęciem zadani MDI bity kontrolne IntMStp oraz RejTask muszą być aktywne. Trzeba również dokonać wyboru pomiędzy pozycjonowaniem względnym oraz absolutnym. Tak długo jak trwa przejazd bit CmdAct jest aktywny. Zadanie przejścia może być odrzucone poprzez ustawienie bitu kontrolnego RejTask. Można również przerwać przejazd przez ustawienie bitu IntMstp i kontynuować później. Również transfer nowej wartości żądanej może być dokonany podczas przejazdu. Bloki przejazdów Po naprowadzeniu osi można za pomocą tego trybu wybrać z pośród 16 bloków przejazdów. Dla każdego z nich prędkość, przyspieszenie oraz opóźnienie mogą zostać indywidualnie zadane. Możliwe zadania są następujące: pozycjonowanie względne/absolutne, ciągłe dodatnie/ujemne przejście, oczekiwanie zadaną ilość czasu, bloki skokowe. równoczesne ustawienie/resetowanie do dwóch wyjść cyfrowych. 305