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



Podobne dokumenty
Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

Funkcje sterownika CellBOX-UxR ModBUS RTU

Protokół Modbus RTU / Sieć RS-485

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

Systemy wbudowane - wykład 7

Magistrala LIN

INSTRUKCJA OBSŁUGI MLAN-1000

SYSTEM E G S MODUŁ ML/A-1m wersja V32.1

KONCENTRATOR DANYCH T1214

REJESTRATOR Z EKRANEM DOTYKOWYM TYPU KD7

Problematyka sieci miejscowej LIN

DATAPROVIDER DLA PROTOKOŁU MODBUS (RS) - INSTRUKCJA

REJESTRATOR EKRANOWY Typu KD8

Modbus. Protokół Modbus RTU / Sieć RS-485

Zarys informacji o protokole ModBus RTU

Data utworzenia Data aktualizacji Korekta 3 Il. stron 7

KONCENTRATOR DANYCH T1214

Moduł komunikacyjny Modbus RTU w standardzie RS-485 do ciepłomierza SonoMeter 31 i przelicznika energii Infocal 9

Wykład 3. Interfejsy CAN, USB

Instrukcja obsługi czytnika MM-R32

Instrukcja MM-717 Tarnów 2010

Wykorzystanie programu Auma Modbus Tester firmy Proloc do komunikacji i diagnozowania komunikacji Modbus RTU

OPIS INTERFEJSU SIECIOWEGO PRZEPŁYWOMIERZA MPP-04. Data utworzenia Data aktualizacji Korekta 1 Il. stron 8

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

MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania

Moduł Ethernetowy EL-ETH. Instrukcja obsługi

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

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

Dokumentacja Techniczna. Czytnik RFID UW-M4GM

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

STHR-2810, 2811, 2812 Przetwornik temperatury i wilgotności z czujnikiem Sensirion

ELPM-8DI8DOasLightCount

Seria sterowników XGB Panele operatorskie XGT Komunikacja z falownikami - - Komunikacja Ethernet -

Instrukcja obsługi modułu przekaźników MODBUS GEMINI INVEO s.c.

Uniwersalny Konwerter Protokołów

CONV 485 E Konwerter RS485 / 10BaseT Ethernet LAN

Praktyczne informacje o protokole MODBUS RTU

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

CM Konwerter ModBus RTU slave ModBus RTU slave

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

CM ModBus RTU Slave Danfoss MCD3000 Master

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

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

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

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

AST-CON-485E Konwerter Modbus TCP - Modbus RTU

Instrukcja obsługi Czytnika RFID MODBUS RFID-MB-10. INVEO s.c. ul. Rzemieślnicza Kozy tel:

RS485 MODBUS Module 6RO

asix4 Podręcznik użytkownika COMLI - drajwer protokołu COMLI Podręcznik użytkownika

THP-100-x parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

CM Konwerter SUCOM_A Master - ModBus RTU Slave

RS485 MODBUS Module 6RO

Katedra Metrologii i Systemów Elektronicznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska

RS485 MODBUS Module 6RO

INSTRUKCJA OBSŁUGI MLAN-1000

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

HP-1 parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

Instrukcja obsługi Czytnika RFID IND-U1

STR-6610-D Naścienny przetwornik temperatury z czujnikiem Dallas

Przesyłania danych przez protokół TCP/IP

Kod produktu: MP01611

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

CDIRO-360 Karta wejść binarnych i wyjść przekaźnikowych Instrukcja obsługi

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

SM211 RS485 - JBUS/MODBUS dla SM103E. Æ Instrukcja obsługi

1.10 MODUŁY KOMUNIKACYJNE

Sieci Komputerowe Modele warstwowe sieci

Instrukcja montażu i obsługi modułu. DD Building Management System Control (DDBMSC)

Kurs Certyfikowany Inżynier Sieci PROFIBUS DP. Spis treści. Dzień 1

STHR-6610 Naścienny przetwornik temperatury i wilgotności

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

TECHNIKA MIKROPROCESOROWA

Konwerter Transmisji KT-01

RS485 MODBUS Module 8I8O

Komunikacja z czujnikiem

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

asix4 Podręcznik użytkownika MODBUS_TCPIP - drajwer protokołu MODBUS_TCP/IP wg standardu OPEN MODBUS/TCP Podręcznik użytkownika

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

MGate Pełny opis produktu. Specyfikacja techniczna. 1-portowa brama Modbus/PROFINET/EtherNet/IP na PROFIBUS slave

Architektura komputerów. Układy wejścia-wyjścia komputera

CDI-360 Karta wejść binarnych Instrukcja obsługi

CM Konwerter ModBus RTU slave ModBus RTU master

Moduł sterujący urządzeniami WDDM 101

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

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

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

Protokół wymiany sentencji, wersja 1

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

RS485 MODBUS Module 6TE

Kod produktu: MP01105T

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

RS485 MODBUS Module 8AI

Transkrypt:

Projektowanie i Organizacja Systemów Elektronicznych Protokół MODBUS Marek Niedostatkiewicz Katedra Metrologii i Systemów Elektronicznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska

Protokół Modbus MODBUS Systemy automatyki przemysłowej, firma MODICON, 1979 Przyjęty jako standard inżynierski przez wielu producentów Powołano organizację kontrolującą rozwój standardu Standard jawny Pierwotnie protokół realizowany na bazie magistrali RS485 Rejestracja jako standard IEC

Protokół Modbus Obecna specyfikacja zawiera rozdzielne standardy warstwy aplikacji Modbus oraz warstwy łącza danych i fizycznej Możliwość realizacji na bazie różnych interfejsów RS232 / RS485 TCP / IP (Ethernet) port 502 High speed token passing network HDLC protokół Modbus Plus Obejmuje możliwość enkapsulacji danych nie objętych protokołem Współpraca z innymi systemami np. CANopen Współpraca z Gateway ami

Protokół Modbus Sygnalizacja błędów / zabezpieczanie przesyłanych komunikatów przed błędami Potwierdzanie wykonywania rozkazów Mechanizmy zabezpieczające przed zawieszeniem systemu Standard zawiera zgodne z notacją UML grafy stanów funkcji urządzeń Modbus Standard zawiera specyfikację elementów mechanicznych (złącza, kolory kabli Standard zaleca sposób sygnalizacji transmisji diodą LED

Protokół Modbus Przykład architektury sieciowej Modbus

Protokół Modbus Stos protokołów MODBUS

Protokół Modbus układ warstw wg ISO/OSI Najpopularniejszy zestaw: Modbus + RS485 Warstwa łącza danych (MB szeregowy) dzieli się na dwie podwarstwy: Protołół Master / Slave Tryb transmisji: ASCII RTU

Protokół Modbus warstwa aplikacji Protokół typu: zapytanie odpowiedź (transakcja) Usługi serwera są dostępne jako funkcje Funkcje oferują ustawianie linii IO, zmianę rejestrów sterownika itp.. zdefiniowane jednoznaczne postaci zapytań i odpowiedzi

Protokół Modbus warstwa aplikacji Definicje Zapytań i odpowiedzi Modbus: PDU

Protokół Modbus warstwa aplikacji Serwer sygnalizuje błąd za pomocą excep_resp_pdu: mb_excep_rsp_pdu = {exception function code, exception code} Zwracany jest kod funkcji Zwracany jest numer błedu (wyjątku) Typy błędów są zdefiniowane w tabeli. Maksymalna ilość funkcji: 128 (0-127) Kody funkcji i kody błędów później :)

Protokół Modbus implementacja szeregowa Dla MB+RS485 (unicast): Serwer Slave Klient Master UWAGA: Master (klient) inicjuje transakcję i zarządza magistralą RS485 nadawanie rozsiewcze (broadcast) Bez odpowiedzi

Protokół Modbus implementacja W zależności od implementacji PDU ADU W przypadku MB+RS485: postać ADU zawiera: Maksymalna długość ADU ( dziedzictwo ):

Protokół Modbus implementacja szeregowa Zakres adresów Modbus Serial: W dalszej części: opis warstwy łącza danych. Podwarstwa protokołu Master / Slave Podwarstwa trybu transmisji ASCII / RTU Warstwę fizyczną RS485 patrz wykład IS sem.vi Standard dodatkowo definiuje mechanikę złącz Grafy opisu protokołu zgodne ze specyfikacją UML :)

Protokół Modbus warstwa łącza danych Protokół Master / Slave Protokół Master/Slave - transakcje Modbus Subwarstwa warstwy łącza danych Prezentowane transmisje unicast i broadcast

Protokół Modbus warstwa łącza danych Protokół Master / Slave Graf działania Master Response timeout - >1s @ 9600bps Turnaround timeout 100ms-200ms Frame error: błąd parzystości znaku lub błąd kontroli ramki (CRC/LRC)

Protokół Modbus warstwa łącza danych Protokół Master/Slave Graf działania Slave W przypadku błędu transmisji ramki Slave nie odpowiada W przypadku błędu Polecenia lub błędu wykonania MUSI odpowiedzieć Zmieniane są wartości liczników diagnostycznych transmisji

Protokół Modbus warstwa łącza danych tryb RTU Tryb RTU (real-time unit) obligatoryjny 8-bitowe, binarne kodowanie danych Znaki przesyłane asynchronicznie: wymagana kontrola parzystości E / dopuszczalne O/N Sprawdzanie spójności ramki: CRC16 (Cyclical Redundancy Checking 16 bits) Ramka Modbus w trybie RTU:

Protokół Modbus warstwa łącza danych tryb RTU Tryb RTU (real-time unit) obligatoryjny Ramka transmitowana w sposób ciągły ( t < 1.5 znaku) Koniec i początek ramki sygnalizowane t1-2-3-4 (t >= 3.5 znaku)

Protokół Modbus warstwa łącza danych tryb RTU Tryb RTU (real-time unit) obligatoryjny Ramki błędne: Tryb RTU wymaga pomiaru czasu idle Wartości t1/2 i t1-2-3-4 powyżej 19200bps przyjmuje się jako wartości stałe: 750us i 1.750ms

Protokół Modbus warstwa łącza danych Tryb RTU n1: N1.1 graf trybu RTU wspólny dla Master i Slave

Projektowanie i Organizacja Systemów Elektronicznych Protokół Modbus warstwa łącza danych - RTU Obliczanie CRC16 2 metody: Obliczanie CRC16 bezpośrednio Obliczenia z wykorzystaniem tablic tytuł

Protokół Modbus warstwa łącza danych Tryb RTU Obliczanie CRC16 Funkcja obliczająca CRC16 metodą tablicową

Protokół Modbus warstwa łącza danych Tryb ASCII Tryb ASCII historyczny Kodowanie hexadecymalne, za pomocą znaków ASCII 0-9, A-F Każdy znak hexadecymalny odpowiada 4 bitom / jeden bajt PDU transmisja 2 znaków ASCII Znaki przesyłane asynchronicznie: wymagana kontrola parzystości E / dopuszczalne O/N Sprawdzanie spójności ramki: LRC (Longitudal Redundancy Checking)

Protokół Modbus warstwa łącza danych Tryb ASCII Tryb ASCII Ramka w trybie ASCII: Rozpoczyna się od jawnego znaku : W polach ramki mogą występować wyłącznie 0-9, A-F Kończy się CR LF Dopuszczalne odstępy między znakami: do 1s!!! Długość ramki: do 513 znaków (pole danych 252x2) Ramki niedokończone muszą być wykrywane i odesłane

Protokół Modbus warstwa łącza danych Tryb ASCII Tryb ASCII Obliczanie LRC Obliczyć 8-bitową sumę (bez przeniesień) bajtów ramki Wynik LRC to dopełnienie do 2 obliczonej sumy Przykład funkcji obliczającej LRC

Protokół Modbus warstwa łącza danych Tryb ASCII graf trybu ASCII wspólny dla Master i Slave

Protokół Modbus warstwa fizyczna Struktura wielopunktowej magistrali szeregowej dla Modbus Trunk główny pień magistrali, terminowany na końcach Passive TAP (Derivation interface) (także distributor multi TAP) Active TAP (zintegrowany z transceiverem) Atachment Unit Interface Daisy Chain

Protokół Modbus warstwa fizyczna Struktura dla 2W RS485 Terminatory: 150ohm 0.5W lub ( 1nF min. 10V + R120ohm 0.25W) Rezystory polaryzujące 450-650 ohm, nie zawsze wymagane (musi być opis w dokumentacji urządzenia)

Protokół Modbus warstwa fizyczna Wymagany przewód Common Wymagane zachowanie nazewnictwa D0/D1 Możliwe dodatkowe linie: Wybór 2W / 4W(RS232) za pomocą PMC (port mode control sygnał TTL) Rozwarcie domyślny RS485 2W Poziom niski RS485 4W lub RS232 (zależne od implementacji) Zasilanie 5-24V DC

Protokół Modbus warstwa fizyczna Struktura dla 4W RS485 Nie jest to RS422!!!

Protokół Modbus warstwa fizyczna tytuł n1: N1.1

Protokół Modbus warstwa fizyczna n1: N1.1

Protokół Modbus warstwa fizyczna Zalecane kolory przewodów dla magistrali szeregowej dla Modbus Wymagana sygnalizacja za pomocą LED stanu transmisji:

Protokół Modbus szeregowy klasy realizacji Zdefiniowano 2 klasy implementacji Modbus interfejs szeregowy W obu klasach urządzenia muszą spełniać warunki obligatoryjne specyfikacji Urządzenie klasy regular musi być konfigurowalne

Protokół Modbus szeregowy Liczniki błędów transmisji szeregowej Modbus (dostępne z poziomu warstwy aplikacji)

Protokół Modbus Liczniki błędów transmisji szeregowej Modbus (dostępne z poziomu warstwy aplikacji)

Protokół Modbus Odbiór ramki liczniki błędów tytuł

Protokół Modbus szeregowy Odbiór ramki liczniki błędów

Protokół Modbus szeregowy Odbiór ramki liczniki błędów tytuł

Protokół Modbus szeregowy Odbiór ramki liczniki błędów tytuł

Protokół Modbus warstwa aplikacji WARSTWA APLIKACJI Protokół typu: zapytanie odpowiedź (transakcja) Usługi serwera są dostępne jako funkcje Funkcje oferują ustawianie linii IO, zmianę rejestrów sterownika itp.. zdefiniowane jednoznaczne postaci zapytań i odpowiedzi

Protokół Modbus warstwa aplikacji Serwer sygnalizuje błąd za pomocą excep_resp_pdu: mb_excep_rsp_pdu = {exception function code, exception code} Zwracany jest kod funkcji Zwracany jest numer błedu (wyjątku) Typy błędów są zdefiniowane w tabeli. Maksymalna ilość funkcji: 128 (0-127) Kody funkcji i kody błędów TERAZ :)

Protokół Modbus Modbus kody błędów (exception responses)

Protokół Modbus warstwa aplikacji Modbus kody błędów (exception responses)

Protokół Modbus tytuł Analiza kompletnego PDU

Protokół Modbus warstwa aplikacji

Protokół Modbus warstwa aplikacji tytuł

Protokół Modbus warstwa aplikacji

Protokół Modbus tytuł

Protokół Modbus warstwa aplikacji (01) READ COILS

Protokół Modbus (01) READ COILS

Protokół Modbus warstwa aplikacji (02) READ DISCRETE INPUTS

Protokół Modbus warstwa aplikacji (03) READ HOLDING REGISTERS

(03) READ HOLDING REGISTERS

Protokół Modbus warstwa aplikacji (04) READ INPUT REGISTERS

Protokół Modbus warstwa aplikacji (05) WRITE SINGLE COIL

Protokół Modbus warstwa aplikacji (06) WRITE SINGLE REGISTER

Protokół Modbus warstwa aplikacji (07) READ EXCEPTION STATUS (tylko szeregowe)

Protokół Modbus warstwa aplikacji (08) DIAGNOSTICS (tylko szeregowe)

Protokół Modbus warstwa aplikacji (08) DIAGNOSTICS (tylko szeregowe) subfunkcje

Protokół Modbus warstwa aplikacji (08) DIAGNOSTICS (tylko szeregowe) Przykład subfunkcji echo data

Protokół Modbus warstwa aplikacji (11) GET COMM EVENT COUNTER (tylko szeregowe) (12) GET COMM EVENT LOG (tylko szeregowe) (17) REPORT SLAVE ID (tylko szeregowe)

Protokół Modbus warstwa aplikacji (15) WRITE MULTIPLE COILS

Protokół Modbus warstwa aplikacji (16) WRITE MULTIPLE REGISTERS 1 do ~120 rejestrów

Protokół Modbus warstwa aplikacji (22) MASK WRITE REGISTERS

Protokół Modbus warstwa aplikacji (23) READ/WRITE MULTIPLE REGISTERS zapis wykonywany przed odczytem

Protokół Modbus warstwa aplikacji (23) READ/WRITE MULTIPLE REGISTERS zapis wykonywany przed odczytem

Protokół Modbus warstwa aplikacji (24) READ FIFO QUEUE

Protokół Modbus warstwa aplikacji (20/06) READ FILE RECORD (21/06) WRITE FILE RECORD

Protokół Modbus warstwa aplikacji (43) ENCAPSULATED INTERFACE TRANSPORT MEI modbus encapsulated interface

Protokół Modbus warstwa aplikacji (43) ENCAPSULATED INTERFACE TRANSPORT MEI modbus encapsulated interface

Protokół Modbus warstwa aplikacji (43/13) CANOPEN GENERAL REFERENCE REQUEST AND RESPONSE PDU (43/14) READ DEVICE IDENTIFICATION

Projektowanie i Organizacja Systemów Elektronicznych Protokół MODBUS Marek Niedostatkiewicz Katedra Metrologii i Systemów Elektronicznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska