Menu

AS300- sterowanie serwonapędami cz. 5 – CAN

utworzone przez lut 5, 20180 komentarzy

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.

 

AS300

 

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:

 

AS300

 

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).

 

AS300

 

Oprogramowanie CANopenBulder otwieramy klikając na rysunek sterownika prawym przyciskiem myszy Communication Software/CANopen Builder.

 

AS300

 

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).

 

AS300

 

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

 

AS300

 

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.

 

AS300

 

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).

 

AS300

 

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.

 

AS300

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ę.

 

AS300

 

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).

 

AS300

 

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.

 

AS300

 

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.

 

AS300

 

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.

 

AS300

 

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.