Istnieje wiele sposobów sterowania serwonapędami ASDA przy wykorzystaniu sterownika PLC z serii AS300:
- impulsowo (sygnały dir/step) PT
- PR mode (wykonywanie ścieżek zapisanych w serwonapędzie)
- zapisując ścieżki w serwonapędzie i wywołując je komendami poprzez protokół komunikacyjny
- Za pomocą komend wysyłanych do serwonapędu w trybie CANopen Mode
- dedykowanymi instrukcjami “Delta CANopen Communication Instructions” dostępnymi w serii sterowników AS300
W poprzednich częściach artykułu zajmowaliśmy się sterowaniem impulsowym, wykonywaniem ścieżek PR poprzez wejścia cyfrowe serwonapędu oraz zapisując ścieżki i wywołując poprzez interfejs Modbus RS485. W tej części artykułu będziemy przesyłać dane poprzez interfejs CAN.
Sposób 3. Zapisywanie ścieżek do serwonapędu oraz wykonywanie zapisanych ruchów za pomocą interfejsów komunikacyjnych. Część 1
1. Zaczynamy zabawę, czyli konfiguracja serwonapędu
Cała konfiguracja serwonapędu jest identyczna jak w trzeciej części serii artykułów o AS300 https://induprogress.pl/baza-wiedzy/as300-sterowanie-serwonapedami-cz-3-pr-mode/ . W przeciwieństwie do części trzeciej artykułu, możemy pominąć konfigurację ścieżek, ponieważ będziemy ją przesyłać przez interfejs komunikacyjny.
Musimy jeszcze zmienić ustawienia komunikacji, służą do tego parametry grupy P3.
- P3-00 2 adres urządzenia (dotyczy zarówno interfejsu Modbus jak również CAN)
- P3-01 0x405 prędkość transmisji (CAN 1Mb/s, Modbus 115200)
- Ustawiając adres urządzenia należy pamiętać aby adres każdego urządzenia na magistrali był niepowtarzalny.
- Po zmianie adresu urządzenia musimy zresetować zasilanie serwonapędu.
W przypadku interfejsu CAN jest możliwość przesłania parametrów poprzez magistralę za pomocą komunikatów SDO które są wysyłane tuż po nawiązaniu komunikacji z węzłem CAN.
2. Jak nie zrobić zwarcia, czyli połączenie sygnałów pomiędzy sterownikiem AS300 a serwonapędem
W przypadku komunikacji za pomocą interfejsu CAN, łączymy za pomocą przewodu z końcówkami RJ45 złącze CN6 serwonapędu ze złączem na karcie AS-FCOPM, która musi być włożona w slot 2 na sterowniku (slot 1 nie obsługuje karty AS-FCOPM). Sieć CAN musi być zakończona na obydwu końcach rezystorami dopasowującymi (120om), popularnie zwanych terminatorami. Należy tez używać przewodów ekranowanych aby uniknąć zakłóceń komunikacji. Karta AS-FCOPM posiada wbudowany rezystor więc po stronie sterownika można przełączyć przełącznik na karcie funkcyjnej, opisany TERM, w pozycję ON.
Po stronie serwonapędu należy skorzystać z TAP-TR01.
3. Jak się dogadać, czyli konfiguracja sterownika.
W sterownikach AS300 Moduł CAN może pełnić kilka funkcji, w przypadku niektórych konfigurowanie poprzez CANopenBuilder jest nieaktywne, więc dostęp do CANopenBuildera jest poprzez HWCONFIG. Jednak w pierwszej kolejności musimy odpowiednio ustawić parametry pracy karty CAN. Uruchamiamy HWCONFIG:
A następnie otwieramy konfigurację klikając dwukrotnie na rysunku sterownika(1), z menu wybieramy Function Card 2 Setting(2), a następnie uzupełniamy: (3) ręczny tryb wyboru karty oraz typ karty AS-FCOPM, (4) tryb pracy karty CANopen DS301 i numer węzła sieci mastera CAN, (5) prędkość transmisji taką samą jak w serwonapedzie 1000kbps (=1Mbps) i kiedy ma się rozpocząć wymiana danych (w momencie zasilenia sterownika czy gdy sterownik będzie w trybie run).
Oprogramowanie CANopenBulder otwieramy klikając na rysunek sterownika prawym przyciskiem myszy Communication Software/CANopen Builder.
Klikając przycisk Online (1) łączymy się ze sterownikiem, A za pomocą Scan Network (2) wyszukujemy dostępne węzły sieci CAN. Pod rysunkiem sterownika powinny pokazać się nam znalezione węzły (3) w przypadku gdy znaleziono wszystkie podłączone węzły możemy przerwać dalsze wyszukiwanie (4).
Klikając dwukrotnie ikonę serwonapędu otworzymy okno do ustawiania komunikacji, w którym możemy ustawić:
(1) numer węzła sieci.
(2) wyświetlana nazwa
(3) dostępne ramki danych
(4) ustawione ramki danych
(5) dodawanie ramek z listy dostępnych do ustawionych
(6) kasowanie ramki z listy ustawionych
(7) konfigurowanie ramki
(8) ustawienia ramki
(9) konfiguracja ramek Auto SDO
W przypadku danych które po uruchomieniu są ustawione na stałą i znaną z góry wartość, jak np. parametr P2-30, wygodnie jest użyć Auto SDO. Dane te są wysłane do węzła w chwili nawiązania z nim komunikacji, także w sytuacji gdy połączenie zostało wznowione np. po wyłączeniu zasilania serwonapędu.
Nową ramkę Auto SDO dodajemy przyciskiem Add(1), następnie możemy wpisać indeks protokołu lub kliknąć przycisk (2) aby wybrać z listy (3) rejestr do którego chcemy zapisać dane. zatwierdzamy wybór (4) i wpisujemy wartość do wysłania (5), klikamy OK (6). Na powyższym przykładzie w ten sposób są wysłane 2 wartości:
parametr P2-30 z wartością 5, zabezpieczenie pamięci EEPROM
parametr P3-06 z wartością 7 ( binarnie 00000111) ustalenie wejść sterowanych przez CAN.
Jest też możliwość aby w serwonapędzie ustawić jedynie parametry komunikacji (P3-00 i P3-01) oraz typ sterowania (P1-01) a resztę ustawień dotyczących konfiguracji wejść, wyjść itp., przesyłać przez Auto SDO.
W interfejsie CAN każdy PDO (czyli ramka wymiany danych) ma ograniczony rozmiar do 8 bajtów. Serwonapędy ASDA obsługują max 4 ramki odczytu i 4 zapisu.
W oknie mapowania PDO wybieramy obiekt do dodania(1), klikamy przeniesienie wartości(2). Wtedy obiekt pojawi się na liście zmapowanych obiektów(3). Jeśli chcemy usunąć zmapowany obiekt to wybieramy go z listy i klikamy usuniecie(4).
W załączonym przykładzie mapowanie wygląda następująco:
PDO 1400 zawiera P7-02 i P7-03 (na rysunku powyżej)
PDO 1401 zawiera P4-07 i P5-60
PDO 1800 zawiera 6064 (Position actual value) i P4-09
PDO 1400 oraz PDO 1401 powodują wysłanie danych do serwonapędu, a PDO 1800 odczyt danych z serwonapędu.
Po zatwierdzeniu wszystkich zmian w konfiguracji węzła klikamy dwukrotnie w oknie głównym CANopen Buildera na ikonę sterownika, wtedy otworzy nam się okno z ustawieniami węzłów. Wybieramy z listy dostępnych(1) nasz węzeł i przenosimy (2) go na listę węzłów dodanych do magistrali. Poniżej pojawi nam się informacja pod jakimi rejestrami w sterowniku będą dostępne dane zapisywane do serwonapędu(4) i odczytywane z niego(5). Musimy zapisać sobie ta listę ponieważ później nam się przyda.
Następnie wracamy do okna głównego i wchodzimy w tryb online(1) i ładujemy konfigurację do sterownika(2). Po zakończeniu transferu mamy skonfigurowaną komunikację.
4. Jak to wprowadzić w ruch? Czyli piszemy program.
Do komunikacji możemy użyć prawie identycznego programu jakiego używaliśmy do komunikacji przez protokół Modbus, różnice polegają jedynie na innych rejestrach do których zapisujemy i z których odczytujemy dane. Nie musimy też zapisywać wartości 5 do rejestrów P2-30 i P3-06 (wysłaliśmy te wartości poprzez Auto SDO).
Sygnały wejściowe
- SON – Serwo On
- AL_RES – Alarm reset
- MODE – tryb pracy (0-absolutny, 1-inkrementalny)
- TRIGGER – zbocze narastające powoduje rozpoczęcie wykonywania ścieżki
- NPOS – nowa pozycja
- SPEED – prędkość ruchu
- P4_09 – wartość odczytana z parametru P4-09
Sygnały wyjściowe
- S_IS_ON – potwierdzenie włączenia serwonapędu
- ATPOS – komenda PR została wykonana
- RUN – serwonapęd pracuje
- ALRM – alarm serwonapędu aktywny
- P4_07 – wartość do zapisania do parametru P4-07
- P5_60 – wartość do zapisania do parametru P5-60
- P7_02 – wartość do zapisania do parametru P7-02
- P7_03 – wartość do zapisania do parametru P7-03
W przypadku protokołu CANopen w prosty sposób jest możliwa kontrola błędów. służą do tego rejestry specjalne SR826-SR829 w których jest informacja czy któryś z węzłów nie zachowuje się normalnie oraz SR830-SR893 z kodem błędu dotyczącym konkretnego węzła.
Na powyższym rysunku jest przedstawiona sytuacja gdy odłączono przewód komunikacyjny. W rejestrze SR826 został ustawiony bit 1 co oznacza błąd z węzłem 2, kod błędu znajduje się w rejestrze SR831.
Wartość rejestru SR831 wynosi E6 co oznacza, że na magistrali CAN nie znaleziono węzła o takim numerze pomimo, że jest skonfigurowany do komunikacji.
Korzystając z komunikacji po interfejsie CANopen mamy, w porównaniu do interfejsu Modbus, o wiele większą prędkość komunikacji, większe możliwości ponieważ można podłączyć do 64 węzłów oraz sprzętową kontrolę poprawności komunikacji. Podany wyżej sposób konfiguracji sprawia, że dane są wysyłane wyłącznie w przypadku zmiany wartości rejestrów, a nie cały czas co nie zajmuje niepotrzebnie czasu na magistrali gdy żadne dane nie zostaną zmienione.