1. Cel ćwiczenia Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU. 2. Porty szeregowe w sterowniku VersaMax Micro Obydwa porty szeregowe sterownika można konfigurować z poziomu oprogramowania do pracy w charakterze urządzenia slave protokołu SNP lub slave protokołu RTU. Obsługiwany jest protokół RTU z 2 lub 4 przewodowym kablem komunikacyjnym. Jeżeli port korzysta z protokołu RTU, jest on w razie konieczności automatycznie przełączany na tryb SNP Slave. Urządzenie zewnętrzne podłączone do portów mogą być z nich zasilane napięciem 5 VDC, jeżeli obciążenie nie przekracza 100 ma. Port 1 to port RS-232 ze złączem RJ-45 obsługujący protokoły SNP/SNPX Slave. Port 2 to port RS-485 ze złączem DB-15 obsługujący protokoły SNP/SNPX Slave i Master, Serial I/O oraz RTU Slave w wersji dwu i czteroprzewodowej. Sterownik Micro może obsłużyć maksymalnie osiem urządzeń na pojedyncze sieciowe połączenie szeregowe. W przypadku sieci wielogałęziowej (multidrop), urządzenie główne jest skonfigurowane jako master, a jeden lub więcej sterowników skonfigurowanych jest jako urządzenia slave. Konfigurację tę można stosować pod warunkiem, że odległość pomiędzy urządzeniem master a dowolnym urządzeniem slave nie przekracza 1200 metrów (4000 stóp). 1
Schemat połączeń w kablu komunikacyjnym sieci multidrop Terminatory muszą być podłączone wyłącznie do urządzeń na końcach linii. W tym celu należy zewrzeć styki 9 i 10 wewnątrz obudowy złącza D-sub. 3. Funkcje interfejsu Modbus w sterownikach GE Fanuc W sterownikach Micro realizowana jest programowa obsługa komunikacji w sieci Modbus. Przesyłanie bloków danych między urządzeniami jest realizowane za pomocą specjalnej funkcji COMMREQ. Funkcja COMMREQ dla ciągłych transakcji wymiany jest wywoływana tylko raz, zaś dla transakcji wyzwalanych jest wywoływana w określonych momentach. 2
Aby zainicjalizować pracę sieci należy napisać program dla sterownika MASTER zapewniający wykonanie poniższych czynności, czyli: inicjalizacja Slave Control Błock, inicjalizacja Master Control Błock, inicjalizacja bloku danych dla funkcji COMMREQ wykonanie funkcji COMMREQ, monitoring i obsługa błędów. Do transmisji danych pomiędzy poszczególnymi jednostkami w sieci Modbus RTU wykorzystywane są standardowe komendy zestawione w tabeli poniżej. Tabela 1. Komendy RTU Modbus dla modułu komunikacyjnego Komendy RTU Modbus Wartość 1 Odczyt stanu wyjść dyskretnych 2 Odczyt stanu wejść dyskretnych 3 Odczyt rejestrów 4 Odczyt wejść analogowych 5 Ustawienie ON/OFF wybranego wyjścia dwustanowego 6 Zapis do rejestru 7 Odczyt statusu 15 Ustawienie ON/OFF grupy wyjść dwustanowych 16 Ustawienie wartości w grupie rejestrów Do właściwej organizacji transmisji danych przyjęte zostały wartości do adresowania pobieranych typów obszarów pamięci PLC zestawione w tabeli 2. 3
Tabela 2. Pobierane typy obszarów pamięci w sterowniku PLC Pobierane typy obszarów pamięci PLC Wartość 70 %I - obszar wejść dyskretnych 72 %Q - obszar wyjść dyskretnych 74 %T - obszar zmiennych tymczasowych 76 %M - obszar zmiennych z pamięcią 8 %R - obszar zmiennych rejestrowych 10 %AI - obszar wejść analogowych 12 %AQ - obszar wyjść analogowych Przesyłane dane są organizowane w bloki danych kontrolnych dla urządzeń Slave (SCB) i urządzeń Master (MCB). Organizacja danych w Master Control Block (MCB) Blok danych dla urządzenia MASTER jest grupą 6 słów bitowych konfigurowany dla każdej komendy RTU. Wszystkie bloki MCB są przechowywane w obszarze pamięci sterownika programowalnego. Blok MCB zawiera dane dotyczące numeru identyfikacyjnego urządzenia SLAVE, do którego zostanie wysłana komenda, rodzaj komendy wysłanej do urządzenia, rodzaj pamięci urządzenia SLAVE, obszar tej pamięci oraz rodzaj i obszar pamięci służącej do przechowywania danych odbieranych lub przesyłanych z urządzenia SLAVE. Tabela 3. Organizacja danych w Master Control Block (MCB) Adres adres adres +1 adres +2 adres +3 adres +4 adres +5 ID numer identyfikacyjny stacji Slave Komenda RTU Adres pierwszego bitu obszaru pamięci w urządzeniu Slave Długość obszaru pamięci urządzenia Slave Typ pamięci do lub z którego są przesyłane lub odbierane dane Adres pierwszego bitu obszaru pamięci w sterowniku Master 4
Dla przykładu poniżej zostanie zaprezentowany fragment programu dla sterownika Master realizujący wymuszenie grupy 8 wejść dwustanowych z urządzenia Slave o numerze ID=111 i zapisanie ich na wyjściu sterownika Master. 4. Wykonanie ćwiczenia W ramach ćwiczenia należy zestawić i skonfigurować sieć punkt do punkt złożoną z Mastera i Slave a pracującą w oparciu o protokół Modbus RTU. Zadania do realizacji: napisać program, który będzie cyklicznie pobierał stany z 8 wejść dwustanowych Slave a o ID=1 na 8 wyjść Master a, napisać program, który będzie cyklicznie zapisywał wartości z 8 komórek pamięci typu %R z Master a do rejestrów typu %R Slave a, do poprzedniego programu dopisać funkcję odczytu ze Slave a wartości z wejścia analogowego %AI do %9R w stacji Master, napisać program rozgłaszający stan 8 wejść dwustanowych Master a na wyjścia dwustanowe Slave a. 5