Komunikacja z wykorzystaniem protokołu Modbus RTU dla sterowników z rodziny Micro800

Podobne dokumenty
Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Komunikacja sterownika PLC Fatek jako master w protokole ModBus RTU

Dokumentacja Techniczna. Czytnik RFID UW-M4GM

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

Sterownik PLC ELPM-8DI8DO z aplikacją ELPM-8DI8DOasRoleta wersja v

KOMUNIKACJA MODBUS Z FALOWNIKAMI SERII EL1000 oraz EDS

Protokół Modbus RTU / Sieć RS-485

Funkcje sterownika CellBOX-UxR ModBUS RTU

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

ELPM-8DI8DOasLightCount

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

CENTRALKA DETCOM.3 DO DETEKTORÓW SERII 3.3

Konfiguracja sterowników Horner APG do pracy w trybie Modbus RTU Master

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

Moduł 2 wyjść przekaźnikowych z protokołem Modbus

DEMERO Automation Systems

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

CoDeSys 3 programowanie w języku drabinkowym LD

Opis szybkiego uruchomienia programu APBSoft

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Adres rejestru. szesnastkowo. Typ zmiennej. Numer funkcji Modbus. Opis zmiennej. (dziesiętnie)

Komunikacja w sterownikach Horner APG w sieci CsCAN

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

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

1.Wstęp. 2.Generowanie systemu w EDK

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

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

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. ( )

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

Konfiguracja panelu ASTRAADA HMI z sterownikiem ASTRADA ONE

CM Konwerter ModBus RTU slave ModBus RTU slave

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Data utworzenia Data aktualizacji Korekta 3 Il. stron 7

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

MS360-LPM. wersja 1.09 (wersja robocza) Dokumentacja użytkownika

POLITECHNIKA WARSZAWSKA Wydział Elektryczny Instytut Elektroenergetyki Zakład Elektrowni i Gospodarki Elektroenergetycznej

RS485 MODBUS Module 6RO

Moduł 16 wyjść cyfrowych z protokołem Modbus

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

RS485 MODBUS Module 6RO

Spis treści. 1 Moduł Modbus TCP 4

Autorzy. Zespół SABUR Sp. Z o.o. Wydanie Data. Sierpień SABUR Sp. Z o. o. Wszelkie prawa zastrzeżone

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

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Konfiguracja komunikacji w sterownikach Horner APG w sieci CsCAN

RS485 MODBUS Module 6RO

GRM-10 - APLIKACJA PC

DOKUMENTACJA TECHNICZNA. KONWERTER MODBUS v1. INSTRUKCJA OBSŁUGI wersja instrukcji 1.0

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

Instrukcja integracji urządzenia na magistrali Modbus RTU

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Obrót magazynowy w kasach Farex przy pomocy programu PLU Manager

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM

MiniModbus 4DI. Moduł rozszerzający 4 wejścia cyfrowe. Wyprodukowano dla

CANopen Addon Manual

Zarys informacji o protokole ModBus RTU

Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus. DODATEK NR 1 Opis konfiguracji sieci AS-I

LSPX-21 LISTWOWY MODUŁ WEJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2003 r.

INFORMATOR TECHNICZNY HORNER. Konfiguracja komunikacji GPRS pomiędzy sterownikiem XLe i oprogramowaniem Proficy HMI/SCADA Cimplicity

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

2. Format danych i zaimplementowane funkcje MODBUS

Lumel Proces pierwsze kroki

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

AKTUATOR DO SYSTEMU DUO Q

INFORMATOR TECHNICZNY GE FANUC

SDM-6RO. Moduł rozszerzający 6 wyjść przekaźnikowych. wyprodukowano dla

Informator techniczny

INTERFEJS RENAULT USB INSTRUKCJA OBSŁUGI strona 1/16

Projektowanie i Organizacja Systemów Elektronicznych. Protokół MODBUS. Marek Niedostatkiewicz

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

Instrukcja obsługi certyfikatu kwalifikowanego w programie Płatnik.

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

SystimPlus. Dokumentacja (FAQ) dla wersji: v

Siemens S Konfiguracja regulatora PID

MSW8-LPM. wersja 0.1 (wersja robocza) Dokumentacja użytkownika

Materiały dodatkowe. Konfiguracja sterownika programowalnego Siemens do obsługi protokołu MODBUS. Opracowali: mgr inż.

DEMERO Automation Systems

Interfejs USB-TTL KOD: INTU. v.1.0. Zastępuje wydanie: 3 z dnia

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

RS485 MODBUS Module 16O

asix4 Podręcznik użytkownika MELSECA - drajwer dedykowanego protokołu sterowników MITSUBISHI Podręcznik użytkownika

tel fax

cmt + CODESYS, oraz zdalne wejścia/ wyjścia

MiniModbus 4DI-M. Moduł rozszerzający 4 wejścia cyfrowe z pamięcią liczników. Wyprodukowano dla

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

1. Opis. 2. Wymagania sprzętowe:

Widok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku.

1. INSTALACJA SERWERA

Instalacja programu:

CM Konwerter ModBus RTU slave ModBus RTU master

m e d i a s e r v i c e Moduł kamery JPEG z komunikacją szeregową CJ0706A

Instrukcja obsługi. Oprogramowanie narzędziowe do konfiguracji przemienników częstotliwości Astraada Drive. Oprogramowanie narzędziowe HCM

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Transkrypt:

Komunikacja z wykorzystaniem protokołu Modbus RTU dla sterowników z rodziny Micro800 1

MODBUS to jeden z najstarszych protokołów komunikacyjnych dedykowanych do zastosować w systemach automatyki przemysłowej, wciąż popularny i obecny na rynku. Jest stosunkowo prosty, niedrogi, oraz uniwersalny. Podstawowe polecenia protokołu ModBus to: odczyt, zapis zmiennej dwustanowej (bit) albo zmiennej liczbowej (word 16 bit). W zależności od rodzaju zmiennej i możliwości jej zapisu został wprowadzony podział. Typ Rodzaj zmiennej Możliwość zapisu Wykorzystanie Dicretes Input bit Wejście dwustanowe Read Tylko odczyt Dwustanowe wejścia/wyjścia Coil Cewka, przekażnik bit Read/Write Odczyt/zapis Przekaźniki/wyjścia Input Register rejestry wejściowe Słowo 16-bitów Read Tylko odczyt Liczbowe wartości na wejściach/wyjściach Holding Register rejestry pamiętające Słowo 16-bitów Read/Write Odczyt/zapis Odczyt i zapisy do rejestrów wewnętrznych Podstawowe funkcje protokołu MODBUS. Kod funckji. Opis funckji (dziesiętnie) 1 Read Coils, odczyt stanów wyjść binarnych. 2 Read discrete inputs, odczyt stanów wejść binarnych. 3 Read holding register, odczyt rejestrów pamiętających. 4 Read Input Register, odczyt rejestrów wejściowych. 5 Write Single Coils, zapis jednego wyjścia binarnego. 6 Write single register, zapis do jednego rejestru pamiętającego. 15 Write multiple coils, zapis wielu wyjśc binarnnych. 16 Write multiple register, zapis do wielu rejestrów. 3 Diagnoza, zgłaszanie błędów. 2

Protokołu Modbus RTU, w przypadku sterowników z rodziny Micro800, możemy używać w modelach Micro820, Micro830 oraz Micro850. Wszystkie wymienione sterowniki mają wbudowany nieizolowany port szeregowy, który zalecany jest do komunikacji (wymiany danych) z panelami HMI, lub sterownikami. W przypadku komunikacji z falownikami, lub urządzeniami, które znajdują się w odległości większej niż 5 metrów, oraz mogące generować zakłócenia zalecane jest użycie modułu wtykowego 2080SERIALSOL, który zapewnia nam izolacje, oraz nie wymaga stosowania dodatkowych złącz, (tak jak ma to miejsce w przypadku Micro830 oraz Micro850). W czerwonej ramce zostały zaznaczono wbudowane porty szeregowe. Micro820 Micro830 Micro850 3

Poniżej zostanie przedstawiony praktyczny przykład zastosowania sterownika Micro830 do komunikacji z Falownikiem PowerFlex 4M z wykorzystaniem protokołu Modbus RTU. Należy pamiętać, że na końcach magistrali zalecane jest użycie terminatora (rezystor 120 Ω) w celu zniwelowania zakłóceń. Sterowniki Micro800 komunikuję się tylko z jednym napędem w tym samym czasie, poprzez wysłanie tzw. explicit messages. Oznacza to, że w przypadku kilku napędów w sieci, komunikacja między nimi wydłuży się proporcjonalnie do ilości napędów. Message instruction jest to część konfigurowalna w programie przez użytkownika. Testy wykazały, że w przypadku komunikacji z falownikiem PowerFlex 4 przy prędkości 9600 baud, średni czas odpowiedzi to 50 ms, W przypadku ustawienia prędkości na 19200 baud, czas ten wyniósł 30 ms. 4

Przykład: 5 Należy w pierwszej kolejności dodać sterownik do naszego okna projektu. Z paska narzędzi klikamy zakładkę file i wybieramy New. Z okna projektu programu CCW, katalogu projektu przeciągamy wybrany sterownik, przykładowo 2080-LC30-24QBB.

W oknie projektu klikamy dwa razy na wybrany sterownik Micro830. 6 Następnie klikamy prawym przyciskiem myszy na wolny slot w sterowniku i dodajemy moduł 2080-SERIALISOL.

Klikając na dodany moduł, przechodzimy do jego ustawień. Pojawia się okno, w którym konfigurujemy parametry transmisji, takie jak prędkość, parzystość, role węzła w sieci (master czy slave). Po ustawieniu parametrów komunikacji, przechodzimy do tworzenia programu. 7 W oknie projektu, klikamy prawym przyciskiem myszy zakładkę Programs, następnie wybieramy Ladder Diagram. Zmieniamy nazwę programu na Mod_Message.

8 Klikamy dwa razy na Mod_Message. Z ToolBox wybieramy element Block i przeciągamy go do rungu. Z okna Instruction Block Selector wybieramy instrukcje MSG_MODBUS.

9 Klikamy dwa razy na ikonę Local Variables znajdującą się w oknie projektu i tworzymy następujące zmienne. Nazwa zmiennej Typ danych Cancel BOOL D3_lcfg MODBUSLOCADDR D3_Tcfg MODBUSLOCADDR D3_laddr MODBUSLOCADDR D3_error BOOL D3_errorc UINT

Przypisujemy następujące wartości do zmiennych. 10 Nazwa zmiennej Opis Wartość D3_Icfg.Channel Nr kanału portu szeregowego 5 D3_Icfg. TriggerType Sposób wyzwalania. 0 pojedyncze, 1-ciągły 1 D3_lcfg.Cmd Funkcja komunikacji modbusa 03(Read Single Coil), 06 (Write Single Coil) or 16 (Write Multiple Coil) 16 D3_Icfg.ElementCnt Liczba danych słów czytanych albo zapisywanych 2 D3_Tcfg.Addr Adres rejestru jednostki slave od którego rejestru czytamy dane lub do których rejestrów zapisujemy. 8193 D3_Tcfg.Node Adres slave 3 D3_laddr[1] Dane zapisywane/ dane czytane jeśli wybrana jest funkcja odczytu.( wartość 2 w rejestrze o adresie 8193 oznacza start) 2 D3_laddr[2] Dana zapisana/odczytana w rejestrze D3_Tcfg.Addr+1 czyli 8194. W naszym przypadku jest to rejestr odpowiadający za prędkość referencyjną. 100

Przykład wypełnienia wartościami struktur. UWAGA!!! Należy pamiętać, że w przypadku sterowników Micro800, jeżeli chcemy zmieniać/odczytać wartości w rejestrze falownika, należy zapytać/zapisać wartości do: rejestr +1, czyli 8193. Opis rejestrów dla falownika PowerFlex 4M, (szczegółowy opis wszystkich rejestrów znajduję się w dokumentacji do falownika). 11

12 Do D3_laddr[2], należy wpisać wartości prędkości odniesienia. Proszę pamiętać, że wartości te są dzielone przez dziesięć dla falownika PowerFlex 4M. ( dla PowerFlexa 525 wartości dzielone są przez 100).

Przykład: jeżeli chcemy uzyskać 10 Hz, należy do rejestru o adresie 8194 wysłać liczbę 100. Opis kanałów dla sterownika Micro830. Rung pierwszy wygląda następująco: 13

Kompilujemy nasz program. Prawym przyciskiem, w oknie projektu, klikamy na sterownik i dajemy Build. Jeżeli, nie wystąpiły błędy przy kompilacji w oknie Output, pojawi się komunikat informujący nas o sukcesie. Następnie należy zapisać projekt, klikając na ikonę save. Schemat podłączenia sterownika z Falownikiem PowerFlex 4M. 14

Po stronie PowerFlexa 4M należy ustawić następujące parametry. 15 Parametr opis Setting C302 Prędkość transmisji 4 = 19200 bps 4 C303 Adres węzła (slave) w sieci 2 C304 Wystąpienie zdarzenia podczas utraty komunikacji, 0=zatrzymanie z wystąpieniem błędów 0 C305 Czas po którym zostają podjęte działania ustawione w parametrze 304, 5 sek. (max 60) 5 C306 Format danych (dane,parzystość,stop), RTU:8 bit, brak parzystości, jeden bit stop

Następnie wgrywamy program do sterownika, poprzez przycisk Download. Z okna Connection Browser, wybieramy nasz sterownik i klikamy OK. Pojawi się następujący komunikat, że należy przejść w tryb Program z trybu RUN. Należy potwierdzić przyciskiem OK. 16

Po wgraniu programu pojawi się następujący komunikat. Pojawi się kolejne okno, które zapyta nas czy przejść w tryb RUN, klikamy YES. 17 Na pasku narzędzi klikamy ikonę start debugging (F5) Uzyskamy w ten sposób podgląd online kroku programu oraz aktualnych wartości w sterowniku.

Jeżeli wszystkie kroki wykonaliśmy poprawnie, falownik powinien wystartować z ustawioną prędkością 10 Hz. W aplikacjach w których chcemy sterować/odpytywać kilka, kilkanaście urządzeń z wykorzystaniem protokołu Modbus, lub gdy do jednego urządzenia chcemy zapisywać wartości oraz czytać z niego informacje zalecane jest kolejkowanie messages (wiadomości), aby nie przepełnić bufora na wyjściu. Przykład takiego kolejkowania zostanie wyjaśniony w poniższym przykładzie. Tworzymy nowe zmienne, które posłużą nam w przypadku wysłania komendy MSG_1 Modbusa do kolejnego falownika (slave o adresie 2). Proszę zwrócić uwagę, że w porównaniu do pierwszego przykładu tym razem tryb wyzwalania D2_Icfg. TriggerType ustawiamy na 0 (wyzwalanie pojedyncze, realizowane gdy stan na wejsciu MSG_Modbus IN zmieni się z 0 na 1). 18

Wartości zmiennych w przypadku komunikacji z urządzeniem o adresie 2. Nazwa zmiennej Wartość D2_Icfg.Channel 5 D2_Icfg. TriggerType 0 D2_lcfg.Cmd 16 D2_Icfg.ElementCnt 2 D2_Tcfg.Addr 8193 D2_Tcfg.Node 2 D2_laddr[1] 2 D2_laddr[2] 200 Rung nr 1: 19

Rung nr 2 i 3. Wartości zmiennych w przypadku komunikacji z urządzeniem o adresie 3 20 Nazwa zmiennej Wartość D3_Icfg.Channel 5 D3_Icfg. TriggerType 0 D3_lcfg.Cmd 16 D3_Icfg.ElementCnt 2 D3_Tcfg.Addr 8193 D3_Tcfg.Node 3 D3_laddr[1] 2 D3_laddr[2] 100

Po uruchomieniu sterownika wyzwalana jest pierwsza komenda od styku normalnie zamkniętego PowerUp, który znajduje się w stanie logicznego zera. Przejdzie dopiero w stan wysoki, po wykonaniu wszystkich instrukcji, gdyż ustawienie wyjść następuje w ostatnim cyklu pracy sterownika. Jeżeli komenda zostanie wysłana, następuje pojawienie się stanu wysokiego na wyjściu instrukcji MSG_1, czyli MSG_1.Q=1. Stan wysoki MSG_1.Q powoduje zadziałanie instrukcji MSG_2, oraz ustawia stan wysoki dla MSG_2.Q, który następnie wyzwala blok MSG_1 i tak w kółko. W przypadku pojawienia się błędu np. jeżeli falownik o adresie nr 2 zostanie odłączony od prądu, lub nastąpi zmiana jego parametrów transmisji, nastąpi wysterowanie zmiennej D2_error, która powoduje zadziałanie komendy MSG_2. Sytuacja jest analogiczna jeżeli błąd wystąpi dla falownika o adresie nr 3 (MSG_2). Takie rozwiązanie zapewnia, że nie przepełnimy bufora wiadomości Modbusa na wyjściu, gdy nastąpi brak komunikacji z urządzeniem slave, oraz w przypadku awarii urządzenia, wiadomości do pozostałych urządzeń w sieci będą nadal wysyłane. UWAGA!!! W przypadku, kiedy używamy sterownika do komunikacji z falownikami Rockwella, są gotowe bloki funkcyjne do komunikacji, które możemy pobrać ze strony Allen Bradley. Korzystanie z gotowych bloków znacznie oszczędza czas, gdyż nie trzeba szukać w dokumentacji pod jakimi adresami rejestrów kryją się parametry, które chcemy odczytać lub zmienić. Oczywiście należy pamiętać, że bloki te posiadają jedynie możliwość, zapisu, odczytu podstawowych funkcji, które przy prostym sterowaniu w zupełności wystarczą. Bloki te można pobrać za pośrednictwem strony: http://ab.rockwellautomation.com/programmablecontrollers/micro800#resources, a następnie klikając Sample Code Library 21

Przykładowy blok funkcyjny napisany dla Falownika 4M. 22

Jak widać, mamy możliwość zadawania prędkości, wymuszania startu, stopu, zmiany kierunków pracy, ustawień czasu ramp oraz pracy w trybie jog. Proszę pamiętać, że sterowniki Micro800 mogą pracować również jako jednostki slave. Jeżeli chcemy udostępnić dane innym masterom (urządzeniom) w sieci, należy te dane/zmienne z mapować. Mapowania robimy, klikając dwa razy na ikonę sterownika w oknie projektu, a następnie przechodzimy do zakładki Modbus Mapping. 23

Wybieramy zmienną i wprowadzamy adresy dla Modbusa używając 5 lub 6 cyfr. Adresy rejestrów 0xxxx lub 0xxxxx dla wyjść/cewek (stany binarne) (do 09999 lub 065536) 1xxxx lub 1xxxxx dla wejść/contacts (do 19999 lub 165536) 3xxxx lub 3xxxxx dla wejścia/rejestr tylko do odczytu (do 39999 lub 365536) 4xxxx lub 4xxxxx dla rejestr pamiętający/zapis, odczyt rejestru(do 49999 lub 465536) 24